cogaf1
C COGAF1 SOURCE GOUNAND 21/06/02 21:15:27 11022 $ NLVCOF,NLFVFF,NLFCOG, $ JCOEFF,FFPG,SSFACT, $ JCOEFG, $ IMPR,IRET) IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : COGAF1 C PROJET : Noyau linéaire NLIN C DESCRIPTION : 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 : COGAUF C*********************************************************************** C ENTREES : C ENTREES/SORTIES : C SORTIES : - C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v2, 03/10/03, refonte complète (modif SMTNLIN) C VERSION : v1, 17/01/03, version initiale C HISTORIQUE : v1, 17/01/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 INTEGER NDDL,NBPOGO,NBELEV,NBELFV,NBELEF REAL*8 JCOEFF (NDDL,NLVCOF) REAL*8 FFPG (NDDL,NBPOGO,NLFVFF) LOGICAL SSFACT(NBELFV,NBELEV) REAL*8 JCOEFG(NBPOGO,NLFCOG) * INTEGER IMPR,IRET INTEGER IBPOGO,IDDL,IBELEV,IBELEF,IBELFV * * Executable statements * IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans cogaf1' IF (NLFCOG.EQ.1) THEN IF (NLVCOF.NE.1.OR.NLFVFF.NE.1) THEN WRITE(IOIMP,*) 'Erreur grave 1' GOTO 9999 ENDIF DO IBPOGO=1,NBPOGO DO IDDL=1,NDDL JCOEFG(IBPOGO,1)=JCOEFG(IBPOGO,1)+ $ ( FFPG(IDDL,IBPOGO,1) $ *JCOEFF(IDDL,1)) ENDDO ENDDO ELSEIF (NLFCOG.EQ.NBELEF) THEN IBELEF=0 DO IBELEV=1,NBELEV DO IBELFV=1,NBELFV IF (SSFACT(IBELFV,IBELEV)) THEN IF (NLVCOF.EQ.1) THEN ILVCOF=1 ELSE ILVCOF=IBELEV ENDIF IF (NLFVFF.EQ.1) THEN ILFVFF=1 ELSE ILFVFF=IBELFV ENDIF IBELEF=IBELEF+1 DO IBPOGO=1,NBPOGO DO IDDL=1,NDDL JCOEFG(IBPOGO,IBELEF)= $ JCOEFG(IBPOGO,IBELEF) $ + (JCOEFF(IDDL,ILVCOF) $ *FFPG(IDDL,IBPOGO,ILFVFF)) ENDDO ENDDO ENDIF ENDDO ENDDO ELSE WRITE(IOIMP,*) 'Erreur grave 2' GOTO 9999 ENDIF * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine cogaf1' RETURN * * End of subroutine COGAF1 * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales