Download maxwel.eso

Back to the list

   1 : C MAXWEL    SOURCE    CHAT      05/01/13    01:38:12     5004           
   2 :        SUBROUTINE MAXWEL(WRK0,WRK1,WRK5,WR12,MFR,
   3 :      1      IB,IGAU,MELE,NCHAIN,KERRE,DT,CMATE,NWA,TEMP0)
   4 : *
   5 : *==============================================================
   6 : *      chaine de Maxwell
   7 : *==============================================================
   8 : *
   9 : * entrees
  10 : *
  11 : *   WRK0  
  12 : *        XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU
  13 : *
  14 : *   WRK1
  15 : *        SIG0(NSTRS)  = CONTR. AU DEBUT DU PAS D'INTEGRATION 
  16 : *        DEPST(NSTRS) = INCREMENT DES DEFORM. TOTALES 
  17 : *        VAR0(NVARI)  = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION
  18 : *        XCAR(ICARA)  = CARACT. GEOMETRIQUES DES ELEMENTS FINIS
  19 : *
  20 : *   WRK5
  21 : *        EPINO(NSTRS) = DEFORMATION INELASTIQUE AU DEBUT DU PAS D'INTEGRATION
  22 : *
  23 : *   WRK12
  24 : *        EMi(2,NWA(i+1))    i=0 a 8
  25 : *                        = EVOLUTION DU MODUE D'YOUNG DE LA BRANCHE i
  26 : *        SMi(NSTRS)         i=1 a 8
  27 : *                         = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION
  28 : *
  29 : *   IB = NUMERO DE L'ELEMENT
  30 : *   IGAU = NUMERO DU POINT DE GAUSS
  31 : *   MELE = NUMERO DE L'ELEMENT FINI (TYPE)
  32 : *   NCHAIN = NOMBRE DE BRANCHE DU MODELE DE MAXWELL
  33 : *   DT = INCREMENT DE TEMPS
  34 : *   NWA = DIMENSION DES EVOLUTIONS EMi
  35 : *   TEMP0 = TEMPS COURANT
  36 : *
  37 : 
  38 : * sorties
  39 : *
  40 : *   WRK1
  41 : *        SIGF(NSTRS)= CONTR. A LA FIN DU PAS D'INTEGRATION
  42 : *        DEFP(NSTRS)= INCREMENT DES DEFORM. PLASTIQUES A LA FIN DU PAS                 
  43 : *               D'INTEGRATION
  44 : *
  45 : *   WRK5
  46 : *        EPINF(NSTRS) = DEFORMATION INELASTIQUE A LA FIN DU PAS D'INTEGRATION
  47 : *
  48 : *
  49 : *
  50 : *
  51 : *
  52 : *==============================================================
  53 : *
  54 :       IMPLICIT INTEGER(I-N)
  55 :        IMPLICIT REAL*8(A-H,O-Z)
  56 : -INC CCOPTIO
  57 : *
  58 :       SEGMENT WRK0
  59 :         REAL*8 XMAT(NCXMAT)
  60 :       ENDSEGMENT
  61 : *
  62 :       SEGMENT WRK1
  63 :         REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
  64 :         REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  65 :         REAL*8 DEFP(NSTRS),XCAR(ICARA)
  66 :       ENDSEGMENT
  67 : *
  68 :       SEGMENT WRK5
  69 :         REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS)
  70 :       ENDSEGMENT
  71 : *
  72 :       SEGMENT WR12
  73 :         REAL*8  EM0(2,NWA(1)),EM1(2,NWA(2)),EM2(2,NWA(3))
  74 :         REAL*8  EM3(2,NWA(4)),EM4(2,NWA(5)),EM5(2,NWA(6))
  75 :         REAL*8  EM6(2,NWA(7)),EM7(2,NWA(8)),EM8(2,NWA(9))
  76 :         REAL*8  SM0(NSTRS),SM1(NSTRS),SM2(NSTRS),SM3(NSTRS)
  77 :         REAL*8  SM4(NSTRS),SM5(NSTRS),SM6(NSTRS),SM7(NSTRS)
  78 :         REAL*8  SM8(NSTRS)
  79 :       ENDSEGMENT
  80 : *
  81 :         CHARACTER*8 CMATE
  82 : 
  83 :        DIMENSION NWA(9)
  84 :        NCXMAT=XMAT(/1)
  85 :        NVARI=VAR0(/1)
  86 :        NSTRS=SIG0(/1)
  87 :        ANU=XMAT(2)
  88 :        UNANU=1.D0-ANU
  89 :        TPS1=TEMP0
  90 :        TPS2=TEMP0+DT
  91 :        SE1=0.D0
  92 :        SE2=0.D0
  93 : 
  94 : *
  95 : *        Formulation UNIDIMENSIONNELLE 
  96 : *   ou   Formulation UNIDIRECTIONNELLE
  97 : *
  98 :       IF (MFR.EQ.27.OR.
  99 :      & ((MFR.EQ.1.OR.MFR.EQ.33).AND.( CMATE.EQ.'UNIDIREC'))) THEN
 100 : 
 101 :           CONS=1.
 102 :           IF(MFR.EQ.27) XSECT=XCAR(1)
 103 :           IF(MFR.EQ.1.OR.MFR.EQ.33) XSECT=1.D0
 104 : 
 105 : 
 105 :          CALL MODFIC(TPS1,TPS2,0,WR12,WRK0,
 106 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 107 :            FLUA=EXP(-TR*DT)       
 108 :            SM0(1)=SM0(1)/XSECT 
 109 :            SM0(1)=SM0(1)*FLUA+CONS*EFIC*DEPST(1)
 110 :            SM0(1)=SM0(1)*XSECT 
 111 :            SIGF(1)=SM0(1)
 112 :            SE1=SE1+E1
 113 :            SE2=SE2+E2
 114 : 
 114 :          CALL MODFIC(TPS1,TPS2,1,WR12,WRK0,
 115 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 116 :            FLUA=EXP(-TR*DT)
 117 :            SM1(1)=SM1(1)/XSECT 
 118 :            SM1(1)=SM1(1)*FLUA+CONS*EFIC*DEPST(1)
 119 :            SM1(1)=SM1(1)*XSECT 
 120 :            SIGF(1)=SIGF(1)+SM1(1)
 121 :            SE1=SE1+E1
 122 :            SE2=SE2+E2
 123 :            
 124 :           
 125 : 
 125 :          CALL MODFIC(TPS1,TPS2,2,WR12,WRK0,
 126 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 127 :            FLUA=EXP(-TR*DT)
 128 :            SM2(1)=SM2(1)/XSECT 
 129 :            SM2(1)=SM2(1)*FLUA+CONS*EFIC*DEPST(1)
 130 :            SM2(1)=SM2(1)*XSECT 
 131 :            SIGF(1)=SIGF(1)+SM2(1)
 132 :            SE1=SE1+E1
 133 :            SE2=SE2+E2
 134 : 
 134 :          CALL MODFIC(TPS1,TPS2,3,WR12,WRK0,
 135 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 136 :            FLUA=EXP(-TR*DT)
 137 :            SM3(1)=SM3(1)/XSECT 
 138 :            SM3(1)=SM3(1)*FLUA+CONS*EFIC*DEPST(1)
 139 :            SM3(1)=SM3(1)*XSECT 
 140 :            SIGF(1)=SIGF(1)+SM3(1)
 141 :            SE1=SE1+E1
 142 :            SE2=SE2+E2
 143 : 
 143 :          CALL MODFIC(TPS1,TPS2,4,WR12,WRK0,
 144 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 145 :            FLUA=EXP(-TR*DT)
 146 :            SM4(1)=SM4(1)/XSECT 
 147 :            SM4(1)=SM4(1)*FLUA+CONS*EFIC*DEPST(1)
 148 :            SM4(1)=SM4(1)*XSECT 
 149 :            SIGF(1)=SIGF(1)+SM4(1)
 150 :            SE1=SE1+E1
 151 :            SE2=SE2+E2
 152 : 
 153 :            IF (NCHAIN-1.GE.5) THEN
 153 :              CALL MODFIC(TPS1,TPS2,5,WR12,WRK0,
 154 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 155 :              FLUA=EXP(-TR*DT)
 156 :              SM5(1)=SM5(1)/XSECT 
 157 :              SM5(1)=SM5(1)*FLUA+CONS*EFIC*DEPST(1)
 158 :              SM5(1)=SM5(1)*XSECT
 159 :              SIGF(1)=SIGF(1)+SM5(1)
 160 :            SE1=SE1+E1
 161 :            SE2=SE2+E2
 162 : 
 163 :            ELSE IF (NCHAIN-1.GE.6) THEN
 163 :              CALL MODFIC(TPS1,TPS2,6,WR12,WRK0,
 164 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 165 :              FLUA=EXP(-TR*DT)
 166 :              SM6(1)=SM6(1)/XSECT 
 167 :              SM6(1)=SM6(1)*FLUA+CONS*EFIC*DEPST(1)
 168 :              SM6(1)=SM6(1)*XSECT
 169 :              SIGF(1)=SIGF(1)+SM6(1)
 170 :            SE1=SE1+E1
 171 :            SE2=SE2+E2
 172 : 
 173 :            ELSE IF (NCHAIN-1.GE.7) THEN
 173 :          CALL MODFIC(TPS1,TPS2,M,WR12,WRK0,
 174 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 175 :              FLUA=EXP(-TR*DT)
 176 :              SM7(1)=SM7(1)/XSECT 
 177 :              SM7(1)=SM7(1)*FLUA+CONS*EFIC*DEPST(1)
 178 :              SM7(1)=SM7(1)*XSECT
 179 :              SIGF(1)=SIGF(1)+SM7(1)
 180 :            SE1=SE1+E1
 181 :            SE2=SE2+E2
 182 : 
 183 :            ELSE IF (NCHAIN-1.GE.8) THEN
 183 :              CALL MODFIC(TPS1,TPS2,8,WR12,WRK0,
 184 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 185 :              FLUA=EXP(-TR*DT)
 186 :              SM8(1)=SM8(1)/XSECT
 187 :              SM8(1)=SM8(1)*FLUA+CONS*EFIC*DEPST(1)
 188 :              SM8(1)=SM8(1)*XSECT
 189 :              SIGF(1)=SIGF(1)+SM8(1)
 190 :            SE1=SE1+E1
 191 :            SE2=SE2+E2
 192 :            ENDIF
 193 :            
 194 :            DEFP(1)=DEPST(1)-((SIGF(1))/(XSECT*SE2))
 195 :      1       +((SIG0(1))/(XSECT*SE1)) 
 196 :            EPINF(1)=EPIN0(1)-DEFP(1)  
 197 :        DO I=1,NVARI
 198 :        VARF(I)=VAR0(I)
 199 :        END DO
 200 :        GOTO 999        
 201 : 
 202 : *        Formulation TRIDIMENSIONNELLE MASSIVE
 203 : *
 204 :        ELSE IF (IFOUR.EQ.2.OR.IFOUR.EQ.1) THEN                                           
 205 :          CONS=1.D0/((1.D0+ANU)*(1.D0-2.D0*ANU))
 206 :          DO 10 M=0,NCHAIN-1 
 206 :          CALL MODFIC(TPS1,TPS2,M,WR12,WRK0,
 207 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 208 :            SE1=SE1+E1
 209 :            SE2=SE2+E2
 210 :            FLUA=EXP(-TR*DT)
 211 :            IF (M.EQ.0) THEN   
 212 :              SM0(1)=SM0(1)*FLUA
 213 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 214 :              SM0(2)=SM0(2)*FLUA
 215 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))
 216 :              SM0(3)=SM0(3)*FLUA
 217 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 218 :              SM0(4)=SM0(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 219 :              SM0(5)=SM0(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5)
 220 :              SM0(6)=SM0(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6)
 221 :              SIGF(1)=SM0(1)
 222 :              SIGF(2)=SM0(2)
 223 :              SIGF(3)=SM0(3)
 224 :              SIGF(4)=SM0(4)
 225 :              SIGF(5)=SM0(5)
 226 :              SIGF(6)=SM0(6)
 227 :            ELSE IF (M.EQ.1) THEN        
 228 :              SM1(1)=SM1(1)*FLUA
 229 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 230 :              SM1(2)=SM1(2)*FLUA
 231 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 232 :              SM1(3)=SM1(3)*FLUA
 233 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 234 :              SM1(4)=SM1(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 235 :              SM1(5)=SM1(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5)
 236 :              SM1(6)=SM1(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6)
 237 :              SIGF(1)=SIGF(1)+SM1(1)
 238 :              SIGF(2)=SIGF(2)+SM1(2)
 239 :              SIGF(3)=SIGF(3)+SM1(3)
 240 :              SIGF(4)=SIGF(4)+SM1(4)
 241 :              SIGF(5)=SIGF(5)+SM1(5)
 242 :              SIGF(6)=SIGF(6)+SM1(6)
 243 :            ELSE IF (M.EQ.2) THEN
 244 :              SM2(1)=SM2(1)*FLUA
 245 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 246 :              SM2(2)=SM2(2)*FLUA
 247 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 248 :              SM2(3)=SM2(3)*FLUA
 249 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 250 :              SM2(4)=SM2(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 251 :              SM2(5)=SM2(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5)
 252 :              SM2(6)=SM2(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6)
 253 :              SIGF(1)=SIGF(1)+SM2(1)
 254 :              SIGF(2)=SIGF(2)+SM2(2)
 255 :              SIGF(3)=SIGF(3)+SM2(3)
 256 :              SIGF(4)=SIGF(4)+SM2(4)
 257 :              SIGF(5)=SIGF(5)+SM2(5)
 258 :              SIGF(6)=SIGF(6)+SM2(6)
 259 :            ELSE IF (M.EQ.3) THEN
 260 :              SM3(1)=SM3(1)*FLUA
 261 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 262 :              SM3(2)=SM3(2)*FLUA
 263 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 264 :              SM3(3)=SM3(3)*FLUA
 265 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 266 :              SM3(4)=SM3(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 267 :              SM3(5)=SM2(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5)
 268 :              SM3(6)=SM2(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6)
 269 :              SIGF(1)=SIGF(1)+SM3(1)
 270 :              SIGF(2)=SIGF(2)+SM3(2)
 271 :              SIGF(3)=SIGF(3)+SM3(3)
 272 :              SIGF(4)=SIGF(4)+SM3(4)
 273 :              SIGF(5)=SIGF(5)+SM3(5)
 274 :              SIGF(6)=SIGF(6)+SM3(6)
 275 :            ELSE IF (M.EQ.4) THEN
 276 :              SM4(1)=SM4(1)*FLUA
 277 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 278 :              SM4(2)=SM4(2)*FLUA
 279 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 280 :              SM4(3)=SM4(3)*FLUA
 281 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 282 :              SM4(4)=SM4(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 283 :              SM4(5)=SM4(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5)
 284 :              SM4(6)=SM4(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6)
 285 :              SIGF(1)=SIGF(1)+SM4(1)
 286 :              SIGF(2)=SIGF(2)+SM4(2)
 287 :              SIGF(3)=SIGF(3)+SM4(3)
 288 :              SIGF(4)=SIGF(4)+SM4(4)
 289 :              SIGF(5)=SIGF(5)+SM4(5)
 290 :              SIGF(6)=SIGF(6)+SM4(6)
 291 :            ELSE IF (M.EQ.5) THEN
 292 :              SM5(1)=SM5(1)*FLUA
 293 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 294 :              SM5(2)=SM5(2)*FLUA
 295 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 296 :              SM5(3)=SM5(3)*FLUA
 297 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 298 :              SM5(4)=SM5(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 299 :              SM5(5)=SM5(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5)
 300 :              SM5(6)=SM5(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6)
 301 :              SIGF(1)=SIGF(1)+SM5(1)
 302 :              SIGF(2)=SIGF(2)+SM5(2)
 303 :              SIGF(3)=SIGF(3)+SM5(3)
 304 :              SIGF(4)=SIGF(4)+SM5(4)
 305 :              SIGF(5)=SIGF(5)+SM5(5)
 306 :              SIGF(6)=SIGF(6)+SM5(6)
 307 :            ELSE IF (M.EQ.6) THEN
 308 :              SM6(1)=SM6(1)*FLUA
 309 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 310 :              SM6(2)=SM6(2)*FLUA
 311 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 312 :              SM6(3)=SM6(3)*FLUA
 313 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 314 :              SM6(4)=SM6(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 315 :              SM6(5)=SM6(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5)
 316 :              SM6(6)=SM6(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6)
 317 :              SIGF(1)=SIGF(1)+SM6(1)
 318 :              SIGF(2)=SIGF(2)+SM6(2)
 319 :              SIGF(3)=SIGF(3)+SM6(3)
 320 :              SIGF(4)=SIGF(4)+SM6(4)
 321 :              SIGF(5)=SIGF(5)+SM6(5)
 322 :              SIGF(6)=SIGF(6)+SM6(6)
 323 :            ELSE IF (M.EQ.7) THEN
 324 :              SM7(1)=SM7(1)*FLUA
 325 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 326 :              SM7(2)=SM7(2)*FLUA
 327 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 328 :              SM7(3)=SM7(3)*FLUA
 329 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 330 :              SM7(4)=SM7(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 331 :              SM7(5)=SM7(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5)
 332 :              SM7(6)=SM7(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6)
 333 :              SIGF(1)=SIGF(1)+SM7(1)
 334 :              SIGF(2)=SIGF(2)+SM7(2)
 335 :              SIGF(3)=SIGF(3)+SM7(3)
 336 :              SIGF(4)=SIGF(4)+SM7(4)
 337 :              SIGF(5)=SIGF(5)+SM7(5)
 338 :              SIGF(6)=SIGF(6)+SM7(6)      
 339 :            ELSE IF (M.EQ.8) THEN
 340 :              SM8(1)=SM8(1)*FLUA
 341 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 342 :              SM8(2)=SM8(2)*FLUA
 343 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 344 :              SM8(3)=SM8(3)*FLUA
 345 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 346 :              SM8(4)=SM8(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 347 :              SM8(5)=SM8(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5)
 348 :              SM8(6)=SM8(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6)
 349 :              SIGF(1)=SIGF(1)+SM8(1)
 350 :              SIGF(2)=SIGF(2)+SM8(2)
 351 :              SIGF(3)=SIGF(3)+SM8(3)
 352 :              SIGF(4)=SIGF(4)+SM8(4)
 353 :              SIGF(5)=SIGF(5)+SM8(5)
 354 :              SIGF(6)=SIGF(6)+SM8(6)
 355 :            END IF
 356 : 10       CONTINUE  
 357 : 
 358 :          DEFP(1)=DEPST(1)-((SIGF(1)-ANU*(SIGF(2)+SIGF(3)))/SE2
 359 :      1                   -(SIG0(1)-ANU*(SIG0(2)+SIG0(3)))/SE1)
 360 :          DEFP(2)=DEPST(2)-((SIGF(2)-ANU*(SIGF(1)+SIGF(3)))/SE2
 361 :      1                   -(SIG0(2)-ANU*(SIG0(1)+SIG0(3)))/SE1) 
 362 :          DEFP(3)=DEPST(3)-((SIGF(3)-ANU*(SIGF(2)+SIGF(1)))/SE2
 363 :      1                   -(SIG0(3)-ANU*(SIG0(2)+SIG0(1)))/SE1) 
 364 :          DEFP(4)=DEPST(4)-(1+ANU)*(SIGF(4)/SE2-SIG0(4)/SE1)
 365 :          DEFP(5)=DEPST(5)-(1+ANU)*(SIGF(5)/SE2-SIG0(5)/SE1)
 366 :          DEFP(6)=DEPST(6)-(1+ANU)*(SIGF(6)/SE2-SIG0(6)/SE1)    
 367 :          DO I=1,NSTRS
 368 :            EPINF(I)=EPIN0(I)+DEFP(I)  
 369 :          END DO
 370 :          GOTO 999
 371 : 
 372 : 
 373 : *
 374 : *        Formulation DEFORMATIONS PLANES /AXISYMETRIQUE
 375 : *
 376 :        ELSE IF ((IFOMOD.EQ.-1.AND.IFOUR.NE.-2).OR.
 377 :      &       (IFOMOD.EQ.0.OR.IFOMOD.EQ.1))  THEN    
 378 :           CONS=1.D0/((1.D0+ANU)*(1.D0-2.D0*ANU))
 379 :          DO 20 M=0,NCHAIN-1 
 379 :          CALL MODFIC(TPS1,TPS2,M,WR12,WRK0,
 380 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 381 :            SE1=SE1+E1
 382 :            SE2=SE2+E2
 383 :            FLUA=EXP(-TR*DT)
 384 :            IF (M.EQ.0) THEN         
 385 :              SM0(1)=SM0(1)*FLUA
 386 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 387 :              SM0(2)=SM0(2)*FLUA
 388 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 389 :              SM0(3)=SM0(3)*FLUA
 390 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 391 :              SM0(4)=SM0(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 392 :              SIGF(1)=SM0(1)
 393 :              SIGF(2)=SM0(2)
 394 :              SIGF(3)=SM0(3)
 395 :              SIGF(4)=SM0(4)
 396 :            ELSE IF (M.EQ.1) THEN
 397 :              SM1(1)=SM1(1)*FLUA
 398 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 399 :              SM1(2)=SM1(2)*FLUA
 400 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 401 :              SM1(3)=SM1(3)*FLUA
 402 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 403 :              SM1(4)=SM1(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 404 :              SIGF(1)=SIGF(1)+SM1(1)
 405 :              SIGF(2)=SIGF(2)+SM1(2)
 406 :              SIGF(3)=SIGF(3)+SM1(3)
 407 :              SIGF(4)=SIGF(4)+SM1(4)
 408 :            ELSE IF (M.EQ.2) THEN
 409 :              SM2(1)=SM2(1)*FLUA
 410 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 411 :              SM2(2)=SM2(2)*FLUA
 412 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 413 :              SM2(3)=SM2(3)*FLUA
 414 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 415 :              SM2(4)=SM2(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 416 :              SIGF(1)=SIGF(1)+SM2(1)
 417 :              SIGF(2)=SIGF(2)+SM2(2)
 418 :              SIGF(3)=SIGF(3)+SM2(3)
 419 :              SIGF(4)=SIGF(4)+SM2(4)
 420 :            ELSE IF (M.EQ.3) THEN
 421 :              SM3(1)=SM3(1)*FLUA
 422 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 423 :              SM3(2)=SM3(2)*FLUA
 424 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 425 :              SM3(3)=SM3(3)*FLUA
 426 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 427 :              SM3(4)=SM3(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 428 :              SIGF(1)=SIGF(1)+SM3(1)
 429 :              SIGF(2)=SIGF(2)+SM3(2)
 430 :              SIGF(3)=SIGF(3)+SM3(3)
 431 :              SIGF(4)=SIGF(4)+SM3(4)
 432 :            ELSE IF (M.EQ.4) THEN
 433 :              SM4(1)=SM4(1)*FLUA
 434 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 435 :              SM4(2)=SM4(2)*FLUA
 436 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 437 :              SM4(3)=SM4(3)*FLUA
 438 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 439 :              SM4(4)=SM4(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 440 :              SIGF(1)=SIGF(1)+SM4(1)
 441 :              SIGF(2)=SIGF(2)+SM4(2)
 442 :              SIGF(3)=SIGF(3)+SM4(3)
 443 :              SIGF(4)=SIGF(4)+SM4(4)
 444 :            ELSE IF (M.EQ.5) THEN
 445 :              SM5(1)=SM5(1)*FLUA
 446 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 447 :              SM5(2)=SM5(2)*FLUA
 448 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 449 :              SM5(3)=SM5(3)*FLUA
 450 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 451 :              SM5(4)=SM5(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 452 :              SIGF(1)=SIGF(1)+SM5(1)
 453 :              SIGF(2)=SIGF(2)+SM5(2)
 454 :              SIGF(3)=SIGF(3)+SM5(3)
 455 :              SIGF(4)=SIGF(4)+SM5(4)
 456 :            ELSE IF (M.EQ.6) THEN
 457 :              SM6(1)=SM6(1)*FLUA
 458 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 459 :              SM6(2)=SM6(2)*FLUA
 460 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 461 :              SM6(3)=SM6(3)*FLUA
 462 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 463 :              SM6(4)=SM6(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 464 :              SIGF(1)=SIGF(1)+SM6(1)
 465 :              SIGF(2)=SIGF(2)+SM6(2)
 466 :              SIGF(3)=SIGF(3)+SM6(3)
 467 :              SIGF(4)=SIGF(4)+SM6(4)
 468 :            ELSE IF (M.EQ.7) THEN             
 469 :              SM7(1)=SM7(1)*FLUA
 470 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 471 :              SM7(2)=SM7(2)*FLUA
 472 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 473 :              SM7(3)=SM7(3)*FLUA
 474 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 475 :              SM7(4)=SM7(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 476 :              SIGF(1)=SIGF(1)+SM7(1)
 477 :              SIGF(2)=SIGF(2)+SM7(2)
 478 :              SIGF(3)=SIGF(3)+SM7(3)
 479 :              SIGF(4)=SIGF(4)+SM7(4) 
 480 :            ELSE IF (M.EQ.8) THEN
 481 :              SM8(1)=SM8(1)*FLUA
 482 :      1            +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3)))
 483 :              SM8(2)=SM8(2)*FLUA
 484 :      1            +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3)))     
 485 :              SM8(3)=SM8(3)*FLUA
 486 :      1            +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2)))
 487 :              SM8(4)=SM8(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4)
 488 :              SIGF(1)=SIGF(1)+SM8(1)
 489 :              SIGF(2)=SIGF(2)+SM8(2)
 490 :              SIGF(3)=SIGF(3)+SM8(3)
 491 :              SIGF(4)=SIGF(4)+SM8(4)
 492 :            END IF
 493 : 20       CONTINUE
 494 : 
 495 :          DEFP(1)=DEPST(1)-((SIGF(1)-ANU*(SIGF(2)+SIGF(3)))/SE2
 496 :      1                   -(SIG0(1)-ANU*(SIG0(2)+SIG0(3)))/SE1)
 497 :          DEFP(2)=DEPST(2)-((SIGF(2)-ANU*(SIGF(1)+SIGF(3)))/SE2
 498 :      1                   -(SIG0(2)-ANU*(SIG0(1)+SIG0(3)))/SE1) 
 499 :          DEFP(3)=DEPST(3)-((SIGF(3)-ANU*(SIGF(2)+SIGF(1)))/SE2
 500 :      1                   -(SIG0(3)-ANU*(SIG0(2)+SIG0(1)))/SE1) 
 501 :          DEFP(4)=DEPST(4)-(1+ANU)*(SIGF(4)/SE2-SIG0(4)/SE1)    
 502 :          DO I=1,NSTRS
 503 :            EPINF(I)=EPIN0(I)+DEFP(I)  
 504 :          END DO
 505 :          GOTO 999     
 506 : 
 507 : *
 508 : *        Formulation CONTRAINTES PLANES 
 509 : *
 510 :        ELSE IF (IFOMOD.EQ.-1.AND.IFOUR.EQ.-2) THEN
 511 : *         CONS=1.D0/(UNANU*ANU)
 512 :          CONS=1.D0/(1.D0-(ANU*ANU))
 513 :          DO 30 M=0,NCHAIN-1 
 513 :          CALL MODFIC(TPS1,TPS2,M,WR12,WRK0,
 514 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 515 :            SE1=SE1+E1
 516 :            SE2=SE2+E2
 517 :            FLUA=EXP(-TR*DT)
 518 :            IF (M.EQ.0) THEN
 519 :              SM0(1)=SM0(1)*FLUA
 520 :      1            +CONS*EFIC*(DEPST(1)+ANU*DEPST(2))
 521 :              SM0(2)=SM0(2)*FLUA
 522 :      1            +CONS*EFIC*(DEPST(2)+ANU*DEPST(1))     
 523 :              SM0(3)=0.D0
 524 :              SM0(4)=SM0(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4)
 525 :              SIGF(1)=SM0(1)
 526 :              SIGF(2)=SM0(2)
 527 :              SIGF(3)=SM0(3)
 528 :              SIGF(4)=SM0(4)
 529 :            ELSE IF (M.EQ.1) THEN
 530 :              SM1(1)=SM1(1)*FLUA
 531 :      1            +CONS*EFIC*(DEPST(1)+ANU*DEPST(2))
 532 :              SM1(2)=SM1(2)*FLUA
 533 :      1            +CONS*EFIC*(DEPST(2)+ANU*DEPST(1))     
 534 :              SM1(3)=0.D0
 535 :              SM1(4)=SM1(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4)
 536 :              SIGF(1)=SIGF(1)+SM1(1)
 537 :              SIGF(2)=SIGF(2)+SM1(2)
 538 :              SIGF(3)=SIGF(3)+SM1(3)
 539 :              SIGF(4)=SIGF(4)+SM1(4)
 540 :            ELSE IF (M.EQ.2) THEN
 541 :              SM2(1)=SM2(1)*FLUA
 542 :      1            +CONS*EFIC*(DEPST(1)+ANU*DEPST(2))
 543 :              SM2(2)=SM2(2)*FLUA
 544 :      1            +CONS*EFIC*(DEPST(2)+ANU*DEPST(1))     
 545 :              SM2(3)=0.D0
 546 :              SM2(4)=SM2(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4)
 547 :              SIGF(1)=SIGF(1)+SM2(1)
 548 :              SIGF(2)=SIGF(2)+SM2(2)
 549 :              SIGF(3)=SIGF(3)+SM2(3)
 550 :              SIGF(4)=SIGF(4)+SM2(4)
 551 :            ELSE IF (M.EQ.3) THEN
 552 :              SM3(1)=SM3(1)*FLUA
 553 :      1            +CONS*EFIC*(DEPST(1)+ANU*DEPST(2))
 554 :              SM3(2)=SM3(2)*FLUA
 555 :      1            +CONS*EFIC*(DEPST(2)+ANU*DEPST(1))     
 556 :              SM3(3)=0.D0
 557 :              SM3(4)=SM3(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4)
 558 :              SIGF(1)=SIGF(1)+SM3(1)
 559 :              SIGF(2)=SIGF(2)+SM3(2)
 560 :              SIGF(3)=SIGF(3)+SM3(3)
 561 :              SIGF(4)=SIGF(4)+SM3(4)
 562 :            ELSE IF (M.EQ.4) THEN
 563 :              SM4(1)=SM4(1)*FLUA
 564 :      1            +CONS*EFIC*(DEPST(1)+ANU*DEPST(2))
 565 :              SM4(2)=SM4(2)*FLUA
 566 :      1            +CONS*EFIC*(DEPST(2)+ANU*DEPST(1))     
 567 :              SM4(3)=0.D0
 568 :              SM4(4)=SM4(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4)
 569 :              SIGF(1)=SIGF(1)+SM4(1)
 570 :              SIGF(2)=SIGF(2)+SM4(2)
 571 :              SIGF(3)=SIGF(3)+SM4(3)
 572 :              SIGF(4)=SIGF(4)+SM4(4)
 573 :            ELSE IF (M.EQ.5) THEN
 574 :              SM5(1)=SM5(1)*FLUA
 575 :      1            +CONS*EFIC*(DEPST(1)+ANU*DEPST(2))
 576 :              SM5(2)=SM5(2)*FLUA
 577 :      1            +CONS*EFIC*(DEPST(2)+ANU*DEPST(1))     
 578 :              SM5(3)=0.D0
 579 :              SM5(4)=SM5(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4)
 580 :              SIGF(1)=SIGF(1)+SM5(1)
 581 :              SIGF(2)=SIGF(2)+SM5(2)
 582 :              SIGF(3)=SIGF(3)+SM5(3)
 583 :              SIGF(4)=SIGF(4)+SM5(4)
 584 :            ELSE IF (M.EQ.6) THEN
 585 :              SM6(1)=SM6(1)*FLUA
 586 :      1            +CONS*EFIC*(DEPST(1)+ANU*DEPST(2))
 587 :              SM6(2)=SM6(2)*FLUA
 588 :      1            +CONS*EFIC*(DEPST(2)+ANU*DEPST(1))     
 589 :              SM6(3)=0.D0
 590 :              SM6(4)=SM6(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4)
 591 :              SIGF(1)=SIGF(1)+SM6(1)
 592 :              SIGF(2)=SIGF(2)+SM6(2)
 593 :              SIGF(3)=SIGF(3)+SM6(3)
 594 :              SIGF(4)=SIGF(4)+SM6(4)
 595 :            ELSE IF (M.EQ.7) THEN
 596 :              SM7(1)=SM7(1)*FLUA
 597 :      1            +CONS*EFIC*(DEPST(1)+ANU*DEPST(2))
 598 :              SM7(2)=SM7(2)*FLUA
 599 :      1            +CONS*EFIC*(DEPST(2)+ANU*DEPST(1))     
 600 :              SM7(3)=0.D0
 601 :              SM7(4)=SM7(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4)
 602 :              SIGF(1)=SIGF(1)+SM7(1)
 603 :              SIGF(2)=SIGF(2)+SM7(2)
 604 :              SIGF(3)=SIGF(3)+SM7(3)
 605 :              SIGF(4)=SIGF(4)+SM7(4) 
 606 :            ELSE IF (M.EQ.8) THEN
 607 :              SM8(1)=SM8(1)*FLUA
 608 :      1            +CONS*EFIC*(DEPST(1)+ANU*DEPST(2))
 609 :              SM8(2)=SM8(2)*FLUA
 610 :      1            +CONS*EFIC*(DEPST(2)+ANU*DEPST(1))     
 611 :              SM8(3)=0.D0
 612 :              SM8(4)=SM8(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4)
 613 :              SIGF(1)=SIGF(1)+SM8(1)
 614 :              SIGF(2)=SIGF(2)+SM8(2)
 615 :              SIGF(3)=SIGF(3)+SM8(3)
 616 :              SIGF(4)=SIGF(4)+SM8(4)
 617 :            END IF
 618 : 30       CONTINUE
 619 : 
 620 :          DEFP(1)=DEPST(1)-((SIGF(1)-ANU*(SIGF(2)+SIGF(3)))/SE2
 621 :      1                   -(SIG0(1)-ANU*(SIG0(2)+SIG0(3)))/SE1)
 622 :          DEFP(2)=DEPST(2)-((SIGF(2)-ANU*(SIGF(1)+SIGF(3)))/SE2
 623 :      1                   -(SIG0(2)-ANU*(SIG0(1)+SIG0(3)))/SE1) 
 624 :          DEFP(3)=DEPST(3)-((SIGF(3)-ANU*(SIGF(2)+SIGF(1)))/SE2
 625 :      1                   -(SIG0(3)-ANU*(SIG0(2)+SIG0(1)))/SE1) 
 626 :          DEFP(4)=DEPST(4)-(1+ANU)*(SIGF(4)/SE2-SIG0(4)/SE1)    
 627 :          DO I=1,NSTRS
 628 :            EPINF(I)=EPIN0(I)+DEFP(I)  
 629 :          END DO
 630 :          GOTO 999          
 631 : 
 632 :        ENDIF
 633 :        GOTO 999           
 634 : 
 635 :  
 636 : 999       RETURN
 637 :         END
 638 :  
 639 :  
 640 :  
 641 :  
 642 :  
 643 :  
 644 :  
 645 :  
 646 :  
 647 :  
 648 :  
 649 :  
 650 :  

© Cast3M 2003 - All rights reserved.
Disclaimer