1 : C INFILL SOURCE PV 11/03/07 21:16:58 6885 2 : C====================================================================== 3 : C INFILL - D. COMBESCURE et P. PEGON - ELSA- 1996 4 : C====================================================================== 5 : C 6 : C MODELE GLOBAL DE DIAGONALE POUR LES MURS DE REMPLISSAGE 7 : C (Sur des elements de barre uniquement) 8 : C 9 : SUBROUTINE INFILL(WRK0,WRK1,WRK2,NCURV,KERRE) 10 : IMPLICIT INTEGER(I-N) 11 : IMPLICIT REAL*8(A-H,O-Z) 12 : C 13 : C======================================================================= 14 : C CETTE ROUTINE EST APPELE DANS ECO100 15 : C 16 : C 17 : C WRK0 = Segment materiaux 18 : C WRK1 = Segment contraintes 19 : C WRK2 = Segment courbe 20 : C NCURV = Longueur courbe 21 : C 22 : C====================================================================== 23 : C XCAR = Section de la barre 24 : C DEPST = Increment de deformation axiale 25 : C SIG0 = Contrainte initiale 26 : C VAR0 = Variables internes initiales 27 : C SIGF = Contrainte finale 28 : C VARF = Variables internes finales 29 : C DEFP = Deformation plastique 30 : C 31 : C======================================================================= 32 : C 33 : PARAMETER (XZER=0.D0,UN=1.D0,EPSILO=1.D-10) 34 : C 35 : C======================================================================= 36 : C VARIABLES ET SEGMENTS NECESSAIRES 37 : C========================================================================= 38 : -INC CCOPTIO 39 : C Segment des materiaux 40 : SEGMENT WRK0 41 : REAL*8 XMAT(NCXMAT) 42 : ENDSEGMENT 43 : C Segment des contraintes 44 : SEGMENT WRK1 45 : REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS) 46 : REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI) 47 : REAL*8 DEFP(NSTRS),XCAR(ICARA) 48 : ENDSEGMENT 49 : C Segment de la courbe 50 : SEGMENT WRK2 51 : REAL*8 TRAC(LTRAC) 52 : ENDSEGMENT 53 : C 54 : C Lecture materiau 55 : C 56 : YOUN = XMAT(1) 57 : XDELA = XMAT(5) 58 : XDMAX = XMAT(6) 59 : XBETA = XMAT(7) 60 : XGAMM = XMAT(8) 61 : XGAMP = XMAT(9) 62 : XALPH = XMAT(10) 63 : XTETA = XMAT(11) 64 : C+TEST 65 : C XNETA = XMAT(12) 66 : C+TEST 67 : XSECT = XCAR(1) 68 : YOUN = YOUN*XSECT 69 : C 70 : C Lecture variables internes 71 : C 72 : XDAM = VAR0(1) 73 : XDEPM = -VAR0(2) 74 : XDEPA = -VAR0(3) 75 : XDEPI = -VAR0(4) 76 : XDEPC = -VAR0(5) 77 : ICAS = nint(VAR0(6)) 78 : C 79 : XDDEP = -DEPST(1) 80 : XFOR0 = -SIG0(1) 81 : XDEP0 = XDEPA + (XFOR0/((UN - XDAM)*YOUN)) 82 : XDEPF = XDEP0 + XDDEP 83 : C 84 : C Fin de la lecture des variables et caracteristiques necessaires 85 : C 86 : 87 : C Quelques calculs preliminairesC 88 : XDEGRA = (UN - XTETA)*DEXP(-XALPH*XDEPC) + XTETA 89 : C+TEST 90 : C XDEPMB = (UN-XNETA)*XDEPM 91 : C+TEST 92 : XDEPMB = XDEPM 93 : C 93 : CALL VALINF(XDEPMB,XDEGRA,TRAC(1),NCURV,XZER,XFMAC,KERRE) 94 : IF (ABS(XDEPMB).LE.EPSILO) THEN 95 : XFELC = XDEGRA*YOUN*XDELA 96 : XPEN = (UN - (XFMAC/XFELC))/ 97 : &(UN - ((UN/(UN - XDMAX))*(XFMAC/XFELC))) 98 : XFMAX = XFELC*( UN - XPEN )/( UN - (XPEN/(UN - XDAM))) 99 : ELSE 100 : XFMAX = XFMAC 101 : ENDIF 102 : XFPIN = XBETA*XFMAX 103 : C+TEST 104 : XDEPIN = XDEPMB + (XFPIN/((UN - XDAM)*YOUN)) 105 : XDEPMX = XDEPMB + (XFMAX/((UN - XDAM)*YOUN)) 106 : C+TEST 107 : C 108 : C================================================================== 109 : C 110 : C DRIVER 111 : C 112 : C================================================================== 113 : IF (XDDEP.GE.XZER) THEN 114 : IF ((ICAS.EQ.1).OR.(ICAS.EQ.0)) THEN 115 : GOTO 1000 116 : ELSEIF (ICAS.EQ.11) THEN 117 : GOTO 2100 118 : ELSEIF (ICAS.EQ.12) THEN 119 : GOTO 2200 120 : ELSEIF (ICAS.EQ.13) THEN 121 : GOTO 2300 122 : ELSEIF (ICAS.EQ.14) THEN 123 : GOTO 2400 124 : ELSEIF (ICAS.EQ.21) THEN 125 : XDLIM = XDEPIN 126 : IF (XDEP0.GE.XDLIM) THEN 127 : GOTO 2400 128 : ELSE 129 : GOTO 2300 130 : ENDIF 131 : ELSEIF (ICAS.EQ.22) THEN 132 : IF (XDEP0.GE.XDEPI) THEN 133 : GOTO 2300 134 : ELSE 135 : GOTO 2100 136 : ENDIF 137 : ELSE 138 : KERRE = 99 139 : GOTO 9999 140 : ENDIF 141 : ELSE 142 : IF ((ICAS.EQ.0).OR.(ICAS.EQ.22).OR.(ICAS.EQ.11)) THEN 143 : GOTO 3200 144 : ELSEIF ((ICAS.EQ.21).OR.(ICAS.EQ.1).OR.(ICAS.EQ.13) 145 : &.OR.(ICAS.EQ.12).OR.(ICAS.EQ.14)) THEN 146 : GOTO 3100 147 : ELSE 148 : KERRE = 99 149 : GOTO 9999 150 : ENDIF 151 : ENDIF 152 : C========================================================== 153 : C CAS A - Courbe de simple charge -ICAS=1 154 : C========================================================== 155 : 1000 CONTINUE 155 : CALL VALINF(XZER,XDEGRA,TRAC(1),NCURV,XZER,XFMAC,KERRE) 156 : XDMAC = XFMAC/((UN - XDMAX)*YOUN) 157 : XFELC = XDEGRA*YOUN*XDELA 158 : XDEPMA = XFMAC/((UN - XDMAX)*YOUN) 159 : XDEPEL = XFELC/YOUN 160 : IF (XDEPF.LE.XDEPMA) THEN 161 : IF (XDEPF.LE.XDEPEL) THEN 162 : XFORF = YOUN*XDEPF 163 : XDAM = XZER 164 : ELSE 165 : XFORF= XFELC + ((XFMAC - XFELC) 166 : &/(XDEPMA - XDEPEL))*(XDEPF - XDEPEL) 167 : XDAM = UN - (XFORF/(XDEPF*YOUN)) 168 : ENDIF 169 : ELSE 170 : YOUNF = (UN - XDMAX)*YOUN 170 : CALL VALINF(XDEPF,XDEGRA,TRAC(1),NCURV,YOUNF,XFORF,KERRE) 171 : XDAM = XDMAX 172 : XDEPA = XDEPF - (XFORF/YOUNF) 173 : XDEPI = XDEPA 174 : IF (XDEPM.LE.XDEPA) THEN 175 : XDEPM = XDEPA 176 : ENDIF 177 : ENDIF 178 : ICAS = 1 179 : GOTO 9999 180 : C 181 : C========================================================== 182 : C CAS C1 - Courbe de recharge avec glissement -ICAS=11 183 : C========================================================== 184 : 2100 CONTINUE 185 : XDLIM = XDEPI 186 : C 187 : IF (XDEPF.LE.XDLIM) THEN 188 : XDERES = XZER 189 : XDELOC = XDDEP 190 : ELSE 191 : XDELOC = XDLIM - XDEP0 192 : XDERES = XDDEP - XDELOC 193 : ENDIF 194 : C 195 : XKKK = XZER 196 : XFORF = XFOR0 + (XKKK*XDELOC) 197 : XDEPA = XDEP0 + XDELOC 198 : C 199 : IF (XDERES.EQ.XZER) THEN 200 : ICAS = 11 201 : GOTO 9999 202 : ELSE 203 : XFOR0 = XFORF 204 : XDEP0 = XDLIM 205 : XDDEP = XDERES 206 : GOTO 2200 207 : ENDIF 208 : C 209 : C========================================================== 210 : C CAS C2 - Courbe de recharge avec pincement -ICAS=12 211 : C========================================================== 212 : 2200 CONTINUE 213 : XDLIM = XDEPIN 214 : C 215 : IF (XDEPF.LE.XDLIM) THEN 216 : XDERES = XZER 217 : XDELOC = XDDEP 218 : ELSE 219 : XDELOC = XDLIM - XDEP0 220 : XDERES = XDDEP - XDELOC 221 : ENDIF 222 : C 223 : IF (ABS(XDEPIN-XDEPI).LE.EPSILO) THEN 224 : XKKK = XZER 225 : ELSE 226 : XKKK = (XFPIN/(XDEPIN - XDEPI)) 227 : ENDIF 228 : XFORF = XFOR0 + (XKKK*XDELOC) 229 : XDEPA = XDEP0 + XDELOC - (XFORF/((UN - XDAM)*YOUN)) 230 : IF (XDERES.EQ.XZER) THEN 231 : ICAS = 12 232 : GOTO 9999 233 : ELSE 234 : XFOR0 = XFORF 235 : XDEP0 = XDLIM 236 : XDDEP = XDERES 237 : GOTO 2400 238 : ENDIF 239 : C 240 : C========================================================== 241 : C CAS C2bis - Courbe de recharge petit cycle -ICAS=13 242 : C========================================================== 243 : 2300 CONTINUE 244 : IF (ABS(XDEPMB-XDEPI).GT.EPSILO) THEN 245 : XDLIM = XDEPA + ((XFPIN/((UN - XDAM)*YOUN)) 246 : &/(XDEPMB - XDEPI))*(XDEPA - XDEPI) 247 : ELSE 248 : XDLIM = XDEPIN 249 : ENDIF 250 : C 251 : IF (XDEPF.LE.XDLIM) THEN 252 : XDERES = XZER 253 : XDELOC = XDDEP 254 : ELSE 255 : XDELOC = XDLIM - XDEP0 256 : XDERES = XDDEP - XDELOC 257 : ENDIF 258 : C 259 : XKKK = (UN - XDAM)*YOUN 260 : XFORF = XFOR0 + (XKKK*XDELOC) 261 : C 262 : IF (XDERES.EQ.XZER) THEN 263 : ICAS = 13 264 : GOTO 9999 265 : ELSE 266 : XFOR0 = XFORF 267 : XDEP0 = XDLIM 268 : XDDEP = XDERES 269 : GOTO 2200 270 : ENDIF 271 : C 272 : C========================================================== 273 : C CAS C3 - Courbe de recharge -ICAS=14 274 : C========================================================== 275 : 2400 CONTINUE 276 : XDLIM = XDEPMX 277 : C 278 : IF (XDEPF.LE.XDLIM) THEN 279 : XDERES = XZER 280 : XDELOC = XDDEP 281 : ELSE 282 : XDELOC = XDLIM - XDEP0 283 : XDERES = XDDEP - XDELOC 284 : ENDIF 285 : C 286 : XKKK = (UN - XDAM)*YOUN 287 : XFORF = XFOR0 + (XKKK*XDELOC) 288 : C XDEPI = XDEPA 289 : IF (XDERES.EQ.XZER) THEN 290 : ICAS = 14 291 : GOTO 9999 292 : ELSE 293 : XFOR0 = XFORF 294 : XDEP0 = XDLIM 295 : XDDEP = XDERES 296 : GOTO 1000 297 : ENDIF 298 : C 299 : C========================================================== 300 : C CAS B2 -Courbe de decharge avec E -ICAS=21 301 : C========================================================== 302 : 3100 CONTINUE 303 : XDLIM = XDEPA 304 : C 305 : IF (XDEPF.GT.XDLIM) THEN 306 : XDERES = XZER 307 : XDELOC = XDDEP 308 : ELSE 309 : XDELOC = XDLIM - XDEP0 310 : XDERES = XDDEP - XDELOC 311 : ENDIF 312 : C 313 : XKKK = (UN - XDAM)*YOUN 314 : XFORF = XFOR0 + (XKKK*XDELOC) 315 : C 316 : IF (XDEPM.LE.XDEPA) THEN 317 : XDEPM = XDEPA 318 : ENDIF 319 : C 320 : C 321 : IF (XDERES.EQ.XZER) THEN 322 : ICAS = 21 323 : GOTO 9999 324 : ELSE 325 : XFOR0 = XFORF 326 : XDEP0 = XDLIM 327 : XDDEP = XDERES 328 : GOTO 3200 329 : ENDIF 330 : C========================================================== 331 : C CAS B1 -Courbe de decharge avec glissement -ICAS=22 332 : C========================================================== 333 : 3200 CONTINUE 334 : XFORF = XZER 335 : IF (XDEPI.GE.XDEPF) THEN 336 : C XDEPGL = XGAMM*(UN-XNETA)*XDEPM + XGAMP*XDELA 337 : XDEPGL = XGAMM*XDEPM + XGAMP*XDELA 338 : C XDEPG2 = (UN-XNETA)*XDEPM 339 : XDEPG2 = XDEPM 340 : IF (XDEPGL.GE.XDEPG2) THEN 341 : XDEPGL = XDEPG2 342 : ENDIF 343 : IF (XDEPGL.GE.XDEPF) THEN 344 : XDEPI = XDEPGL 345 : ELSE 346 : XDEPI = XDEPF 347 : ENDIF 348 : ENDIF 349 : XDEPC = XDEPC + ABS(XDDEP) 350 : XDEPA = XDEPF 351 : ICAS = 22 352 : GOTO 9999 353 : C================================================================== 354 : 9999 CONTINUE 355 : C================================================================== 356 : C 357 : C On remplit les tableaux avant de sortir 358 : C 359 : C================================================================== 360 : XDEPA = XDEPF - (XFORF/((UN - XDAM)*YOUN)) 361 : SIGF(1) = -XFORF 362 : C 363 : VARF(1) = XDAM 364 : VARF(2) = -XDEPM 365 : VARF(3) = -XDEPA 366 : VARF(4) = -XDEPI 367 : VARF(5) = -XDEPC 368 : VARF(6) = ICAS 369 : C===================================================== 370 : C FIN DE LA ROUTINE DU MODELE 371 : C====================================================== 372 : RETURN 373 : END 374 : 375 : 376 : 377 : 378 :
© Cast3M 2003 - All rights reserved.
Disclaimer