Download cmaxwe.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer