Download cinfil.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer