Télécharger czeril.eso

Retour à la liste

Numérotation des lignes :

  1. C CZERIL SOURCE BP208322 17/03/01 21:16:54 9325
  2. C ZERILI SOURCE AC2 96/01/29 21:20:10 2008
  3. SUBROUTINE CZERIL(wrk52,wrk53,wrk54,wrk2,wrk3,
  4. & IB,IGAU,NBPGAU,necou,ecou,iecou,xecou)
  5. c SUBROUTINE CZERIL(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL,
  6. c . N2PTEL,var0,bid,bid,XMAT,PRECIS,work2,work,TRAC,
  7. c . SIGF,varf,DEFP,KERRE,MFR1,IB,IGAU,NSTRS1,EPAIST,MELE,NPINT,
  8. c . NBPGAU,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK,
  9. c . ROTHOO,DDHOMU,CRIGI,DSIGT,DT)
  10. *
  11. *_________________________________________________________________
  12. *
  13. *
  14. * ENTREES :
  15. * ---------
  16. *
  17. * CELLES DE ECOINC PLUS:
  18. * DT = PAS DE TEMPS DU CALCUL
  19. *
  20. * SORTIE :
  21. * --------
  22. *
  23. * CELLES DE ECOINC
  24. * TRAC(2*NCOURB) LE TABLEAU DE LA COURBE DE TRACTION
  25. *
  26. * ============================================================
  27. * ICI IL FAUT PROGRAMMER EN FORTRAN PUR
  28. *=============================================================
  29. *
  30. IMPLICIT INTEGER(I-N)
  31. IMPLICIT REAL*8(A-H,O-Z)
  32. *
  33. -INC CCOPTIO
  34. -INC DECHE
  35. SEGMENT IECOU
  36. * COMMON/IECOU/NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK,
  37. INTEGER icow1,icow2,icow3,icow4,icow5,icow6,icow7,
  38. C INTEGER NYOG, NYNU, NYALFA,NYSMAX,NYN, NYM, NYKK,
  39. 1 icow8,icow9,icow10,icow11,icow12,icow13,icow14,icow15,icow16,
  40. C . NYALF1,NYBET1,NYR, NYA, NYRHO,NSIGY, NNKX, NYKX, IND,
  41. 2 icow17,icow18,icow19,icow20,icow21,icow22,icow23,icow24,
  42. C . NSOM, NINV, NINCMA,NCOMP, JELEM, LEGAUS,INAT, NCXMAT,
  43. 3 icow25,icow26,icow27,icow28,icow29,icow30,icow31,
  44. C . LTRAC, MFR, IELE, NHRM, NBNN, NBELEM,ICARA,
  45. 4 icow32,icow33,NSTRS1,MFR1, NBGMAT,NELMAT,icow38,
  46. C . LW2, NDEF, NSTRSS,MFR1, NBGMAT,NELMAT,MSOUPA,
  47. 5 icow39,icow40,icow41,icow42,icow43,icow44
  48. C . NUMAT1,LENDO, NBBB, NNVARI,KERR1, MELEME
  49. INTEGER icow45,icow46,icow47,icow48,icow49,icow50,
  50. . icow51,icow52,icow53,icow54,icow55,icow56
  51. . icow57,icow58
  52. ENDSEGMENT
  53. SEGMENT XECOU
  54. * COMMON/XECOU/DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00
  55. REAL*8 xcow1, xcow2,xcow3,xcow4,DT,xcow6, xcow7
  56. C REAL*8 DTOPTI,TSOM, TCAR, DTT, DT, TREFA,TEMP00
  57. ENDSEGMENT
  58.  
  59. SEGMENT ECOU
  60. *** COMMON/ECOU/TEST,ALFAH,
  61. REAL*8 ecow00,ecow0,
  62. C REAL*8 TEST, ALFAH,
  63. 1 ecow1,ecow2,ecow3(6),ecow4(9),ecow5(6),
  64. C 1 HPAS,TEMPS,COVNMS(6),VECPRO(9),VALPRO(6),
  65. 2 ecow6(12),ecow7(6),ecow8(6),ecow9(6),ecow10(6),ecow11(6),
  66. 2 ecow12(6),
  67. C 2 CVNMSD(12),STOT(6),SIGEL(6),DSIGP(6),SIGT(6),W1(6),W2(6),
  68. 1 ecow13(6),ecow14(6),ecow15(12),ecow16(3),
  69. C 1 DALPHA(6),EPSPLA(6),E(12),XINV(3),
  70. 2 ecow17(6),ecow18(6),ecow19,ecow20
  71. C 2 SIPLAD(6),DSIGP0(6),TET,TETI
  72. ENDSEGMENT
  73. * COMMON/ECOU/TEST,ALFAH,
  74. * 1 HPAS,TEMPS,COVNMS(6),VECPRO(9),VALPRO(6),
  75. * 2 CVNMSD(12),STOT(6),SIGEL(6),DSIGP(6),SIGT(6),W1(6),W2(6),
  76. * 1 DALPHA(6),EPSPLA(6),E(12),XINV(3),
  77. * 2 SIPLAD(6),DSIGP0(6),TET,TETI
  78. C
  79. SEGMENT NECOU
  80. * COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  81. INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  82. . ITYP,IFOURB,IFLUAG,
  83. . ICINE,ITHER,IFLUPL,ICYCL,IBI,
  84. . JFLUAG,LEGAUS,LFLUAG,
  85. . IRELAX,JNTRIN,MFLUAG,JELEM,JGRDEF
  86. ENDSEGMENT
  87. C COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  88. C . ITYP,IFOURB,IFLUAG,
  89. C . ICINE,ITHER,IFLUPL,ICYCL,IBI,
  90. C . JFLUAG,LEGAUS,LFLUAG,
  91. C . IRELAX,JNTRIN,MFLUAG,JELEM,JGRDEF
  92. C
  93. *
  94. SEGMENT WRK2
  95. REAL*8 TRAC(LTRAC)
  96. ENDSEGMENT
  97. *
  98. SEGMENT WRK3
  99. REAL*8 WORK(LW),WORK2(LW2)
  100. ENDSEGMENT
  101. *
  102. DIMENSION RDEPS(6)
  103. *
  104. *
  105. *
  106. * Traitement des deplacements suivant le type de calcul
  107. *===========================================================
  108. *
  109. *
  110. IF (MFR1.EQ.1.OR.MFR1.EQ.31) THEN
  111. *
  112. *---> 1 formulation massive
  113. *---> 2 formulation quasi incompressible
  114. *---> MASSIF 3D
  115. *
  116. IF (NSTRS1 .EQ. 6) THEN
  117. DO 110 I=1,NSTRS1
  118. RDEPS(I)=DEPST(I)
  119. 110 CONTINUE
  120. ELSE IF (NSTRS1.EQ.4.AND.((IFOUR.EQ. 0)
  121. & .OR.(IFOUR.EQ.-1).OR.(IFOUR.EQ.-2))) THEN
  122. *
  123. *---> Calcul en mode deformations planes ou axisymetrique
  124. *---> Calcul en mode contraintes planes
  125. *
  126. DO 115 I=1,NSTRS1
  127. RDEPS(I)=DEPST(I)
  128. 115 CONTINUE
  129. RDEPS(5)=0.D0
  130. RDEPS(6)=0.D0
  131. ENDIF
  132. ELSE
  133. KERRE = 99
  134. RETURN
  135. ENDIF
  136. *
  137. * Passage des deformations de cisaillement exprimées
  138. * en GAMA aux déformations de cisaillement exprimées
  139. * en déformations
  140. *
  141. DO 117 I=1,6
  142. A=1.D0
  143. IF (I.GT.3) A=2.D0
  144. RDEPS(I)=RDEPS(I)/A
  145. 117 CONTINUE
  146. *
  147. * Données du materiau
  148. *===========================================================
  149. *
  150. YOUNG=XMAT(1)
  151. XNU=XMAT(2)
  152. DYG0=XMAT(5)
  153. C1=XMAT(6)
  154. C2=XMAT(7)
  155. C3=XMAT(8)
  156. C4=XMAT(9)
  157. C5=XMAT(10)
  158. XM0=XMAT(11)
  159. XK0=XMAT(12)
  160. XL0=XMAT(13)
  161. TYPE0=XMAT(14)
  162. *
  163. *
  164. ***************************************************
  165. * Preparation au calcul de la courbe de traction
  166. ***************************************************
  167. *
  168. *---> Déformation plastique équivalente EPSP
  169. *
  170. EPSP0=var0(1)
  171. *
  172. *---> Cas contraintes planes: déformation dans l'épaisseur
  173. *
  174. iter00=0
  175. IF (IFOUR.EQ.-2) THEN
  176. tr00=-1.D0*XNU/(1.D0-XNU)
  177. RDEPS(3)=tr00*(RDEPS(1)+RDEPS(2))
  178. ENDIF
  179. 98 treps0=RDEPS(1)+RDEPS(2)+RDEPS(3)
  180. *
  181. *---> Vitesse de deformation equivalente
  182. *
  183. * DT=5.D-7
  184. DEPS2=RDEPS(1)*RDEPS(1)+RDEPS(2)*RDEPS(2)+RDEPS(3)*RDEPS(3)
  185. DEPS2=DEPS2-RDEPS(1)*RDEPS(2)-RDEPS(2)*RDEPS(3)
  186. DEPS2=DEPS2-RDEPS(3)*RDEPS(1)
  187. DEPS3=RDEPS(4)*RDEPS(4)+RDEPS(5)*RDEPS(5)+RDEPS(6)*RDEPS(6)
  188. DEPS2=DEPS2+3.D0*DEPS3
  189. DEPS0=((DEPS2)**(0.5D0))*2.D0/3.D0
  190. DEPS0=DEPS0+(treps0/3.D0)
  191. IF (ABS(DT).LT.1D-10) THEN
  192. DEPS=0.D0
  193. ELSE
  194. DEPS=DEPS0/DT
  195. END IF
  196. *
  197. *---> Deformation maximale
  198. *
  199. EPSM0=10.D0*DEPS0
  200. *
  201. *---> Nombre de points de la courbe de traction
  202. *
  203. NCOURB=100
  204. *
  205. *---> Partie constante de la courbe de traction
  206. *
  207. Y0=(XK0*(XL0**(-0.5D0)))+DYG0
  208. *
  209. *---> Partie exponentielle de la courbe de traction
  210. *
  211. IF (ABS(DEPS).LT.1D-10) THEN
  212. COEFF0=0.D0
  213. ELSE
  214. COEFF0=EXP(C4*LOG(DEPS)-C3)
  215. END IF
  216. *
  217. *---> Debut de la courbe de traction
  218. *
  219. TRAC(1)=0.D0
  220. TRAC(2)=0.D0
  221. TRAC(3)=Y0
  222. TRAC(4)=0.D0
  223. *
  224. *
  225. ***************************************************
  226. * Courbe de traction dans le cas CFC
  227. ***************************************************
  228. *
  229. IF (TYPE0.EQ.0.) THEN
  230. *
  231. *---> Courbe de traction avant le point courant
  232. *
  233. EPSP=0.D0
  234. DEPS=EPSP0/48.D0
  235. DO 100 I=3,50
  236. EPSP=EPSP+DEPS
  237. *
  238. *---> Calcul de la limite d'élasticité Yel0 dans le cas cfc
  239. *
  240. Yel0=C2*COEFF0*((EPSP)**(0.5D0))
  241. Yel0=Yel0+Y0
  242. TRAC(2*I-1)=Yel0
  243. TRAC(2*I)=EPSP
  244. 100 CONTINUE
  245. *
  246. *---> Courbe de traction apres le point courrant
  247. *
  248. DEPS=EPSM0/(NCOURB-50.D0)
  249. EPSP=EPSP0
  250. DO 200 I=51,NCOURB
  251. EPSP=EPSP+DEPS
  252. *
  253. *---> Calcul de la limite d'elasticite Yel0 dans le cas cfc
  254. *
  255. Yel0=C2*COEFF0*((EPSP)**(0.5D0))
  256. Yel0=Yel0+Y0
  257. TRAC(2*I-1)=Yel0
  258. TRAC(2*I)=EPSP
  259. 200 CONTINUE
  260. *
  261. *
  262. *****************************************************
  263. * Courbe de traction dans le cas CC
  264. *****************************************************
  265. *
  266. ELSE
  267. *
  268. *---> Courbe de traction avant le point courant
  269. *
  270. EPSP=0.D0
  271. DEPS=EPSP0/48.D0
  272. DO 300 I=3,50
  273. EPSP=EPSP+DEPS
  274. *
  275. *---> Calcul de la limite d'élasticité Yel0 dans le cas cc
  276. *
  277. Yel0=C1*COEFF0
  278. Yel0=Yel0+(C5*(EPSP**XM0))
  279. Yel0=Yel0+Y0
  280. TRAC(2*I-1)=Yel0
  281. TRAC(2*I)=EPSP
  282. 300 CONTINUE
  283. *
  284. *---> Courbe de traction apres le point courrant
  285. *
  286. DEPS=EPSM0/(NCOURB-50.D0)
  287. EPSP=EPSP0
  288. DO 400 I=51,NCOURB
  289. EPSP=EPSP+DEPS
  290. *
  291. *---> Calcul de la limite d'elasticite Yel0 dans le cas cc
  292. *
  293. Yel0=C1*COEFF0
  294. Yel0=Yel0+(C5*(EPSP**XM0))
  295. Yel0=Yel0+Y0
  296. TRAC(2*I-1)=Yel0
  297. TRAC(2*I)=EPSP
  298. 400 CONTINUE
  299. *
  300. END IF
  301. *
  302. *********************************************
  303. * Fin du calcul de la courbe de traction
  304. * CALCUL DE L'ECOULEMENT PLASTIQUE
  305. * MODELE PLASTIQUE ISOTROPE
  306. *********************************************
  307. *
  308. inpla0 = INPLAS
  309. if (inpla0.eq.50) INPLAS = 5
  310. *
  311. CALL CCOINC(wrk52,wrk53,wrk54,wrk2,wrk3,
  312. & IB,IGAU,NBPGAU,ecou,necou,iecou)
  313.  
  314. INPLAS = inpla0
  315. *
  316. * Cas contraintes planes
  317. *
  318. IF (IFOUR.EQ.-2) THEN
  319. iter00=iter00+1
  320. RDEPS3=DEFP(3)+tr00*(RDEPS(1)-DEFP(1)+RDEPS(2)-DEFP(2))
  321. RDEPS4=ABS(RDEPS(3))
  322. RDEPS5=ABS(RDEPS3)
  323. IF (RDEPS4.LE.1.D-10) THEN
  324. IF ((iter00.LE.200).AND.(RDEPS5.GT.1.E-10)) THEN
  325. RDEPS(3)=RDEPS3
  326. GOTO 98
  327. ENDIF
  328. ELSE
  329. ERR0=ABS(RDEPS3-RDEPS(3))/RDEPS4
  330. IF ((iter00.LE.200).AND.(ERR0.GT.1.D-5)) THEN
  331. RDEPS(3)=RDEPS3
  332. GOTO 98
  333. ENDIF
  334. ENDIF
  335. ENDIF
  336. *
  337. RETURN
  338. *
  339. END
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  

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