1 : C FECRDI SOURCE STRU 08/12/22 21:15:20 6246 2 : c Sous-Programme du module MISTRAL0 3 : C -------------------------------------------------------------------------- 4 : SUBROUTINE FECRDI (TT,EPS,PSI, ID, PECDI, SR,DSRDTT,DSRDEP,DSRPSI) 5 : C -------------------------------------------------------------------------- 6 : C Calcul de SR, contrainte seuil ou de reference ou pente d'ecrouissage, 7 : C de la forme generale suivante : 8 : C 9 : C SR = R0 + R1(TT)*(EPS+EPS0)**N1(TT)*exp(-G1*EPS) 10 : C + R2(TT)*(EPS+EPS0)**N2(TT)*(1-exp(-G2*EPS)) 11 : C + RP(PSI,TT) * RI(TT)*(EPS+EPS0)**NI(TT)*exp(-GI*EPS) 12 : C 13 : C et de ses derivees partielles DSRDTT, DSRDEP et DSRPSI si ID = 1, 14 : C en fonction : 15 : C - de la temperature TT, 16 : C - d'une deformation EPS positive ou nulle, 17 : C - de la variable de durcissement du a l'irradiation PSI, 18 : C et des parametres transmis dans PECDI. 19 : C -------------------------------------------------------------------------- 20 : IMPLICIT INTEGER (I-N) 21 : IMPLICIT REAL*8 (A-H, O-Z) 22 : PARAMETER ( NPTTM = 5 , NPPSIM = 6 ) 23 : DIMENSION PECDI(1:*) 24 : c (NPEDIM = 13+6*NPTTM+NPPSIM) 25 : DIMENSION PTT(1:NPTTM),PPSI(1:NPPSIM) 26 : C ------------------------------------------------------------------ 27 : C Initialisation, R0 28 : C 29 : NP = 1 30 : SR = PECDI(NP+1) 31 : EPS0 = PECDI(NP+2) 32 : EPE0 = EPS+EPS0 33 : IF (ID.EQ.1) THEN 34 : DSRDTT = 0.D0 35 : DSRDEP = 0.D0 36 : DSRPSI = 0.D0 37 : END IF 38 : C ------------------------------------------------------------------ 39 : C Ajout du terme R1(TT)*(EPS+EPS0)**N1(TT)*exp(-G1*EPS) 40 : C 41 : NP = NP+3 42 : KR1 = NINT(PECDI(NP+1)) 43 : IF (KR1.EQ.0) THEN 44 : NP = NP+1 45 : ELSE 46 : IF (KR1.EQ.-1) THEN 47 : NP = NP+2 48 : R1 = PECDI(NP) 49 : R1P = 0.D0 50 : ELSE IF (KR1.GT.0) THEN 51 : NPTT = NINT(PECDI(NP)) 52 : DO IP = 1,NPTT 53 : PTT(IP) = PECDI(NP+IP) 54 : END DO 55 : NP = NP+NPTT 55 : CALL FTEMP (TT, ID, PTT, R1,R1P) 56 : END IF 57 : NP = NP+1 58 : KN1 = NINT(PECDI(NP+1)) 59 : IF (KN1.EQ.0) THEN 60 : NP = NP+2 61 : G1 = PECDI(NP) 62 : SR1 = R1*EXP(-G1*EPS) 63 : ELSE 64 : IF (KN1.EQ.-1) THEN 65 : NP = NP+2 66 : EN1 = PECDI(NP) 67 : ELSE IF (KN1.GT.0) THEN 68 : NPTT = NINT(PECDI(NP)) 69 : DO IP = 1,NPTT 70 : PTT(IP) = PECDI(NP+IP) 71 : END DO 72 : NP = NP+NPTT 72 : CALL FTEMP (TT, ID, PTT, EN1,EN1P) 73 : END IF 74 : NP = NP+1 75 : G1 = PECDI(NP) 76 : SR1 = R1*EPE0**EN1*EXP(-G1*EPS) 77 : END IF 78 : SR = SR+SR1 79 : IF (ID.EQ.1) THEN 80 : IF (KN1.EQ.0) THEN 81 : DSRDTT = R1P*EXP(-G1*EPS) 82 : DSRDEP = -G1*SR1 83 : ELSE 84 : EPE0N1 = EPE0**EN1 85 : EMGIE = EXP(-G1*EPS) 86 : IF (KN1.EQ.-1) THEN 87 : DSRDTT = R1P*EPE0N1*EMGIE 88 : ELSE IF (KN1.GT.0) THEN 89 : DSRDTT = (R1P+R1*LOG(EPE0)*EN1P)*EPE0N1*EMGIE 90 : END IF 91 : DSRDEP = R1*EPE0N1*(EN1/EPE0-G1)*EMGIE 92 : END IF 93 : END IF 94 : END IF 95 : C ------------------------------------------------------------------ 96 : C Ajout du terme R2(TT)*(EPS+EPS0)**N2(TT)*(1-exp(-G2*EPS)) 97 : C 98 : NP = NP+1 99 : KR2 = NINT(PECDI(NP+1)) 100 : IF (KR2.EQ.0) THEN 101 : NP = NP+1 102 : ELSE 103 : IF (KR2.EQ.-1) THEN 104 : NP = NP+2 105 : R2 = PECDI(NP) 106 : R2P = 0.D0 107 : ELSE IF (KR2.GT.0) THEN 108 : NPTT = NINT(PECDI(NP)) 109 : DO IP = 1,NPTT 110 : PTT(IP) = PECDI(NP+IP) 111 : END DO 112 : NP = NP+NPTT 112 : CALL FTEMP (TT, ID, PTT, R2,R2P) 113 : END IF 114 : NP = NP+1 115 : KN2 = NINT(PECDI(NP+1)) 116 : IF (KN2.EQ.0) THEN 117 : NP = NP+2 118 : G2 = PECDI(NP) 119 : SR2 = R2*(1.-EXP(-G2*EPS)) 120 : ELSE 121 : IF (KN2.EQ.-1) THEN 122 : NP = NP+2 123 : EN2 = PECDI(NP) 124 : ELSE IF (KN2.GT.0) THEN 125 : NPTT = NINT(PECDI(NP)) 126 : DO IP = 1,NPTT 127 : PTT(IP) = PECDI(NP+IP) 128 : END DO 129 : NP = NP+NPTT 129 : CALL FTEMP (TT, ID, PTT, EN2,EN2P) 130 : END IF 131 : NP = NP+1 132 : G2 = PECDI(NP) 133 : SR2 = R2*EPE0**EN2*(1.-EXP(-G2*EPS)) 134 : END IF 135 : SR = SR+SR2 136 : IF (ID.EQ.1) THEN 137 : EMGIE = EXP(-G2*EPS) 138 : IF (KN2.EQ.0) THEN 139 : DSRDTT = DSRDTT+R2P*(1.-EMGIE) 140 : DSRDEP = DSRDEP+R2*G2*EMGIE 141 : ELSE 142 : EPE0N2 = EPE0**EN2 143 : IF (KN2.EQ.-1) THEN 144 : DSRDTT = DSRDTT+R2P*EPE0N2*(1.-EMGIE) 145 : ELSE IF (KN2.GT.0) THEN 146 : DSRDTT = DSRDTT+(R2P+R2*LOG(EPE0)*EN2P)*EPE0N2*(1.-EMGIE) 147 : END IF 148 : DSRDEP = DSRDEP+R2*EPE0N2*(EN2/EPE0*(1.-EMGIE)+G2*EMGIE) 149 : END IF 150 : END IF 151 : END IF 152 : C ------------------------------------------------------------------ 153 : C Ajout du terme RP(PSI,TT)*RI(TT)*(EPS+EPS0)**NI(TT)*exp(-GI*EPS) 154 : C 155 : NP = NP+1 156 : KRP = NINT(PECDI(NP+1)) 157 : IF (KRP.EQ.0) RETURN 158 : NPPSI = NINT(PECDI(NP)) 159 : DO IP = 1,NPPSI 160 : PPSI(IP) = PECDI(NP+IP) 161 : END DO 161 : CALL FVDI (PSI,TT, ID, PPSI, RP,DRPDP,DRPDTT) 162 : NP = NP+NPPSI+1 163 : KRI = NINT(PECDI(NP+1)) 164 : IF (KRI.EQ.0) RETURN 165 : IF (KRI.EQ.-1) THEN 166 : NP = NP+2 167 : RI = PECDI(NP) 168 : RIP = 0.D0 169 : ELSE IF (KRI.GT.0) THEN 170 : NPTT = NINT(PECDI(NP)) 171 : DO IP = 1,NPTT 172 : PTT(IP) = PECDI(NP+IP) 173 : END DO 174 : NP = NP+NPTT 174 : CALL FTEMP (TT, ID, PTT, RI,RIP) 175 : END IF 176 : NP = NP+1 177 : KNI = NINT(PECDI(NP+1)) 178 : IF (KNI.EQ.0) THEN 179 : NP = NP+2 180 : GI = PECDI(NP) 181 : SRI = RP*RI*EXP(-GI*EPS) 182 : ELSE 183 : IF (KNI.EQ.-1) THEN 184 : NP = NP+2 185 : ENI = PECDI(NP) 186 : ELSE IF (KNI.GT.0) THEN 187 : NPTT = NINT(PECDI(NP)) 188 : DO IP = 1,NPTT 189 : PTT(IP) = PECDI(NP+IP) 190 : END DO 191 : NP = NP+NPTT 191 : CALL FTEMP (TT, ID, PTT, ENI,ENIP) 192 : END IF 193 : NP = NP+1 194 : GI = PECDI(NP) 195 : SRI = RP*RI*EPE0**ENI*EXP(-GI*EPS) 196 : END IF 197 : SR = SR+SRI 198 : IF (ID.EQ.1) THEN 199 : EMGIE = EXP(-GI*EPS) 200 : IF (KNI.EQ.0) THEN 201 : DSRDTT = DSRDTT+(DRPDTT*RI+RP*RIP)*EMGIE 202 : DSRDEP = DSRDEP-GI*SRI 203 : DSRPSI = DRPDP*RI*EMGIE 204 : ELSE 205 : EPE0NI = EPE0**ENI 206 : IF (KNI.EQ.-1) THEN 207 : DSRDTT = DSRDTT+(DRPDTT*RI+RP*RIP)*EPE0NI*EMGIE 208 : ELSE IF (KNI.GT.0) THEN 209 : DSRDTT = DSRDTT 210 : & +(DRPDTT*RI+RP*(RIP+RI*LOG(EPE0)*ENIP))*EPE0NI*EMGIE 211 : END IF 212 : DSRDEP = DSRDEP+RP*RI*EPE0NI*(ENI/EPE0-GI)*EMGIE 213 : DSRPSI = DRPDP*RI*EPE0NI*EMGIE 214 : END IF 215 : END IF 216 : C ------------------------------------------------------------------ 217 : RETURN 218 : END 219 :
© Cast3M 2003 - All rights reserved.
Disclaimer