dfnfr1
C DFNFR1 SOURCE GOUNAND 21/06/02 21:15:48 11022 $ NPJMI, $ DFFPG,JMIJAC, $ JDFFPG, $ IMPR,IRET) IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : DFNFR1 C DESCRIPTION : C C C C LANGAGE : Fortran 77 (sauf E/S) C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C APPELES : - C APPELE PAR : DFNFR C*********************************************************************** C ENTREES : * NDDL (type entier) : nombre de ddl (par C élément) de la transformation géométrique. C * IESREF (type entier) : dimension de l'espace de C référence. C * IESREL (type entier) : dimension de l'espace C réel (i.e. géométrique). C * NDPOGO (type entier) : nombre de points C d'intégration. C * NBELEM (type entier) : nombre d'éléments du C maillage élémentaire courant. C * DFFPG (type réel) : valeurs des dérivées C premières des fonctions d'interpolation aux C points de gauss sur l'élément de référence. C * JMIJAC (type réel) : valeurs de l'inverse de C la matrice jacobienne aux points de Gauss sur C le maillage élémentaire. C ENTREES/SORTIES : * JDFFPG (type réel) : valeurs des dérivées C premières des fonctions d'interpolation C aux points de gauss sur l'élément réel. C SORTIES : - C*********************************************************************** C VERSION : v2, 25/09/03, refonte complète (modif SMTNLIN) C VERSION : v1, 19/05/00, version initiale C HISTORIQUE : v1, 19/05/00, 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 INTEGER NDDL,IESREF,IESREL,NDPOGO,NBELEM REAL*8 DFFPG (NDDL,IESREF,NPFF) REAL*8 JMIJAC(IESREF,IESREL,NPJMI,NBELEM) REAL*8 JDFFPG(NDDL,IESREL,NDPOGO,NBELEM) * INTEGER IMPR,IRET * INTEGER IDDL,ISREF,ISREL,IPOGO,IELEM REAL*8 INVJAC * * Executable statements * IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans dfnfr1' DO 1 IELEM=1,NBELEM DO 12 IPOGO=1,NDPOGO IF (NPFF.EQ.1) THEN IPFF=1 ELSE IPFF=IPOGO ENDIF IF (NPJMI.EQ.1) THEN IPJMI=1 ELSE IPJMI=IPOGO ENDIF DO 122 ISREL=1,IESREL DO 1222 ISREF=1,IESREF INVJAC=JMIJAC(ISREF,ISREL,IPJMI,IELEM) DO 12222 IDDL=1,NDDL * JDFFPG(IDDL,ISREL,IPOGO,IELEM)= * $ JDFFPG(IDDL,ISREL,IPOGO,IELEM)+ * $ (DFFPG(IDDL,ISREF,IPOGO) * $ *JMIJAC(ISREF,ISREL,IPOGO,IELEM) JDFFPG(IDDL,ISREL,IPOGO,IELEM)= $ JDFFPG(IDDL,ISREL,IPOGO,IELEM)+ $ (DFFPG(IDDL,ISREF,IPFF) $ *INVJAC) 12222 CONTINUE 1222 CONTINUE 122 CONTINUE 12 CONTINUE 1 CONTINUE * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine dfnfr1' RETURN * * End of subroutine DFNFR1 * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales