Numérotation des lignes :

fecrdi
C FECRDI    SOURCE    STRU      08/12/22    21:15:20     6246c     Sous-Programme du module MISTRAL0C     --------------------------------------------------------------------------      SUBROUTINE FECRDI (TT,EPS,PSI, ID, PECDI, SR,DSRDTT,DSRDEP,DSRPSI)C     --------------------------------------------------------------------------C     Calcul de SR, contrainte seuil ou de reference ou pente d'ecrouissage,C     de la forme generale suivante :CC        SR =   R0  +   R1(TT)*(EPS+EPS0)**N1(TT)*exp(-G1*EPS)C                   +   R2(TT)*(EPS+EPS0)**N2(TT)*(1-exp(-G2*EPS))C        + RP(PSI,TT) * RI(TT)*(EPS+EPS0)**NI(TT)*exp(-GI*EPS)CC     et de ses derivees partielles DSRDTT, DSRDEP et DSRPSI si ID = 1,C     en fonction :C     - de la temperature TT,C     - d'une deformation EPS positive ou nulle,C     - de la variable de durcissement du a l'irradiation PSI,C     et des parametres transmis dans PECDI.C     --------------------------------------------------------------------------      IMPLICIT INTEGER (I-N)      IMPLICIT REAL*8 (A-H, O-Z)      PARAMETER ( NPTTM = 5 , NPPSIM = 6 )      DIMENSION PECDI(1:*)c     (NPEDIM = 13+6*NPTTM+NPPSIM)      DIMENSION PTT(1:NPTTM),PPSI(1:NPPSIM)C     ------------------------------------------------------------------C     Initialisation, R0C      NP = 1      SR = PECDI(NP+1)      EPS0 = PECDI(NP+2)      EPE0 = EPS+EPS0      IF (ID.EQ.1) THEN       DSRDTT = 0.D0       DSRDEP = 0.D0       DSRPSI = 0.D0      END IFC     ------------------------------------------------------------------C     Ajout du terme R1(TT)*(EPS+EPS0)**N1(TT)*exp(-G1*EPS)C      NP = NP+3      KR1 = NINT(PECDI(NP+1))      IF (KR1.EQ.0) THEN       NP = NP+1      ELSE         IF (KR1.EQ.-1) THEN        NP = NP+2        R1 = PECDI(NP)        R1P = 0.D0       ELSE IF (KR1.GT.0) THEN        NPTT = NINT(PECDI(NP))        DO IP = 1,NPTT         PTT(IP) = PECDI(NP+IP)        END DO        NP = NP+NPTT        CALL FTEMP (TT, ID, PTT, R1,R1P)       END IF       NP = NP+1       KN1 = NINT(PECDI(NP+1))       IF (KN1.EQ.0) THEN        NP = NP+2        G1 = PECDI(NP)        SR1 = R1*EXP(-G1*EPS)       ELSE          IF (KN1.EQ.-1) THEN         NP = NP+2         EN1 = PECDI(NP)        ELSE IF (KN1.GT.0) THEN         NPTT = NINT(PECDI(NP))         DO IP = 1,NPTT          PTT(IP) = PECDI(NP+IP)         END DO         NP = NP+NPTT         CALL FTEMP (TT, ID, PTT, EN1,EN1P)        END IF        NP = NP+1        G1 = PECDI(NP)        SR1 = R1*EPE0**EN1*EXP(-G1*EPS)       END IF       SR = SR+SR1       IF (ID.EQ.1) THEN        IF (KN1.EQ.0) THEN         DSRDTT = R1P*EXP(-G1*EPS)         DSRDEP = -G1*SR1        ELSE         EPE0N1 = EPE0**EN1         EMGIE = EXP(-G1*EPS)           IF (KN1.EQ.-1) THEN          DSRDTT = R1P*EPE0N1*EMGIE         ELSE IF (KN1.GT.0) THEN          DSRDTT = (R1P+R1*LOG(EPE0)*EN1P)*EPE0N1*EMGIE         END IF         DSRDEP = R1*EPE0N1*(EN1/EPE0-G1)*EMGIE        END IF       END IF      END IFC     ------------------------------------------------------------------C     Ajout du terme R2(TT)*(EPS+EPS0)**N2(TT)*(1-exp(-G2*EPS))C      NP = NP+1      KR2 = NINT(PECDI(NP+1))      IF (KR2.EQ.0) THEN       NP = NP+1      ELSE         IF (KR2.EQ.-1) THEN        NP = NP+2        R2 = PECDI(NP)        R2P = 0.D0       ELSE IF (KR2.GT.0) THEN        NPTT = NINT(PECDI(NP))        DO IP = 1,NPTT         PTT(IP) = PECDI(NP+IP)        END DO        NP = NP+NPTT        CALL FTEMP (TT, ID, PTT, R2,R2P)       END IF       NP = NP+1       KN2 = NINT(PECDI(NP+1))       IF (KN2.EQ.0) THEN        NP = NP+2        G2 = PECDI(NP)        SR2 = R2*(1.-EXP(-G2*EPS))       ELSE          IF (KN2.EQ.-1) THEN         NP = NP+2         EN2 = PECDI(NP)        ELSE IF (KN2.GT.0) THEN         NPTT = NINT(PECDI(NP))         DO IP = 1,NPTT          PTT(IP) = PECDI(NP+IP)         END DO         NP = NP+NPTT         CALL FTEMP (TT, ID, PTT, EN2,EN2P)        END IF        NP = NP+1        G2 = PECDI(NP)        SR2 = R2*EPE0**EN2*(1.-EXP(-G2*EPS))       END IF       SR = SR+SR2       IF (ID.EQ.1) THEN        EMGIE = EXP(-G2*EPS)        IF (KN2.EQ.0) THEN         DSRDTT = DSRDTT+R2P*(1.-EMGIE)         DSRDEP = DSRDEP+R2*G2*EMGIE        ELSE         EPE0N2 = EPE0**EN2           IF (KN2.EQ.-1) THEN          DSRDTT = DSRDTT+R2P*EPE0N2*(1.-EMGIE)         ELSE IF (KN2.GT.0) THEN          DSRDTT = DSRDTT+(R2P+R2*LOG(EPE0)*EN2P)*EPE0N2*(1.-EMGIE)         END IF         DSRDEP = DSRDEP+R2*EPE0N2*(EN2/EPE0*(1.-EMGIE)+G2*EMGIE)        END IF       END IF      END IFC     ------------------------------------------------------------------C     Ajout du terme RP(PSI,TT)*RI(TT)*(EPS+EPS0)**NI(TT)*exp(-GI*EPS)C      NP = NP+1      KRP = NINT(PECDI(NP+1))      IF (KRP.EQ.0) RETURN      NPPSI = NINT(PECDI(NP))      DO IP = 1,NPPSI       PPSI(IP) = PECDI(NP+IP)      END DO      CALL FVDI (PSI,TT, ID, PPSI, RP,DRPDP,DRPDTT)      NP = NP+NPPSI+1      KRI = NINT(PECDI(NP+1))      IF (KRI.EQ.0) RETURN      IF (KRI.EQ.-1) THEN       NP = NP+2       RI = PECDI(NP)       RIP = 0.D0      ELSE IF (KRI.GT.0) THEN       NPTT = NINT(PECDI(NP))       DO IP = 1,NPTT        PTT(IP) = PECDI(NP+IP)       END DO       NP = NP+NPTT       CALL FTEMP (TT, ID, PTT, RI,RIP)      END IF      NP = NP+1      KNI = NINT(PECDI(NP+1))      IF (KNI.EQ.0) THEN       NP = NP+2       GI = PECDI(NP)       SRI = RP*RI*EXP(-GI*EPS)      ELSE         IF (KNI.EQ.-1) THEN        NP = NP+2        ENI = PECDI(NP)       ELSE IF (KNI.GT.0) THEN        NPTT = NINT(PECDI(NP))        DO IP = 1,NPTT         PTT(IP) = PECDI(NP+IP)        END DO        NP = NP+NPTT        CALL FTEMP (TT, ID, PTT, ENI,ENIP)       END IF       NP = NP+1       GI = PECDI(NP)       SRI = RP*RI*EPE0**ENI*EXP(-GI*EPS)      END IF      SR = SR+SRI      IF (ID.EQ.1) THEN       EMGIE = EXP(-GI*EPS)       IF (KNI.EQ.0) THEN        DSRDTT = DSRDTT+(DRPDTT*RI+RP*RIP)*EMGIE        DSRDEP = DSRDEP-GI*SRI        DSRPSI = DRPDP*RI*EMGIE       ELSE        EPE0NI = EPE0**ENI          IF (KNI.EQ.-1) THEN         DSRDTT = DSRDTT+(DRPDTT*RI+RP*RIP)*EPE0NI*EMGIE        ELSE IF (KNI.GT.0) THEN         DSRDTT = DSRDTT     &          +(DRPDTT*RI+RP*(RIP+RI*LOG(EPE0)*ENIP))*EPE0NI*EMGIE        END IF        DSRDEP = DSRDEP+RP*RI*EPE0NI*(ENI/EPE0-GI)*EMGIE        DSRPSI = DRPDP*RI*EPE0NI*EMGIE       END IF      END IFC     ------------------------------------------------------------------        RETURN      END  

© Cast3M 2003 - Tous droits réservés.
Mentions légales