1 : C INLRFS SOURCE GOUNAND 05/12/21 21:33:09 5281 2 : SUBROUTINE INLRFS(MYLRFS,IMPR,IRET) 3 : IMPLICIT REAL*8 (A-H,O-Z) 4 : IMPLICIT INTEGER (I-N) 5 : C*********************************************************************** 6 : C NOM : INLRFS 7 : C PROJET : Noyau linéaire NLIN 8 : C DESCRIPTION : Initialise le segment contenant les informations sur 9 : C l'ensemble des é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 : INELSE, INELTR, INELQU, INELTE, INELPR, INELCU 16 : C APPELES (E/S) : PRLRF 17 : C APPELE PAR : KALPBG 18 : C*********************************************************************** 19 : C ENTREES : - 20 : C SORTIES : MYLRFS 21 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé 22 : C*********************************************************************** 23 : C VERSION : v1, 20/07/99, version initiale 24 : C HISTORIQUE : v1, 20/07/99, création 25 : C HISTORIQUE : v2, 19/10/99, remaniement (chgt du segment ELREFS) 26 : C HISTORIQUE : 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 : * 55 : INTEGER IMPR,IRET 56 : * 57 : INTEGER INBDEL,NBDEL 58 : * 59 : * Executable statements 60 : * 61 : IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans inlrfs' 62 : * 63 : * Initialisation du segment contenant tous les éléments de référence 64 : * L'ordre dans lequel ils ont initialisés à une importance car certains 65 : * éléments sont générés à partir d'autres (ex: prisme = triangle * 66 : * segment) 67 : * 68 : SEGINI MYLRFS 69 : * 70 : * On initialise les éléments de référence de dimension 1 (segments) 71 : * 71 : CALL INELSE(MYLRFS,IMPR,IRET) 72 : IF (IRET.NE.0) GOTO 9999 73 : * 74 : * On initialise les éléments de référence de dimension 2 75 : * de forme géométrique triangulaire. 76 : * 76 : CALL INELTR(MYLRFS,IMPR,IRET) 77 : IF (IRET.NE.0) GOTO 9999 78 : * 79 : * On initialise les éléments de référence de dimension 2 80 : * de forme géométrique carrée. 81 : * 81 : CALL INELQU(MYLRFS,IMPR,IRET) 82 : IF (IRET.NE.0) GOTO 9999 83 : * 84 : * On initialise les éléments de référence de dimension 3 85 : * de forme géométrique tétraèdrique. 86 : * 86 : CALL INELTE(MYLRFS,IMPR,IRET) 87 : IF (IRET.NE.0) GOTO 9999 88 : * 89 : * On initialise les éléments de référence de dimension 3 90 : * de forme géométrique pyramidale. 91 : * 91 : CALL INELPY(MYLRFS,IMPR,IRET) 92 : IF (IRET.NE.0) GOTO 9999 93 : * 94 : * On initialise les éléments de référence de dimension 3 95 : * de forme géométrique prismatique à base triangle. 96 : * 96 : CALL INELPR(MYLRFS,IMPR,IRET) 97 : IF (IRET.NE.0) GOTO 9999 98 : * 99 : * On initialise les éléments de référence de dimension 3 100 : * de forme géométrique cubique. 101 : * 101 : CALL INELCU(MYLRFS,IMPR,IRET) 102 : IF (IRET.NE.0) GOTO 9999 103 : * 104 : * Impression finale 105 : * 106 : NBDEL=MYLRFS.LISEL(/1) 107 : IF (IMPR.GT.1) THEN 108 : *! WRITE(IOIMP,*) 'Nom, Forme, Continuité, degré, nb.ddl' 109 : SEGPRT,MYLRFS 110 : DO 3 INBDEL=1,NBDEL 111 : WRITE(IOIMP,*) 'Elément de référence ',INBDEL 112 : ELCOUR=MYLRFS.LISEL(INBDEL) 112 : CALL PRLRF(ELCOUR,IMPR,IRET) 113 : IF (IRET.NE.0) GOTO 9999 114 : 3 CONTINUE 115 : ENDIF 116 : SEGDES MYLRFS 117 : * 118 : * Normal termination 119 : * 120 : IRET=0 121 : RETURN 122 : * 123 : * Format handling 124 : * 125 : * 126 : * Error handling 127 : * 128 : 9999 CONTINUE 129 : IRET=1 130 : WRITE(IOIMP,*) 'An error was detected in subroutine inlrfs' 131 : RETURN 132 : * 133 : * End of subroutine INLRFS 134 : * 135 : END 136 : 137 : 138 :
© Cast3M 2003 - All rights reserved.
Disclaimer