1 : C STEEL1 SOURCE CHAT 12/04/06 21:15:24 7348 2 : *--------------------------------------------------------------------- 3 : * 4 : SUBROUTINE STEEL1 5 : . ( EYOUN, FSY__, FSU__, EPSH_, EPSU_, ROFAC, BFACT, 6 : . A1FAC, A2FAC, FACLD, A6FAC, CFACT, AFACT, IFLAG, 7 : . STRAI, RFACT, EPSON, SIGMA, TANGE, STRES ) 8 : * 9 : *--------------------------------------------------------------------- 10 : * 11 : * STEEL BEHAVIOUR MODEL (MENEGOTTO-PINTO MODEL) 12 : * (INCLUDING THE MONOTONIC CURVE) 13 : * (AND THE BUCKLING EFFECT) 14 : *--------------------------------------------------------------------- 15 : * 16 : * INPUT : 17 : * ----- 18 : * EYOUN : YOUNG MODULUS 19 : * FSY__ : YELDING STRESS 20 : * FSU__ : ULTIMATE STRESS 21 : * EPSH_ : HARDENING STRAIN 22 : * EPSU_ : ULTIMATE STRAIN 23 : * ROFAC : Ro FACTOR 24 : * BFACT : b FACTOR 25 : * A1FAC : a1 FACTOR 26 : * A2FAC : a2 FACTOR 27 : * FACLD : L/D FACTOR (BUCKLING EFFECT) 28 : * A6FAC : a6 FACTOR FOR THE NEW YOUNG MODULUS 29 : * CFACT : c FACTOR FOR THE "GAMAs" VALUE 30 : * AFACT : a FACTOR FOR THE NEW "BFACT" 31 : * IFLAG : FLAG DEFINING THE STEEL STAGE 32 : * STRAI : ACTUAL STRAIN VALUE 33 : * RFACT : R FACTOR 34 : * EPSON : HISTORY OF REVERSAL STRAIN POINTS 35 : * SIGMA : HISTORY OF REVERSAL STRESS POINTS 36 : * 37 : * OUTPUT : 38 : * ------ 39 : * TANGE : ACTUAL TANGENT MODULUS 40 : * STRES : ACTUAL STRESS VALUE 41 : * 42 : * NOTE : POSITIVE STRESSES = TENSION STRESSES 43 : * NEGATIVE STRESSES = COMPRESSION STRESSES 44 : * 45 : * POSITIVE STRAIN = TENSION STRAIN 46 : * NEGATIVE STRAIN = COMPRESSION STRAIN 47 : * 48 : *--------------------------------------------------------------------- 49 : * 50 : * DIFERENT POSSIBLE STAGES OF THE MATERIAL 51 : * 52 : * *********************************************************** 53 : * IFLAG = 0 .... FIRST LOADING ON THE ENVELOPE 54 : * IFLAG = 1 .... STEEL IS DISTROIED 55 : * IFLAG = 2 .... LOADING OR UNLOD. IN THE POSITIVE DIRECTION 56 : * IFLAG = 3 .... LOADING OR UNLOD. IN THE NEGATIVE DIRECTION 57 : * IFLAG =-4 .... IDEM "IFLAG = 2" FOR UNLOD. FROM THE MONOTONIC 58 : * IFLAG =-5 .... IDEM "IFLAG = 3" FOR UNLOD. FROM THE MONOTONIC 59 : * 60 : * NOTE: A NEGATIVE VALUE FOR "IFLAG" MEANS THAT THE ENVOLVENT 61 : * CURVE IS STILL THE MONOTONIC ONE 62 : * 63 : *--------------------------------------------------------------------- 64 : C 65 : IMPLICIT INTEGER(I-N) 66 : IMPLICIT REAL*8 (A-H,O-Z) 67 : C 68 : DIMENSION EPSON (5), SIGMA (5) 69 : C 70 : C------------------------------------------------------------- 71 : C VALUES TO BE KEPT IN EPSON (AND SIGMA) VECTOR(S): 72 : C EPSON (1) .... LAST REVERSAL STRAIN 73 : C EPSON (2) .... INTERSEPTION POINT OF THE ASYMPTOTES 74 : C EPSON (3) .... LAST STRAIN VALUE 75 : C EPSON (4) .... MAXIMUM REVERSAL STRAIN IN THE POSIT. DIR. 76 : C EPSON (5) .... MAXIMUM REVERSAL STRAIN IN THE NEGAT. DIR. 77 : C------------------------------------------------------------- 78 : EPSY_ = FSY__/EYOUN 79 : C 80 : IF (FACLD .GT. 5.0D0) THEN 81 : C------------------------------------------------------------- 82 : C BUCKLING EFFECT 83 : C------------------------------------------------------------- 84 : A5FAC = 1.0D0 + (5.0D0-FACLD) / 7.5D0 85 : FSINF = 4.0D0 * FSY__ / FACLD 86 : GAMAS = (11.0D0-FACLD) / (EXP(CFACT*FACLD)-1.0D0) / 10.0D0 87 : ENDIF 88 : C 89 : IF (IFLAG .EQ. 0) THEN 90 : C------------------------------------------------------------- 91 : C DEFINITION OF THE FIRST STEP PARAMETERS 92 : C------------------------------------------------------------- 93 : IF (ABS(STRAI) .LE. 1.0D-10) THEN 94 : STRES = 0.0D0 95 : TANGE = EYOUN 96 : GO TO 2000 97 : ENDIF 98 : C 99 : SIGN_ = STRAI/ABS(STRAI) 100 : C 101 : EPSON(1) = -SIGN_*EPSY_ 102 : SIGMA(1) = -SIGN_*FSY__ 103 : C 104 : EPSON(2) = SIGN_*EPSY_ 105 : SIGMA(2) = SIGN_*FSY__ 106 : C 107 : EPSON(3) = 0.D0 108 : SIGMA(3) = 0.D0 109 : C 110 : EPSON(4) = EPSY_ 111 : SIGMA(4) = FSY__ 112 : C 113 : EPSON(5) = -EPSY_ 114 : SIGMA(5) = -FSY__ 115 : C 116 : RFACT = ROFAC 117 : C 118 : IF (SIGN_ .GT. 0.0D0) THEN 119 : IFLAG = -2 120 : ELSE 121 : IFLAG = -3 122 : ENDIF 123 : GO TO 100 124 : ENDIF 125 : C 126 : IF (IFLAG .EQ. -4) THEN 127 : C------------------------------------------------------------- 128 : C DISCHARGE UNDER THE LIMITS OF THE MONOTONIC CURVE 129 : C------------------------------------------------------------- 130 : IF ((EPSON(4)-STRAI) .GT. (EPSY_/3.0D0)) THEN 131 : IFLAG = 3 132 : ELSE 133 : STRES = EYOUN * (STRAI-EPSON(4)) + SIGMA(4) 134 : TANGE = EYOUN 135 : C 136 : ACOEF = -1.0D0 * (FSU__-FSY__) / ((EPSU_-EPSH_)**2) 137 : BCOEF = -2.0D0 * ACOEF * EPSU_ 138 : CCOEF = FSU__ - ACOEF * (EPSU_**2) - BCOEF * EPSU_ 139 : STRE1 = ACOEF * STRAI**2 + 140 : . BCOEF * STRAI + 141 : . CCOEF 142 : C 143 : IF (STRES .LT. STRE1) GOTO 2000 144 : IFLAG = -2 145 : ENDIF 146 : ELSEIF (IFLAG .EQ. -5) THEN 147 : IF ((STRAI-EPSON(5)) .GT. (EPSY_/3.0D0)) THEN 148 : IFLAG = 2 149 : ELSE 150 : STRES = EYOUN * (STRAI-EPSON(5)) + SIGMA(5) 151 : TANGE = EYOUN 152 : C 153 : ACOEF = -1.0D0 * (FSU__-FSY__) / ((EPSU_-EPSH_)**2) 154 : BCOEF = -2.0D0 * ACOEF * EPSU_ 155 : CCOEF = FSU__ - ACOEF * (EPSU_**2) - BCOEF * EPSU_ 156 : STRE1 = -1.0D0 * ACOEF * STRAI**2 + 157 : . BCOEF * STRAI - 158 : . CCOEF 159 : C 160 : IF (STRES .GT. STRE1) GOTO 2000 161 : IFLAG = -3 162 : ENDIF 163 : ENDIF 164 : C------------------------------------------------------------- 165 : IF (ABS(STRAI) .GT. EPSU_) IFLAG = 1 166 : C 167 : IF (IFLAG .EQ. 1) THEN 168 : C------------------------------------------------------------- 169 : C THE STEEL IS DISTROIED 170 : C------------------------------------------------------------- 171 : CPP WRITE (*,*) ' THE STEEL IS DISTROIED !!!' 172 : STRES = 0.0D0 173 : TANGE = 0.0D0 174 : GO TO 2000 175 : ENDIF 176 : C------------------------------------------------------------- 177 : IF (IABS(IFLAG) .EQ. 2) THEN 178 : IF (STRAI .GT. EPSON(3)) THEN 179 : C------------------------------------------------------------- 180 : C MOVEMENT IN THE SAME DIRECTION 181 : C------------------------------------------------------------- 182 : GO TO 100 183 : ENDIF 184 : C------------------------------------------------------------- 185 : C MOVEMENT IN THE OPPOSITE DIRECTION 186 : C------------------------------------------------------------- 187 : SIGN_= 1.0D0 188 : C 189 : IFLAG = IABS(IFLAG) / IFLAG * 3 190 : IF (IFLAG .LT. 0) THEN 191 : IF (ABS(EPSON(3)) .GT. EPSY_) THEN 192 : C------------------------------------------------------------- 193 : C CORRECTION OF REVERSAL STRAIN AND STRESS VALUES 194 : C------------------------------------------------------------- 195 : EPSOO = EPSON(3) 196 : EPSON(3) = EPSY_ - SIGMA(3) / 197 : . (EYOUN*(1.0D0-BFACT)) + 198 : . EPSOO / (1.0D0-BFACT) 199 : SIGMA(3) = EYOUN * (EPSON(3)-EPSOO) + SIGMA(3) 200 : C 201 : IF ((EPSON(3)-STRAI) .GT. (EPSY_/3.0D0)) THEN 202 : IFLAG = 3 203 : ELSE 204 : IFLAG = -4 205 : STRES = EYOUN * (STRAI-EPSON(3)) + SIGMA(3) 206 : TANGE = EYOUN 207 : ENDIF 208 : ENDIF 209 : ENDIF 210 : IF (EPSON(3) .GT. EPSON(4)) THEN 211 : EPSON(4) = EPSON(3) 212 : SIGMA(4) = SIGMA(3) 213 : ENDIF 214 : ELSEIF (IABS(IFLAG) .EQ. 3) THEN 215 : IF (STRAI .LT. EPSON(3)) THEN 216 : C------------------------------------------------------------- 217 : C MOVEMENT IN THE SAME DIRECTION 218 : C------------------------------------------------------------- 219 : IF (FACLD .GT. 5.0D0 .AND. 220 : . STRAI .LT. (-0.95D0*EPSY_)) IFLAG = 3 221 : GO TO 100 222 : ENDIF 223 : C------------------------------------------------------------- 224 : C MOVEMENT IN THE OPPOSITE DIRECTION 225 : C------------------------------------------------------------- 226 : SIGN_= -1.0D0 227 : C 228 : IFLAG = IABS(IFLAG) / IFLAG * 2 229 : IF (IFLAG .LT. 0) THEN 230 : IF (ABS(EPSON(3)) .GT. EPSY_) THEN 231 : C------------------------------------------------------------- 232 : C CORRECTION OF REVERSAL STRAIN AND STRESS VALUES 233 : C------------------------------------------------------------- 234 : EPSOO = EPSON(3) 235 : EPSON(3) = EPSY_ + SIGMA(3) / 236 : . (EYOUN*(1.0D0-BFACT)) - 237 : . EPSOO / (1.0D0-BFACT) 238 : EPSON(3) = -1.D0 * EPSON(3) 239 : SIGMA(3) = EYOUN * (EPSON(3)-EPSOO) + SIGMA(3) 240 : C 241 : IF ((STRAI-EPSON(3)) .GT. (EPSY_/3.0D0)) THEN 242 : IFLAG = 2 243 : ELSE 244 : IFLAG = -5 245 : STRES = EYOUN * (STRAI-EPSON(3)) + SIGMA(3) 246 : TANGE = EYOUN 247 : ENDIF 248 : ENDIF 249 : ENDIF 250 : IF (EPSON(3) .lT. EPSON(5)) THEN 251 : EPSON(5) = EPSON(3) 252 : SIGMA(5) = SIGMA(3) 253 : ENDIF 254 : ENDIF 255 : C 256 : C 257 : C ###################################### 258 : C 259 : C ...... CHANGE OF PARAMETERS ...... 260 : C 261 : C ###################################### 262 : C 263 : C 264 : 200 EPSON(1) = EPSON(3) 265 : SIGMA(1) = SIGMA(3) 266 : C 267 : R1FAC = ROFAC 268 : YOUNG = EYOUN 269 : BFACN = BFACT 270 : C 271 : STRSH = 0.0D0 272 : EPSSH = 0.0D0 273 : IF (FACLD .GT. 5.0D0) THEN 274 : IF (IABS(IFLAG) .EQ. 2) THEN 275 : DO ITEST = 1,5 276 : EPSON(2) = (-SIGN_*BFACN*EPSY_-EPSON(1)+ 277 : . (SIGMA(1)+SIGN_*FSY__)/YOUNG)/(BFACN-1.0D0) 278 : EPSIS = ABS(EPSON(IABS(IFLAG)+2)-EPSON(2)) 279 : YOUNG = EYOUN * (A5FAC+(1.0D0-A5FAC)*EXP(-A6FAC*EPSIS**2)) 280 : BFACN = BFACT * EYOUN / YOUNG 281 : ENDDO 282 : ELSEIF (IABS(IFLAG) .EQ. 3) THEN 283 : EPSIM = EPSON(4) - EPSON(5) - 2.0D0*FSY__/EYOUN 284 : C 285 : BFACN = AFACT * (5.0D0-FACLD) 286 : BFACN = BFACN * EXP(BFACN*EPSIM*EYOUN/(FSY__-FSINF)) 287 : C 288 : STRSH = GAMAS * EYOUN * (BFACT-BFACN) / (1.0D0-BFACN) 289 : EPSSH = STRSH / EYOUN 290 : C 291 : BFACN = BFACT 292 : ENDIF 293 : ENDIF 294 : EPSON(2) = (-SIGN_*BFACN*(EPSY_+EPSSH)-EPSON(1)+ 295 : . (SIGMA(1)+SIGN_*(FSY__+STRSH))/YOUNG)/(BFACN-1.0D0) 296 : SIGMA(2) = YOUNG*(EPSON(2)-EPSON(1))+SIGMA(1) 297 : C 298 : EPSIL = ABS((EPSON(IABS(IFLAG)+2)-EPSON(2))/ 299 : . (EPSON(2)-EPSON(1))) 300 : RFACT = R1FAC-A1FAC*EPSIL/(A2FAC+EPSIL) 301 : IF (IFLAG .LT. -3) GOTO 2000 302 : C 303 : C 304 : C ############################################ 305 : C 306 : C ...... STRESS AND TANGENT MODULUS ...... 307 : C 308 : C ############################################ 309 : C 310 : C 311 : 100 IF (IFLAG .LT. 0) GOTO 3000 312 : BFACN = BFACT 313 : YOUNG = EYOUN 314 : IF (FACLD .GT. 5.0D0) THEN 315 : IF (IFLAG .EQ. 2) THEN 316 : EPSIS = ABS(EPSON(IFLAG+2)-EPSON(2)) 317 : YOUNG = EYOUN * (A5FAC+(1.0D0-A5FAC)*EXP(-A6FAC*EPSIS**2)) 318 : BFACN = BFACT * EYOUN / YOUNG 319 : ELSEIF (IFLAG .EQ. 3) THEN 320 : EPSIM = EPSON(4) - EPSON(5) - 2.0D0 * FSY__/EYOUN 321 : C 322 : BFACN = AFACT * (5.0D0-FACLD) 323 : BFACN = BFACN * EXP(BFACN*EPSIM*EYOUN/(FSY__-FSINF)) 324 : ENDIF 325 : ENDIF 326 : EPSAS = (STRAI-EPSON(1))/(EPSON(2)-EPSON(1)) 327 : C 328 : STRES = SIGMA(1)+(SIGMA(2)-SIGMA(1))*(BFACN+(1.0D0-BFACN)/ 329 : . ((1.0D0+EPSAS**RFACT)**(1.0D0/RFACT)))*EPSAS 330 : TANGE = YOUNG*(BFACN+(1.0D0-BFACN)/ 331 : . (1.0D0+EPSAS**RFACT)**(1.0D0/RFACT+1.0D0)) 332 : C------------------------------------------------------------- 333 : C MONOTONIC CURVE 334 : C------------------------------------------------------------- 335 : 3000 IF (IFLAG .LT. 0) THEN 336 : IF (ABS(STRAI) .LT. EPSY_) THEN 337 : STRES = EYOUN * STRAI 338 : TANGE = EYOUN 339 : ELSE IF (ABS(STRAI) .LT. EPSH_) THEN 340 : STRES = STRAI / ABS(STRAI) * FSY__ 341 : TANGE = 0.0D0 342 : ELSE IF (ABS(STRAI) .LT. EPSU_) THEN 343 : C------------------------------------------------------------- 344 : C EQUATION OF DEGREE "EXPOE" 345 : C------------------------------------------------------------- 346 : EXPOE = 4.0D0 347 : C 348 : STRES = FSU__ - (FSU__-FSY__) * 349 : . (((EPSU_-ABS(STRAI)) / (EPSU_-EPSH_))**EXPOE) 350 : STRES = STRAI / (ABS(STRAI)) * STRES 351 : TANGE = EXPOE * (FSU__-FSY__) * 352 : . ((EPSU_-ABS(STRAI))**(EXPOE-1D0)) / 353 : . ((EPSU_-EPSH_)**EXPOE) 354 : TANGE = 2.0D0 * ACOEF * (ABS(STRAI)) + BCOEF 355 : ELSE 356 : STRES = 0.0D0 357 : TANGE = 0.0D0 358 : ENDIF 359 : ENDIF 360 : C 361 : 2000 EPSON(3) = STRAI 362 : SIGMA(3) = STRES 363 : C 364 : RETURN 365 : END 366 : 367 : 368 :
© Cast3M 2003 - All rights reserved.
Disclaimer