elfgr0
C ELFGR0 SOURCE CHAT 05/01/12 23:31:56 5004 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) ************************************************************************ * * E L F G R 0 * ----------- * * FONCTION: * --------- * * TRANSFORMER LES FONCTIONS DE GREEN ET DERIVEES EN INTEGRALES SUR * LES PAS DE TEMPS DE CALCUL. * * MODULES UTILISES: * ----------------- * -INC PPARAM -INC CCOPTIO -INC SMEVOLL -INC SMLREEL * * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) * ----------- * * KGREEN (E) OBJET "EVOLUTION" CONTENANT LES FONCTIONS DE GREEN. * DELTAT (E) PAS DE TEMPS DU CALCUL. * NPAS (E) NOMBRE DE PAS DE CALCUL. * KGREE2 (S) OBJET "EVOLUTION" CONTENANT LES INTEGRALES DES * FONCTIONS DE GREEN. * REAL*8 DELTAT * * VARIABLES: * ---------- * CHARACTER*72 ITEX LOGICAL TRACTI,TORSIO * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 29 MARS 1988 * * LANGAGE: * -------- * * ESOPE + FORTRAN77 * ************************************************************************ * MEVOL1 = KGREEN SEGACT MEVOL1 * IL MANQUE DES FONCTIONS DE GREEN SEGDES MEVOL1 RETURN END IF * ITEX = MEVOL1.IEVTEX IND = INDEX(ITEX,'VERSION') IF (IND .NE. 0) THEN READ (ITEX(IND+7:IND+7),'(I1)') IVERS END IF * IF (IND.EQ.0 .OR. IVERS.EQ.1) THEN KGREE2 = KGREEN * INUTILE DE DESACTIVER: CA VA RESSERVIR BIENTOT. RETURN END IF * * ON DEPASSE LE TEMPS MINIMUM NECESSAIRE POUR PALIER A * DES ERREURS D'ARRONDI SUR DES CUMULS DE PAS DE TEMPS TMAX = (NPAS + 1) * DELTAT * * CALCUL DES FONCTIONS INTEGRALES: TINI = 0.D0 IF (IERR .NE. 0) RETURN * MEVOLL = KGREE2 SEGACT,MEVOLL,MEVOL1 * * * BOUCLAGE SUR LES DIFFERENTS TYPES DE POUTRES: * DO 280 J=1,28 TORSIO = J.EQ.3.OR.J.EQ.4.OR.J.EQ.17.OR.J.EQ.18 * KEVOLL = IEVOLL(NB*28+J) SEGACT KEVOLL * * ITEX = KEVTEX READ (ITEX(24:35),FMT='(1PE12.5)') CT READ (ITEX(43:54),FMT='(1PE12.5)') RT CSR = CT / RT CSR1 = - CSR MLREEL = IPROGY SEGACT MLREEL * IF ((J/2)*2 .NE. J) THEN * INTEGRALE DE "G" IF (IIMPI .EQ. 1806) THEN WRITE (IOIMP,*) 'INTEGRALE DE G' END IF END IF ELSE * INTEGRALE DE "DG/DX" IF (IIMPI .EQ. 1806) THEN WRITE (IOIMP,*) 'INTEGRALE DE DG/DX' END IF END IF END IF * SEGDES,MLREEL * ELSE * FLEXION * *+* READ (ITEX(43:54),FMT='(1PE12.5)') RFZ * * EN FLEXION, LA VERSION 2 N'EXISTE PAS ENCORE. LES * INTEGRALES CALCULEES SONT BIDON ET LES BONNES SONT DANS * LE "KEVOLL" ORIGINEL: * KEVOL1 = MEVOL1.IEVOLL(NB*28+J) SEGACT,KEVOL1 MLREE1 = KEVOL1.IPROGY SEGINI,MLREEL=MLREE1 IPROGY = MLREEL SEGDES,MLREEL SEGDES,KEVOL1 * END IF * SEGDES,KEVOLL * 280 CONTINUE * END DO * 200 CONTINUE * END DO * SEGDES,MEVOLL,MEVOL1 * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales