Download maxgen.eso

Back to the list

   1 : C MAXGEN    SOURCE    CHAT      05/01/13    01:35:59     5004           
   2 :        SUBROUTINE MAXGEN(WRK0,WRK1,WRK5,WR12,MFR,
   3 :      1      IB,IGAU,MELE,NCHAIN,KERRE,DT,CMATE,NWA,TEMP0)
   4 : *
   5 : *==============================================================
   6 : *      chaine de Maxwell pour les coques et plaques
   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 :       IMPLICIT INTEGER(I-N)
  51 :        IMPLICIT REAL*8(A-H,O-Z)
  52 : -INC CCOPTIO
  53 : *
  54 :       SEGMENT WRK0
  55 :         REAL*8 XMAT(NCXMAT)
  56 :       ENDSEGMENT
  57 : *
  58 :       SEGMENT WRK1
  59 :         REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
  60 :         REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  61 :         REAL*8 DEFP(NSTRS),XCAR(ICARA)
  62 :       ENDSEGMENT
  63 : *
  64 :       SEGMENT WRK5
  65 :         REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS)
  66 :       ENDSEGMENT
  67 : *
  68 :       SEGMENT WR12
  69 :         REAL*8  EM0(2,NWA(1)),EM1(2,NWA(2)),EM2(2,NWA(3))
  70 :         REAL*8  EM3(2,NWA(4)),EM4(2,NWA(5)),EM5(2,NWA(6))
  71 :         REAL*8  EM6(2,NWA(7)),EM7(2,NWA(8)),EM8(2,NWA(9))
  72 :         REAL*8  SM0(NSTRS),SM1(NSTRS),SM2(NSTRS),SM3(NSTRS)
  73 :         REAL*8  SM4(NSTRS),SM5(NSTRS),SM6(NSTRS),SM7(NSTRS)
  74 :         REAL*8  SM8(NSTRS)
  75 :       ENDSEGMENT
  76 : *
  77 :         CHARACTER*8 CMATE
  78 : 
  79 :        DIMENSION NWA(9)
  80 :        NCXMAT=XMAT(/1)
  81 :        NVARI=VAR0(/1)
  82 :        NSTRS=SIG0(/1)
  83 :        ANU=XMAT(2)
  84 :        UNANU=1.D0-ANU
  85 :        TPS1=TEMP0
  86 :        TPS2=TEMP0+DT
  87 :        SE1=0.D0
  88 :        SE2=0.D0
  89 : 
  90 : *
  91 :          ep=XCAR(1)
  92 : 
  93 :       IF(CMATE.EQ.'ISOTROPE') THEN                                               
  94 : ******************************************************            
  95 : *        Formulations  COQUES MINCES - ISOTROPE      *
  96 : ******************************************************
  97 :        
  98 : ***        TRIDIMENSIONNEL - FOURIER                                         
  99 :          IF (IFOUR.EQ.2.OR.IFOUR.EQ.1) THEN 
 100 :                        
 101 :          CONS=1.D0/(1.D0-(ANU*ANU))
 102 :          CONS1=1.D0/(1.D0+ANU)
 103 :          ep=XCAR(1)
 104 : 
 105 :          DO 10 M=0,NCHAIN-1 
 105 :          CALL MODFIC(TPS1,TPS2,M,WR12,WRK0,
 106 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 107 :            SE1=SE1+E1
 108 :            SE2=SE2+E2
 109 :            FLUA=EXP(-TR*DT)
 110 :            IF (M.EQ.0) THEN   
 111 :              SM0(1)=SM0(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 112 :              SM0(2)=SM0(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
 113 :              SM0(3)=SM0(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
 114 :              SM0(4)=SM0(4)*FLUA+
 115 :      1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
 116 :              SM0(5)=SM0(5)*FLUA+
 117 :      1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
 118 :              SM0(6)=SM0(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
 119 :              DO I=1,6
 120 :                SIGF(I)=SM0(I)
 121 :              ENDDO
 122 :            ELSE IF (M.EQ.1) THEN        
 123 :              SM1(1)=SM1(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 124 :              SM1(2)=SM1(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
 125 :              SM1(3)=SM1(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
 126 :              SM1(4)=SM1(4)*FLUA+
 127 :      1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
 128 :              SM1(5)=SM1(5)*FLUA+
 129 :      1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
 130 :              SM1(6)=SM1(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
 131 :              DO I=1,6
 132 :                SIGF(I)=SIGF(I)+SM1(I)
 133 :              ENDDO
 134 :            ELSE IF (M.EQ.2) THEN
 135 :              SM2(1)=SM2(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 136 :              SM2(2)=SM2(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
 137 :              SM2(3)=SM2(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
 138 :              SM2(4)=SM2(4)*FLUA+
 139 :      1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
 140 :              SM2(5)=SM2(5)*FLUA+
 141 :      1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
 142 :              SM2(6)=SM2(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
 143 :              DO I=1,6
 144 :                SIGF(I)=SIGF(I)+SM2(I)
 145 :              ENDDO
 146 :            ELSE IF (M.EQ.3) THEN
 147 :              SM3(1)=SM3(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 148 :              SM3(2)=SM3(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
 149 :              SM3(3)=SM3(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
 150 :              SM3(4)=SM3(4)*FLUA+
 151 :      1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
 152 :              SM3(5)=SM3(5)*FLUA+
 153 :      1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
 154 :              SM3(6)=SM3(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
 155 :              DO I=1,6
 156 :                SIGF(I)=SIGF(I)+SM3(I)
 157 :              ENDDO
 158 :            ELSE IF (M.EQ.4) THEN
 159 :              SM4(1)=SM4(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 160 :              SM4(2)=SM4(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
 161 :              SM4(3)=SM4(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
 162 :              SM4(4)=SM4(4)*FLUA+
 163 :      1               CONS*EFIC*((ep**3)/1.D02)*(DEPST(4)+ANU*DEPST(5))
 164 :              SM4(5)=SM4(5)*FLUA+
 165 :      1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
 166 :              SM4(6)=SM4(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
 167 :              DO I=1,6
 168 :                SIGF(I)=SIGF(I)+SM4(I)
 169 :              ENDDO
 170 :            ELSE IF (M.EQ.5) THEN
 171 :              SM5(1)=SM5(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 172 :              SM5(2)=SM5(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
 173 :              SM5(3)=SM5(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
 174 :              SM5(4)=SM5(4)*FLUA+
 175 :      1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
 176 :              SM5(5)=SM5(5)*FLUA+
 177 :      1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
 178 :              SM5(6)=SM5(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
 179 :              DO I=1,6
 180 :                SIGF(I)=SIGF(I)+SM5(I)
 181 :              ENDDO
 182 :            ELSE IF (M.EQ.6) THEN
 183 :              SM6(1)=SM6(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 184 :              SM6(2)=SM6(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
 185 :              SM6(3)=SM6(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
 186 :              SM6(4)=SM6(4)*FLUA+
 187 :      1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
 188 :              SM6(5)=SM6(5)*FLUA+
 189 :      1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
 190 :              SM6(6)=SM6(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
 191 :              DO I=1,6
 192 :                SIGF(I)=SIGF(I)+SM6(I)
 193 :              ENDDO
 194 :            ELSE IF (M.EQ.7) THEN
 195 :              SM7(1)=SM7(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 196 :              SM7(2)=SM7(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
 197 :              SM7(3)=SM7(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
 198 :              SM7(4)=SM7(4)*FLUA+
 199 :      1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
 200 :              SM7(5)=SM7(5)*FLUA+
 201 :      1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
 202 :              SM7(6)=SM7(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
 203 :              DO I=1,6
 204 :                SIGF(I)=SIGF(I)+SM7(I)
 205 :              ENDDO
 206 :            ELSE IF (M.EQ.8) THEN
 207 :              SM8(1)=SM8(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 208 :              SM8(2)=SM8(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
 209 :              SM8(3)=SM8(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
 210 :              SM8(4)=SM8(4)*FLUA+
 211 :      1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
 212 :              SM8(5)=SM8(5)*FLUA+
 213 :      1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
 214 :              SM8(6)=SM8(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
 215 :              DO I=1,6
 216 :                SIGF(I)=SIGF(I)+SM8(I)
 217 :              ENDDO
 218 :            END IF
 219 : 10       CONTINUE  
 220 : 
 221 :          DEFP(1)=DEPST(1)-((SIGF(1)-ANU*SIGF(2))/(ep*SE2)
 222 :      1                   -(SIG0(1)-ANU*SIG0(2))/(ep*SE1))
 223 :          DEFP(2)=DEPST(2)-((SIGF(2)-ANU*SIGF(1))/(ep*SE2)
 224 :      1                   -(SIG0(2)-ANU*SIG0(1))/(ep*SE1)) 
 225 :          DEFP(3)=DEPST(3)-(2.D0*(1+ANU)/ep)*(SIGF(3)/SE2-SIG0(3)/SE1) 
 226 :          DEFP(4)=DEPST(4)-(12.D0/(ep**3))*((SIGF(4)-ANU*SIGF(5))/SE2
 227 :      1                     -(SIG0(4)-ANU*SIG0(5))/SE1)
 228 :          DEFP(5)=DEPST(5)-(12.D0/(ep**3))*((SIGF(5)-ANU*SIGF(4))/SE2
 229 :      1                     -(SIG0(5)-ANU*SIG0(4))/SE1)
 230 :          DEFP(6)=DEPST(6)
 231 :      1         -(24.D0*(1+ANU)/ep**3)*(SIGF(6)/SE2-SIG0(6)/SE1)    
 232 :          DO I=1,NSTRS
 233 :            EPINF(I)=EPIN0(I)+DEFP(I)  
 234 :          END DO
 235 :          GOTO 999
 236 : 
 237 : **        Formulation DEFORMATIONS PLANES /AXISYMETRIQUE
 238 :          ELSE IF(IFOUR.EQ.0.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN
 239 : 
 240 :          CONS=1.D0/(1.D0-(ANU*ANU))
 241 :          DO 20 M=0,NCHAIN-1 
 241 :          CALL MODFIC(TPS1,TPS2,M,WR12,WRK0,
 242 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 243 :            SE1=SE1+E1
 244 :            SE2=SE2+E2
 245 :            FLUA=EXP(-TR*DT)
 246 :            IF (M.EQ.0) THEN         
 247 :              SM0(1)=SM0(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 248 :              SM0(2)=SM0(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))     
 249 :              SM0(3)=SM0(3)*FLUA
 250 :      1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
 251 :              SM0(4)=SM0(4)*FLUA
 252 :      1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
 253 :              DO I=1,4
 254 :                SIGF(I)=SM0(I)
 255 :              ENDDO
 256 :            ELSE IF (M.EQ.1) THEN
 257 :              SM1(1)=SM1(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 258 :              SM1(2)=SM1(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))     
 259 :              SM1(3)=SM1(3)*FLUA
 260 :      1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
 261 :              SM1(4)=SM1(4)*FLUA
 262 :      1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
 263 :              DO I=1,4
 264 :                SIGF(I)=SIGF(I)+SM1(I)
 265 :              ENDDO
 266 :            ELSE IF (M.EQ.2) THEN
 267 :              SM2(1)=SM2(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 268 :              SM2(2)=SM2(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))     
 269 :              SM2(3)=SM2(3)*FLUA
 270 :      1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
 271 :              SM2(4)=SM2(4)*FLUA
 272 :      1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
 273 :              DO I=1,4
 274 :                SIGF(I)=SIGF(I)+SM2(I)
 275 :              ENDDO
 276 :            ELSE IF (M.EQ.3) THEN
 277 :              SM3(1)=SM3(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 278 :              SM3(2)=SM3(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))     
 279 :              SM3(3)=SM3(3)*FLUA
 280 :      1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
 281 :              SM3(4)=SM3(4)*FLUA
 282 :      1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
 283 :              DO I=1,4
 284 :                SIGF(I)=SIGF(I)+SM3(I)
 285 :              ENDDO
 286 :            ELSE IF (M.EQ.4) THEN
 287 :              SM4(1)=SM4(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 288 :              SM4(2)=SM4(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))     
 289 :              SM4(3)=SM4(3)*FLUA
 290 :      1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
 291 :              SM4(4)=SM4(4)*FLUA
 292 :      1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
 293 :              DO I=1,4
 294 :                SIGF(I)=SIGF(I)+SM4(I)
 295 :              ENDDO
 296 :            ELSE IF (M.EQ.5) THEN
 297 :              SM5(1)=SM5(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 298 :              SM5(2)=SM5(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))     
 299 :              SM5(3)=SM5(3)*FLUA
 300 :      1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
 301 :              SM5(4)=SM5(4)*FLUA
 302 :      1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
 303 :              DO I=1,4
 304 :                SIGF(I)=SIGF(I)+SM5(I)
 305 :              ENDDO
 306 :            ELSE IF (M.EQ.6) THEN
 307 :              SM6(1)=SM6(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 308 :              SM6(2)=SM6(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))     
 309 :              SM6(3)=SM6(3)*FLUA
 310 :      1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
 311 :              SM6(4)=SM6(4)*FLUA
 312 :      1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
 313 :              DO I=1,4
 314 :                SIGF(I)=SIGF(I)+SM6(I)
 315 :              ENDDO
 316 :            ELSE IF (M.EQ.7) THEN
 317 :              SM7(1)=SM7(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 318 :              SM7(2)=SM7(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))     
 319 :              SM7(3)=SM7(3)*FLUA
 320 :      1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
 321 :              SM7(4)=SM7(4)*FLUA
 322 :      1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
 323 :              DO I=1,4
 324 :                SIGF(I)=SIGF(I)+SM7(I)
 325 :              ENDDO
 326 :            ELSE IF (M.EQ.8) THEN
 327 :              SM8(1)=SM8(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
 328 :              SM8(2)=SM8(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))     
 329 :              SM8(3)=SM8(3)*FLUA
 330 :      1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
 331 :              SM8(4)=SM8(4)*FLUA
 332 :      1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
 333 :              DO I=1,4
 334 :                SIGF(I)=SIGF(I)+SM8(I)
 335 :              ENDDO
 336 :            END IF
 337 : 20       CONTINUE
 338 : 
 339 :          DEFP(1)=DEPST(1)-((SIGF(1)-ANU*SIGF(2))/(SE2*ep)
 340 :      1                   -(SIG0(1)-ANU*SIG0(2))/(SE1*ep))
 341 :          DEFP(2)=DEPST(2)-((SIGF(2)-ANU*SIGF(1))/(SE2*ep)
 342 :      1                   -(SIG0(2)-ANU*SIG0(1))/(SE1*ep)) 
 343 :          DEFP(3)=DEPST(3)-(12/ep**3)*((SIGF(3)-ANU*SIGF(4))/SE2
 344 :      1                   -(SIG0(3)-ANU*SIG0(4))/SE1) 
 345 :          DEFP(4)=DEPST(4)-(12/ep**3)*((SIGF(4)-ANU*SIGF(3))/SE2
 346 :      1                   -(SIG0(4)-ANU*SIG0(3))/SE1) 
 347 :          DO I=1,NSTRS
 348 :            EPINF(I)=EPIN0(I)+DEFP(I)  
 349 :          END DO
 350 :          GOTO 999     
 351 : 
 352 : *        Formulation CONTRAINTES PLANES 
 353 : *
 354 :         ELSE IF(IFOMOD.EQ.-1.AND.IFOUR.EQ.-2) THEN
 355 :          er=(ep**3)/12.d0
 356 :          DO 30 M=0,NCHAIN-1 
 356 :          CALL MODFIC(TPS1,TPS2,M,WR12,WRK0,
 357 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 358 :            SE1=SE1+E1
 359 :            SE2=SE2+E2
 360 :            FLUA=EXP(-TR*DT)
 361 :            IF (M.EQ.0) THEN
 362 :              SM0(1)=SM0(1)*FLUA+EFIC*ep*DEPST(1)
 363 :              SM0(3)=SM0(3)*FLUA+EFIC*er*DEPST(3)
 364 :              SIGF(1)=SM0(1)
 365 :              SIGF(3)=SM0(3)
 366 :            ELSE IF (M.EQ.1) THEN
 367 :              SM1(1)=SM1(1)*FLUA+EFIC*ep*DEPST(1)
 368 :              SM1(3)=SM1(3)*FLUA+EFIC*er*DEPST(3)
 369 :              SIGF(1)=SIGF(1)+SM1(1)
 370 :              SIGF(3)=SIGF(3)+SM1(3)
 371 :            ELSE IF (M.EQ.2) THEN
 372 :              SM2(1)=SM2(1)*FLUA+EFIC*ep*DEPST(1)
 373 :              SM2(3)=SM2(3)*FLUA+EFIC*er*DEPST(3)
 374 :              SIGF(1)=SIGF(1)+SM2(1)
 375 :              SIGF(3)=SIGF(3)+SM2(3)
 376 :            ELSE IF (M.EQ.3) THEN
 377 :              SM3(1)=SM3(1)*FLUA+EFIC*ep*DEPST(1)
 378 :              SM3(3)=SM3(3)*FLUA+EFIC*er*DEPST(3)
 379 :              SIGF(1)=SIGF(1)+SM3(1)
 380 :              SIGF(3)=SIGF(3)+SM3(3)
 381 :            ELSE IF (M.EQ.4) THEN
 382 :              SM4(1)=SM4(1)*FLUA+EFIC*ep*DEPST(1)
 383 :              SM4(3)=SM4(3)*FLUA+EFIC*er*DEPST(3)
 384 :              SIGF(1)=SIGF(1)+SM4(1)
 385 :              SIGF(3)=SIGF(3)+SM4(3)
 386 :            ELSE IF (M.EQ.5) THEN
 387 :              SM5(1)=SM5(1)*FLUA+EFIC*ep*DEPST(1)
 388 :              SM5(3)=SM5(3)*FLUA+EFIC*er*DEPST(3)
 389 :              SIGF(1)=SIGF(1)+SM5(1)
 390 :              SIGF(3)=SIGF(3)+SM5(3)
 391 :            ELSE IF (M.EQ.6) THEN
 392 :              SM6(1)=SM6(1)*FLUA+EFIC*ep*DEPST(1)
 393 :              SM6(3)=SM6(3)*FLUA+EFIC*er*DEPST(3)
 394 :              SIGF(1)=SIGF(1)+SM6(1)
 395 :              SIGF(3)=SIGF(3)+SM6(3)
 396 :            ELSE IF (M.EQ.7) THEN
 397 :              SM7(1)=SM7(1)*FLUA+EFIC*ep*DEPST(1)
 398 :              SM7(3)=SM7(3)*FLUA+EFIC*er*DEPST(3)
 399 :              SIGF(1)=SIGF(1)+SM7(1)
 400 :              SIGF(3)=SIGF(3)+SM7(3)
 401 :            ELSE IF (M.EQ.8) THEN
 402 :              SM8(1)=SM8(1)*FLUA+EFIC*ep*DEPST(1)
 403 :              SM8(3)=SM8(3)*FLUA+EFIC*er*DEPST(3)
 404 :              SIGF(1)=SIGF(1)+SM8(1)
 405 :              SIGF(3)=SIGF(3)+SM8(3)
 406 :            END IF
 407 : 30       CONTINUE
 408 : 
 409 :          DEFP(1)=DEPST(1)-(1.d0/ep)*(SIGF(1)/SE2
 410 :      1                   -SIG0(1)/SE1)
 411 :          DEFP(2)=0.D0 
 412 :          DEFP(3)=DEPST(3)-(1.d0/er)*(SIGF(3)/SE2
 413 :      1                   -SIG0(3)/SE1)
 414 :          DEFP(4)=0.D0   
 415 :          DO I=1,NSTRS
 416 :            EPINF(I)=EPIN0(I)+DEFP(I)  
 417 :          END DO
 418 :          GOTO 999          
 419 :            END IF
 420 : 
 421 : *        Formulation  UNIDIRECTIONNELLES
 422 : *
 423 :         ELSE IF(CMATE.EQ.'UNIDIREC') THEN                                               
 424 :          DO 40 M=0,NCHAIN-1 
 424 :          CALL MODFIC(TPS1,TPS2,M,WR12,WRK0,
 425 :      1                NWA,EFIC,TR,E1,E2,KERRE,CMATE)
 426 :            SE1=SE1+E1
 427 :            SE2=SE2+E2
 428 :            FLUA=EXP(-TR*DT)
 429 :            IF (M.EQ.0) THEN
 430 :              SM0(1)=SM0(1)*FLUA+EFIC*ep*DEPST(1)
 431 :              SIGF(1)=SM0(1)
 432 :            ELSE IF (M.EQ.1) THEN
 433 :              SM1(1)=SM1(1)*FLUA+EFIC*ep*DEPST(1)
 434 :              SIGF(1)=SIGF(1)+SM1(1)
 435 :            ELSE IF (M.EQ.2) THEN
 436 :              SM2(1)=SM2(1)*FLUA+EFIC*ep*DEPST(1)
 437 :              SIGF(1)=SIGF(1)+SM2(1)
 438 :            ELSE IF (M.EQ.3) THEN
 439 :              SM3(1)=SM3(1)*FLUA+EFIC*ep*DEPST(1)
 440 :              SIGF(1)=SIGF(1)+SM3(1)
 441 :            ELSE IF (M.EQ.4) THEN
 442 :              SM4(1)=SM4(1)*FLUA+EFIC*ep*DEPST(1)
 443 :              SIGF(1)=SIGF(1)+SM4(1)
 444 :            ELSE IF (M.EQ.5) THEN
 445 :              SM5(1)=SM5(1)*FLUA+EFIC*ep*DEPST(1)
 446 :              SIGF(1)=SIGF(1)+SM5(1)
 447 :            ELSE IF (M.EQ.6) THEN
 448 :              SM6(1)=SM6(1)*FLUA+EFIC*ep*DEPST(1)
 449 :              SIGF(1)=SIGF(1)+SM6(1)
 450 :            ELSE IF (M.EQ.7) THEN
 451 :              SM7(1)=SM7(1)*FLUA+EFIC*ep*DEPST(1)
 452 :              SIGF(1)=SIGF(1)+SM7(1)
 453 :            ELSE IF (M.EQ.8) THEN
 454 :              SM8(1)=SM8(1)*FLUA+EFIC*ep*DEPST(1)
 455 :              SIGF(1)=SIGF(1)+SM8(1)
 456 :            END IF
 457 : 40       CONTINUE
 458 : 
 459 :          DEFP(1)=DEPST(1)-(1.d0/ep)*(SIGF(1)/SE2
 460 :      1                   -SIG0(1)/SE1)
 461 :          DO I=1,NSTRS
 462 :            EPINF(I)=EPIN0(I)+DEFP(I)  
 463 :          END DO
 464 :          GOTO 999          
 465 :        ENDIF
 466 :        GOTO 999        
 467 : 
 468 : 
 469 :  
 470 : 999       RETURN
 471 :         END
 472 :  
 473 :  
 474 :  
 475 :  
 476 :  
 477 :  

© Cast3M 2003 - All rights reserved.
Disclaimer