inqrcu
C INQRCU SOURCE GOUNAND 21/06/02 21:16:55 11022 IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : INQRCU C PROJET : Noyau linéaire NLIN C DESCRIPTION : C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C APPELES : C APPELE PAR : C*********************************************************************** C ENTREES : - C ENTREES/SORTIES : C SORTIES : - C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 24/07/03, version initiale C HISTORIQUE : v1, 24/07/03, création C HISTORIQUE : C HISTORIQUE : C*********************************************************************** C Prière de PRENDRE LE TEMPS de compléter les commentaires C en cas de modification de ce sous-programme afin de faciliter C la maintenance ! C*********************************************************************** -INC PPARAM -INC CCOPTIO -INC CCGEOME -INC TNLIN *-INC SIQUAF POINTEUR MYQRFS.IQUAFS POINTEUR QRCOUR.IQUAF INTEGER NDIMQR,NBNOQR -INC SMELEME POINTEUR MYMEL.MELEME POINTEUR SOUMEL.MELEME INTEGER NBNN,NBELEM,NBSOUS,NBREF -INC SMLENTI POINTEUR INOD.MLENTI -INC SMLREEL POINTEUR KVAL.MLREEL * INTEGER IMPR,IRET * * INTEGER NUMER * * Executable statements * IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans inqrcu' * * Elément QUAF QUA9 * NDIMQR=3 NBNOQR=27 SEGINI QRCOUR * Numéro de l'élément géométrique dans NOMS * NOMS(1:NOMBR) sont les noms des types d'éléments géométriques, * cf. include CCGEOME $ NUMER, $ IMPR,IRET) IF (IRET.NE.0) GOTO 9999 QRCOUR.NUMQUF=NUMER * * Coordonnées des noeuds du QUAF de référence * JG=27 SEGINI INOD INOD.LECT( 1)=1 INOD.LECT( 2)=2 INOD.LECT( 3)=3 INOD.LECT( 4)=8 INOD.LECT( 5)=25 INOD.LECT( 6)=4 INOD.LECT( 7)=7 INOD.LECT( 8)=6 INOD.LECT( 9)=5 INOD.LECT(10)=9 INOD.LECT(11)=21 INOD.LECT(12)=10 INOD.LECT(13)=24 INOD.LECT(14)=27 INOD.LECT(15)=22 INOD.LECT(16)=12 INOD.LECT(17)=23 INOD.LECT(18)=11 INOD.LECT(19)=13 INOD.LECT(20)=14 INOD.LECT(21)=15 INOD.LECT(22)=20 INOD.LECT(23)=26 INOD.LECT(24)=16 INOD.LECT(25)=19 INOD.LECT(26)=18 INOD.LECT(27)=17 JG=3 SEGINI KVAL ICPT=0 DO IZ=1,3 DO IY=1,3 DO IX=1,3 ICPT=ICPT+1 JNOD=INOD.LECT(ICPT) ENDDO ENDDO ENDDO SEGSUP KVAL SEGSUP INOD * * Numero du centre * QRCOUR.NUCENT=27 * * Faces du CU27 : 6 QUA9 * * Chapeau NBNN=0 NBELEM=0 NBSOUS=1 NBREF=0 SEGINI MYMEL * Faces QUA9 NBNN=9 NBELEM=6 NBSOUS=0 NBREF=0 SEGINI SOUMEL $ NUMER, $ IMPR,IRET) IF (IRET.NE.0) GOTO 9999 SOUMEL.ITYPEL=NUMER * Face 1 SOUMEL.NUM(1,1)=1 SOUMEL.NUM(2,1)=2 SOUMEL.NUM(3,1)=3 SOUMEL.NUM(4,1)=4 SOUMEL.NUM(5,1)=5 SOUMEL.NUM(6,1)=6 SOUMEL.NUM(7,1)=7 SOUMEL.NUM(8,1)=8 SOUMEL.NUM(9,1)=25 * Face 2 SOUMEL.NUM(1,2)=13 SOUMEL.NUM(2,2)=14 SOUMEL.NUM(3,2)=15 SOUMEL.NUM(4,2)=16 SOUMEL.NUM(5,2)=17 SOUMEL.NUM(6,2)=18 SOUMEL.NUM(7,2)=19 SOUMEL.NUM(8,2)=20 SOUMEL.NUM(9,2)=26 * Face 3 SOUMEL.NUM(1,3)=3 SOUMEL.NUM(2,3)=4 SOUMEL.NUM(3,3)=5 SOUMEL.NUM(4,3)=11 SOUMEL.NUM(5,3)=17 SOUMEL.NUM(6,3)=16 SOUMEL.NUM(7,3)=15 SOUMEL.NUM(8,3)=10 SOUMEL.NUM(9,3)=22 * Face 4 SOUMEL.NUM(1,4)=1 SOUMEL.NUM(2,4)=8 SOUMEL.NUM(3,4)=7 SOUMEL.NUM(4,4)=12 SOUMEL.NUM(5,4)=19 SOUMEL.NUM(6,4)=20 SOUMEL.NUM(7,4)=13 SOUMEL.NUM(8,4)=9 SOUMEL.NUM(9,4)=24 * Face 5 SOUMEL.NUM(1,5)=1 SOUMEL.NUM(2,5)=2 SOUMEL.NUM(3,5)=3 SOUMEL.NUM(4,5)=10 SOUMEL.NUM(5,5)=15 SOUMEL.NUM(6,5)=14 SOUMEL.NUM(7,5)=13 SOUMEL.NUM(8,5)=9 SOUMEL.NUM(9,5)=21 * Face 6 SOUMEL.NUM(1,6)=7 SOUMEL.NUM(2,6)=6 SOUMEL.NUM(3,6)=5 SOUMEL.NUM(4,6)=11 SOUMEL.NUM(5,6)=17 SOUMEL.NUM(6,6)=18 SOUMEL.NUM(7,6)=19 SOUMEL.NUM(8,6)=12 SOUMEL.NUM(9,6)=23 SEGDES SOUMEL MYMEL.LISOUS(1)=SOUMEL SEGDES MYMEL QRCOUR.LFACE=MYMEL SEGDES QRCOUR MYQRFS.LISQRF(**)=QRCOUR * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine inqrcu' RETURN * * End of subroutine INQRCU * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales