1 : C FILFAL SOURCE CHAT 07/10/29 21:19:44 5940 2 : SUBROUTINE FILFAL(FAL,MYLRFS,CQUAF,CEF,IMPR,IRET) 3 : IMPLICIT REAL*8 (A-H,O-Z) 4 : IMPLICIT INTEGER (I-N) 5 : C*********************************************************************** 6 : C NOM : FILFAL 7 : C PROJET : Noyau linéaire NLIN 8 : C DESCRIPTION : Remplit l'indice d'un segment décrivant une famille 9 : C d'éléments de référence. 10 : C 11 : C LANGAGE : ESOPE 12 : C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF) 13 : C mél : gounand@semt2.smts.cea.fr 14 : C*********************************************************************** 15 : C APPELES : FICH4, FILRF (recherche dans une liste) 16 : C APPELE PAR : INFALS 17 : C*********************************************************************** 18 : C ENTREES : * MYLRFS (type ELREFS) : segment de description 19 : C des éléments de références. 20 : C * CQUAF (type CH*(*)) :nom d'un élément QUAF. 21 : C * CEF (type CH*(*)) :nom d'un élément fini 22 : C (cf. NOMLRF dans SELREF.INC) 23 : C ENTREES/SORTIES : * FAL (type FALRF) : famille courante. 24 : C SORTIES : - 25 : C TRAVAIL : * MYLRF (type ELREF) : élément fini courant. 26 : C * NUMER (type ENTIER) : numéro correspondant à 27 : C CQUAF dans le tableau NOMS (cf. include 28 : C CCOPTIO) 29 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé 30 : C*********************************************************************** 31 : C VERSION : v1, 24/03/00, version initiale 32 : C HISTORIQUE : v1, 24/03/00, création 33 : C HISTORIQUE : 34 : C HISTORIQUE : 35 : C*********************************************************************** 36 : C Prière de PRENDRE LE TEMPS de compléter les commentaires 37 : C en cas de modification de ce sous-programme afin de faciliter 38 : C la maintenance ! 39 : C*********************************************************************** 40 : -INC CCOPTIO 41 : -INC CCGEOME 42 : CBEGININCLUDE SELREF 43 : SEGMENT ELREF 44 : CHARACTER*(LNNOM) NOMLRF 45 : CHARACTER*(LNFORM) FORME 46 : CHARACTER*(LNTYPL) TYPEL 47 : CHARACTER*(LNESP) ESPACE 48 : INTEGER DEGRE 49 : REAL*8 XCONOD(NDIMEL,NBNOD) 50 : INTEGER NPQUAF(NBDDL) 51 : INTEGER NUMCMP(NBDDL) 52 : INTEGER QUENOD(NBDDL) 53 : INTEGER ORDDER(NDIMEL,NBDDL) 54 : POINTEUR MBPOLY.POLYNS 55 : ENDSEGMENT 56 : SEGMENT ELREFS 57 : POINTEUR LISEL(0).ELREF 58 : ENDSEGMENT 59 : CENDINCLUDE SELREF 60 : POINTEUR MYLRFS.ELREFS 61 : POINTEUR MYLRF.ELREF 62 : CBEGININCLUDE SFALRF 63 : SEGMENT FALRF 64 : CHARACTER*(LNNFA) NOMFA 65 : INTEGER NUQUAF(NBLRF) 66 : POINTEUR ELEMF(NBLRF).ELREF 67 : ENDSEGMENT 68 : SEGMENT FALRFS 69 : POINTEUR LISFA(0).FALRF 70 : ENDSEGMENT 71 : CENDINCLUDE SFALRF 72 : INTEGER LNNFA,NBLRF 73 : POINTEUR FAL.FALRF 74 : * 75 : CHARACTER*(*) CQUAF,CEF 76 : * 77 : INTEGER IMPR,IRET 78 : * 79 : INTEGER NUMER 80 : * 81 : * Executable statements 82 : * 83 : IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans filfal' 84 : * On ajuste la dimension du segment pour rajouter une paire 85 : * d'éléments 86 : LNNFA=FAL.NOMFA(/1) 87 : NBLRF=FAL.NUQUAF(/1)+1 88 : SEGADJ,FAL 89 : * Numéro de l'élément géométrique dans NOMS 90 : * NOMS(1:NOMBR) sont les noms des types d'éléments géométriques, 91 : * cf. include CCGEOME 91 : CALL FICH4(CQUAF,NOMS,NOMBR, 92 : $ NUMER, 93 : $ IMPR,IRET) 94 : IF (IRET.NE.0) GOTO 9999 95 : FAL.NUQUAF(NBLRF)=NUMER 96 : * Numéro de l'élément fini dans le segment ELREFS 96 : CALL FILRF(CEF,MYLRFS, 97 : $ MYLRF, 98 : $ IMPR,IRET) 99 : IF (IRET.NE.0) GOTO 9999 100 : FAL.ELEMF(NBLRF)=MYLRF 101 : * 102 : * Normal termination 103 : * 104 : IRET=0 105 : RETURN 106 : * 107 : * Format handling 108 : * 109 : * 110 : * Error handling 111 : * 112 : 9999 CONTINUE 113 : IRET=1 114 : WRITE(IOIMP,*) 'An error was detected in subroutine filfal' 115 : RETURN 116 : * 117 : * End of subroutine filfal 118 : * 119 : END 120 : 121 : 122 :
© Cast3M 2003 - All rights reserved.
Disclaimer