Télécharger czeril.eso

Retour à la liste

Numérotation des lignes :

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

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