1 : C FILRF SOURCE GOUNAND 05/12/21 21:22:02 5281 2 : SUBROUTINE FILRF(NMLRF,MYLRFS, 3 : $ MYLRF, 4 : $ IMPR,IRET) 5 : IMPLICIT REAL*8 (A-H,O-Z) 6 : IMPLICIT INTEGER (I-N) 7 : C*********************************************************************** 8 : C NOM : FILRF 9 : C PROJET : Noyau linéaire NLIN 10 : C DESCRIPTION : Cherche un élément de référence dans une liste 11 : C d'éléments, connaissant son nom. 12 : C 13 : C LANGAGE : ESOPE 14 : C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF) 15 : C mél : gounand@semt2.smts.cea.fr 16 : C*********************************************************************** 17 : C APPELES : - 18 : C APPELES (E/S) : OOOETA 19 : C APPELE PAR : KALPBG, FILFAL, INELCU, INELPR 20 : C*********************************************************************** 21 : C ENTREES : NMLRF, MYLRFS 22 : C ENTREES/SORTIES : - 23 : C SORTIES : MYLRF 24 : C*********************************************************************** 25 : C VERSION : v1, 22/10/99, version initiale 26 : C HISTORIQUE : v1, 22/10/99, création 27 : C HISTORIQUE : 28 : C*********************************************************************** 29 : C Prière de PRENDRE LE TEMPS de compléter les commentaires 30 : C en cas de modification de ce sous-programme afin de faciliter 31 : C la maintenance ! 32 : C*********************************************************************** 33 : -INC CCOPTIO 34 : CBEGININCLUDE SELREF 35 : SEGMENT ELREF 36 : CHARACTER*(LNNOM) NOMLRF 37 : CHARACTER*(LNFORM) FORME 38 : CHARACTER*(LNTYPL) TYPEL 39 : CHARACTER*(LNESP) ESPACE 40 : INTEGER DEGRE 41 : REAL*8 XCONOD(NDIMEL,NBNOD) 42 : INTEGER NPQUAF(NBDDL) 43 : INTEGER NUMCMP(NBDDL) 44 : INTEGER QUENOD(NBDDL) 45 : INTEGER ORDDER(NDIMEL,NBDDL) 46 : POINTEUR MBPOLY.POLYNS 47 : ENDSEGMENT 48 : SEGMENT ELREFS 49 : POINTEUR LISEL(0).ELREF 50 : ENDSEGMENT 51 : CENDINCLUDE SELREF 52 : POINTEUR MYLRFS.ELREFS 53 : POINTEUR ELCOUR.ELREF 54 : POINTEUR MYLRF.ELREF 55 : * 56 : INTEGER IMPR,IRET 57 : * 58 : CHARACTER*(*) NMLRF 59 : INTEGER LNMLRF 60 : INTEGER MPSETA 61 : INTEGER ILRFS,NLRFS 62 : LOGICAL LFOUND 63 : * 64 : * Executable statements 65 : * 66 : IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans filrf' 67 : LFOUND=.FALSE. 68 : LNMLRF=LEN(NMLRF) 68 : CALL OOOETA(MYLRFS,MPSETA) 69 : IF (MPSETA.NE.1) SEGACT MYLRFS 70 : NLRFS=MYLRFS.LISEL(/1) 71 : ILRFS=0 72 : 1 CONTINUE 73 : ILRFS=ILRFS+1 74 : ELCOUR=MYLRFS.LISEL(ILRFS) 75 : SEGACT ELCOUR 76 : IF (LEN(ELCOUR.NOMLRF).EQ.LNMLRF) THEN 77 : IF (ELCOUR.NOMLRF.EQ.NMLRF) THEN 78 : LFOUND=.TRUE. 79 : ENDIF 80 : ENDIF 81 : SEGDES ELCOUR 82 : IF (.NOT.LFOUND.AND.ILRFS.LT.NLRFS) GOTO 1 83 : IF (LFOUND) THEN 84 : MYLRF=ELCOUR 85 : ELSE 86 : WRITE(IOIMP,*) 'On n''a pas trouvé ',NMLRF, 87 : $ 'dans les éléments finis' 88 : GOTO 9999 89 : ENDIF 90 : IF (MPSETA.NE.1) SEGDES MYLRFS 91 : * 92 : * Normal termination 93 : * 94 : IRET=0 95 : RETURN 96 : * 97 : * Format handling 98 : * 99 : * 100 : * Error handling 101 : * 102 : 9999 CONTINUE 103 : IRET=1 104 : WRITE(IOIMP,*) 'An error was detected in subroutine filrf' 105 : RETURN 106 : * 107 : * End of subroutine filrf 108 : * 109 : END 110 : 111 : 112 :
© Cast3M 2003 - All rights reserved.
Disclaimer