Download dtak.eso

Back to the list

   1 : C DTAK      SOURCE    CHAT      05/01/12    22:57:00     5004           
   2 : C      SUBRUTINE DTAK : APPLICATION D'UNE LOI DE COMPORTEMENT POUR DES
   3 : C                        DEFORMATIONS DUES A LA FLEXION
   4 : C======================================================================
   5 :        SUBROUTINE DTAK(IFLAG,IDEP,ELEF1,ELDEP1,ELEF2,ELDEP2,
   6 :      1                 YLEF1,YLDEP1,YLEF2,YLDEP2,ULEF1,ULDEP1,
   7 :      2                 ULEF2,ULDEP2,EF,VARDEP,DEP,DEPE,
   8 :      3                 DEPMAX,DEPMIN,EFMAX,EFMIN,X0,RR)
   9 : C
  10 : C =====================================================================
  11 : C ELEF1        - EFFORT MAX. ELASTIQUE DANS LE SENS +
  12 : C ELDEP1       - DEFORMATION MAX. ELASTIQUE DANS LE SENS +
  13 : C ELEF1        - EFFORT MAX. ELASTIQUE DANS LE SENS -
  14 : C ELDEP1       - DEFORMATION MAX. ELASTIQUE DANS LE SENS -
  15 : C YLEF1        - EFFORT MAX. LINEAIRE DANS LE SENS +
  16 : C YLDEP1       - DEFORMATION MAX. LINEAIRE DANS LE SENS +
  17 : C YLEF1        - EFFORT MAX. LINEAIRE DANS LE SENS -
  18 : C YLDEP1       - DEFORMATION MAX.LINEAIRE  DANS LE SENS -
  19 : C ULEF1        - EFFORT MAX. PLASTIQUE DANS LE SENS +
  20 : C ULDEP1       - DEFORMATION MAX. PLASTIQUE DANS LE SENS +
  21 : C ULEF2        - EFFORT MAX. PLASTIQUE DANS LE SENS -
  22 : C ULDEP2       - DEFORMATION MAX. PLASTIQUE DANS LE SENS -
  23 : C EF           - EFFORT DU PAS PRECEDENT
  24 : C VARDEP       - L'INCREMENT DE DEFORMATION
  25 : C DEP          - DEFORMATION DU PAS PRECEDENT
  26 : C DEPMAX       - DEFORMATION MAX. +
  27 : C DEPMIN       - DEFORMATION MAX. -
  28 : C EFMAX        - EFFORT MAX. +
  29 : C EFMIN        - EFFORT MAX. -
  30 : C X0           - DERNIERE INTERSECTION AVEC L'AXE OX
  31 : C IFLAG        - FLAG POUR LE STADE DE COMPORTEMENT
  32 : C REL          - RIGIDITE ELASTIQUE COHERENTE AVEC LA MATRICE DE
  33 : C                RIGIDITE
  34 : C REL1         - RIGIDITE ELASTIQUE DANS LE SENS +
  35 : C REL2         - RIGIDITE ELASTIQUE DANS LE SENS -
  36 : C RR1          - RIGIDITE SECANTE DANS LE SENS +
  37 : C RR2          - RIGIDITE SECANTE DANS LE SENS -
  38 : C RIN1         - RIGIDITE INELASTIQUE DANS LE SENS +
  39 : C RIN2         - RIGIDITE INELASTIQUE DANS LE SENS -
  40 : C DEPT         - DEFORMATION TOTALE
  41 : C RR           - RIGIDITATE POUR LE STADE DE COMPORTEMENT ACTUEL
  42 : C
  43 : C ----------------------------------------------------------------------
  44 : C
  45 :       IMPLICIT INTEGER(I-N)
  46 :         IMPLICIT REAL*8(A-H,O-Z)
  47 : C
  48 : C  INITIALISATION
  49 : C
  50 :         REL = (ELEF1 - ELEF2)/(ELDEP1 - ELDEP2)
  51 : C
  52 :         IF (ELDEP1.LT.YLDEP1) THEN
  53 :                   REL1 = (YLEF1 - ELEF1)/(YLDEP1 - ELDEP1)
  54 :         ELSE
  55 :                   REL1 = REL
  56 :         END IF
  57 : C 
  58 :        IF (ELDEP2.GT.YLDEP2) THEN
  59 :                   REL2 = (YLEF2 - ELEF2)/(YLDEP2 - ELDEP2)
  60 :         ELSE
  61 :                   REL2 = REL
  62 :         END IF
  63 : C
  64 :         RIN1 = (ULEF1 - YLEF1) / (ULDEP1 - YLDEP1)
  65 :         RIN2 = (ULEF2 - YLEF2) / (ULDEP2 - YLDEP2)
  66 :         RR1 = (YLEF1 / YLDEP1)
  67 :         RR2 = (YLEF2 / YLDEP2)
  68 : C
  69 :         IF(IFLAG.EQ.0) THEN
  70 :                   IFLAG = 1
  71 :                   RR = REL
  72 :                   DEPMAX = ELDEP1
  73 :                   EFMAX = ELEF1
  74 :                   DEPMIN = ELDEP2
  75 :                   EFMIN = ELEF2
  76 :                   DEP = 0.0
  77 :                   X0 = 0.0
  78 :         END IF
  79 : C
  80 :         DEPT = DEP + VARDEP
  81 : C
  82 : C  CAS EF = 0
  83 : C
  84 :         IF(EF.EQ.0.)THEN
  85 :            IF(IFLAG.EQ.1)THEN
  86 :               IF(DEPT.GT.0.)GO TO 11
  87 :               IF(DEPT.LT.0.)GO TO 12
  88 :               RETURN
  89 :            END IF
  90 :            IF((VARDEP.GT.0.).AND.(RR.EQ.(EFMIN / (DEPMIN - X0))))THEN
  91 :                    RR = EFMAX / (DEPMAX - X0)
  92 :                    GO TO 3
  93 :            ELSE IF((VARDEP.LT.0.).AND.(RR.EQ.(EFMAX/(DEPMAX-X0))))THEN
  94 :                    RR = EFMIN / (DEPMIN - X0)
  95 :                    GO TO 3
  96 :            END IF
  97 :            IF(IFLAG.EQ.3)GO TO 31
  98 :         END IF
  99 : C
 100 :         GO TO(1,2,3,4),IFLAG
 101 : C
 102 : C  STADE ELASTIQUE
 103 : C
 104 : 1       IFLAG = 1
 105 : 11      IF(EF.GE.0)THEN
 106 :            IF(DEPT.GT.YLDEP1)THEN
 107 :                           DEPMAX = YLDEP1
 108 :                           EFMAX = YLEF1
 109 :                           VARDEP = DEPT - YLDEP1
 110 :                           DEP = YLDEP1
 111 :                           EF = YLEF1
 112 :                           RR = RIN1
 113 :                           GO TO 2
 114 :            ELSE 
 115 :               IF ((ELDEP1.LT.YLDEP1).AND.(DEPT.GE.0.))THEN
 116 :                IF (VARDEP.GE.0.)THEN
 117 :                 IF ((DEP.GE.DEPMAX).OR.(DEPMAX.EQ.ELDEP1)) THEN
 118 :                  IF ((DEP.LE.ELDEP1).AND.(DEPT.LE.ELDEP1))THEN
 119 :                          RR=REL
 120 :                  ELSE IF ((DEP.GE.ELDEP1).AND.(DEPT.GE.ELDEP1))THEN
 121 :                          RR=REL1
 122 :                  ELSE IF ((DEP.LE.ELDEP1).AND.(DEPT.GE.ELDEP1))THEN
 123 :                          VARDEP=DEPT-ELDEP1
 124 :                          EF=ELEF1
 125 :                          DEP=ELDEP1
 126 :                          RR=REL1
 127 :                  ENDIF
 128 :                 ELSE
 129 :                   IF (DEPT.GE.DEPMAX) THEN
 130 :                          VARDEP=DEPT-DEPMAX
 131 :                          EF=EFMAX
 132 :                          DEP=DEPMAX
 133 :                          RR=REL1
 134 :                   ELSE
 135 :                          RR=(EFMAX/DEPMAX)
 136 :                   ENDIF
 137 :                 ENDIF    
 138 :                ELSE 
 139 :                 IF (DEP.GT.DEPMAX) THEN
 140 :                         DEPMAX=DEP
 141 :                         EFMAX=EF
 142 :                  ENDIF
 143 :                  IF (DEPMAX.EQ.ELDEP1)THEN
 144 :                         RR=REL
 145 :                  ELSE
 146 :                         RR=(EFMAX/DEPMAX)
 147 :                  ENDIF    
 148 :                ENDIF
 149 :              EF = EF + VARDEP * RR
 150 :              DEP = DEPT
 151 :              RETURN
 152 :              END IF
 153 :             END IF
 154 :             IF(DEPT.LT.0.) THEN
 155 :                        DEP = 0.
 156 :                        VARDEP = DEPT
 157 :                        EF = 0.
 158 :                        RR = REL
 159 :                        GO TO 12
 160 :            END IF
 161 :            EF = EF + VARDEP * RR
 162 :            DEP = DEPT
 163 :            RETURN
 164 :         END IF
 165 : 12      IF(EF.LE.0.)THEN
 166 :            IF(DEPT.LT.YLDEP2) THEN
 167 :                       DEPMIN = YLDEP2
 168 :                       EFMIN = YLEF2
 169 :                       VARDEP = DEPT - YLDEP2
 170 :                       DEP = YLDEP2
 171 :                       EF = YLEF2
 172 :                       RR = RIN2
 173 :                       GO TO 2
 174 :            ELSE
 175 :               IF ((ELDEP2.GT.YLDEP2).AND.(DEPT.LE.0.))THEN
 176 :                IF (VARDEP.LE.0.)THEN
 177 :                IF ((DEP.LE.DEPMIN).OR.(DEPMIN.EQ.ELDEP2)) THEN
 178 :                  IF ((DEP.GE.ELDEP2).AND.(DEPT.GE.ELDEP2))THEN
 179 :                       RR=REL
 180 :                  ELSE IF ((DEP.LE.ELDEP2).AND.(DEPT.LE.ELDEP2))THEN
 181 :                       RR=REL2
 182 :                  ELSE IF ((DEP.GE.ELDEP2).AND.(DEPT.LE.ELDEP2))THEN
 183 :                       VARDEP=DEPT-ELDEP2
 184 :                       EF=ELEF2
 185 :                       DEP=ELDEP2
 186 :                       RR=REL2
 187 :                  ENDIF
 188 :                 ELSE
 189 :                   IF (DEPT.LE.DEPMIN) THEN
 190 :                       VARDEP=DEPT-DEPMIN
 191 :                       EF=EFMIN
 192 :                       DEP=DEPMIN
 193 :                       RR=REL2
 194 :                   ELSE
 195 :                       RR=(EFMIN/DEPMIN)
 196 :                   ENDIF
 197 :                 ENDIF 
 198 :                ELSE
 199 :                   IF (DEP.LT.DEPMIN)THEN
 200 :                       DEPMIN=DEP
 201 :                       EFMIN=EF
 202 :                   ENDIF
 203 :                IF (DEPMIN.EQ.ELDEP2)THEN
 204 :                       RR=REL
 205 :                  ELSE
 206 :                       RR=(EFMIN/DEPMIN)
 207 :                  ENDIF
 208 :                ENDIF
 209 :                EF = EF + VARDEP * RR
 210 :                DEP = DEPT
 211 :                RETURN
 212 :              END IF
 213 :            END IF
 214 :            IF (DEPT.GT.0.) THEN
 215 :                    DEP = 0.
 216 :                    VARDEP = DEPT
 217 :                    EF = 0.
 218 :                    RR = REL
 219 :                    GO TO 11
 220 :            END IF
 221 :            EF = EF + VARDEP * RR
 222 :            DEP = DEPT
 223 :           RETURN
 224 :         END IF
 225 : C
 226 : C  STADE PLASTIQUE
 227 : C
 228 : 2       IFLAG = 2
 229 :         IF((EF * VARDEP).GE.0.) THEN
 230 :                  EF = EF + VARDEP * RR
 231 :                  DEP = DEPT
 232 :                  IF(EF.GT.ULEF1) IDEP = 1
 233 :                  IF(EF.LT.ULEF2) IDEP = -1
 234 :                RETURN
 235 :         END IF              
 236 :         IF(EF.GE.0.)THEN
 237 :                  DEPMAX = DEP
 238 :                  EFMAX = EF
 239 :                  RR = SQRT(YLDEP1 / DEP) * RR1
 240 :         ELSE
 241 :                  DEPMIN = DEP
 242 :                  EFMIN = EF
 243 :                  RR = SQRT(YLDEP2 / DEPMIN) * RR2
 244 :         END IF
 245 : C
 246 : C   DECHARGE SANS CHANGEMENT DE SENS
 247 : C
 248 : 3       IFLAG = 3
 249 :         IF(EF.EQ.0.)GO TO 4
 250 :         IF((EF * VARDEP).GT.0.)THEN
 251 :                  IF(EF.GT.0.)RR = (EFMAX - EF) / (DEPMAX - DEP)
 252 :                  IF(EF.LT.0.)RR = (EFMIN - EF) / (DEPMIN - DEP)
 253 :                  GO TO 4
 254 :         END IF
 255 :         EFT1 = EF + VARDEP * RR
 256 :         IF((EFT1 * EF).GT.0.0)THEN
 257 :                  EF = EFT1
 258 :                  DEP = DEPT
 259 :                  RETURN
 260 :         END IF
 261 : 31      X0 = DEP - EF / RR
 262 :         IF(VARDEP.GT.0.)RR = EFMAX / (DEPMAX - X0)
 263 :         IF(VARDEP.LT.0.)RR = EFMIN / (DEPMIN - X0)
 264 :         DEP = X0
 265 :         VARDEP = DEPT - DEP
 266 :         EF = 0.
 267 :         IF(VARDEP.EQ.0.)RETURN
 268 : C
 269 : C   DECHARGE APRES LE CHANGEMENT DE SENS
 270 : C
 271 : 4       IFLAG = 4
 272 :         IF((EF * VARDEP).GE.0.)THEN
 273 :            IF(DEPT.GT.DEPMAX)THEN
 274 :                     VARDEP = DEPT - DEPMAX
 275 :                     DEP = DEPMAX
 276 :                     EF = EFMAX
 277 :                   IF(DEPMAX.GT.YLDEP1)THEN
 278 :                     RR = RIN1
 279 :                     GO TO 2
 280 :                   ELSE
 281 :                     RR = (EFMAX/DEPMAX)
 282 :                     GO TO 11
 283 :                   END IF
 284 :            END IF
 285 :            IF(DEPT.LT.DEPMIN)THEN
 286 :                     VARDEP = DEPT - DEPMIN
 287 :                     DEP = DEPMIN
 288 :                     EF = EFMIN
 289 :                   IF(DEPMIN.LT.YLDEP2)THEN
 290 :                     RR = RIN2
 291 :                     GO TO 2
 292 :                   ELSE
 293 :                     RR = (EFMIN/DEPMIN)
 294 :                     GO TO 11
 295 :                   END IF
 296 :            END IF
 297 :            EF = EF + VARDEP * RR
 298 :            DEP = DEPT
 299 :            RETURN
 300 :         END IF
 301 :         IF(EF.GE.0.)RR = SQRT(YLDEP1 / DEPMAX) * RR1
 302 :         IF(EF.LT.0.)RR = SQRT(YLDEP2 / DEPMIN) * RR2
 303 :         GO TO 3
 304 :         END
 305 : 
 306 :  

© Cast3M 2003 - All rights reserved.
Disclaimer