Télécharger maxgen.eso

Retour à la liste

Numérotation des lignes :

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

© Cast3M 2003 - Tous droits réservés.
Mentions légales