Télécharger maxgen.eso

Retour à la liste

Numérotation des lignes :

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

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