Télécharger zerili.eso

Retour à la liste

Numérotation des lignes :

zerili
  1. C ZERILI SOURCE PV 22/04/27 21:15:12 11355
  2. SUBROUTINE ZERILI(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL,
  3. . N2PTEL,VARIN0,VAREX0,VAREXF,XMAT,PRECIS,WORK,CARAC,TRAC,
  4. . SIGF,VARINF,DEFP,KERRE, IB,IGAU,NSTRS,EPAIST,MELE,NPINT,
  5. . NBPGAU, SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK,
  6. . ROTHOO,DDHOMU,CRIGI,DSIGT )
  7. *
  8. *_________________________________________________________________
  9. *
  10. *
  11. * ENTREES :
  12. * ---------
  13. *
  14. * CELLES DE ECOINC PLUS:
  15. * DT = PAS DE TEMPS DU CALCUL
  16. *
  17. * SORTIE :
  18. * --------
  19. *
  20. * CELLES DE ECOINC
  21. * TRAC(2*NCOURB) LE TABLEAU DE LA COURBE DE TRACTION
  22. *
  23. * ============================================================
  24. * ICI IL FAUT PROGRAMMER EN FORTRAN PUR
  25. *=============================================================
  26. *
  27. IMPLICIT INTEGER(I-N)
  28. IMPLICIT REAL*8(A-H,O-Z)
  29. *
  30.  
  31. -INC PPARAM
  32. -INC CCOPTIO
  33. -INC CECOU
  34. * COMMON/ECOU/TEST,ALFAH,
  35. * 1 HPAS,TEMPS,COVNMS(6),VECPRO(9),VALPRO(6),
  36. * 2 CVNMSD(12),STOT(6),SIGEL(6),DSIGP(6),SIGT(6),W1(6),W2(6),
  37. * 1 DALPHA(6),EPSPLA(6),E(12),XINV(3),
  38. * 2 SIPLAD(6),DSIGP0(6),TET,TETI
  39. C
  40. C
  41. DIMENSION SIG0(*),DEPST(*),SIGF(*),VARIN0(*),VARINF(*),XMAT(*),
  42. . VAREX0(*),VAREXF(*),DEFP(*),CARAC(*),TRAC(*),WORK(*)
  43. DIMENSION DSIGT(*)
  44. DIMENSION DDAUX(LHOOK,*),TXR(IDIM,*),CRIGI(*)
  45. DIMENSION VALMAT(*),VALCAR(*),DDHOMU(LHOOK,*)
  46. DIMENSION XLOC(3,3),XGLOB(3,3)
  47. DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*)
  48. CHARACTER*8 CMATE
  49. DIMENSION RDEPS(6)
  50. *
  51. *
  52. *
  53. * Traitement des deplacements suivant le type de calcul
  54. *===========================================================
  55. *
  56. *
  57. IF (MFR.EQ.1.OR.MFR.EQ.31) THEN
  58. *
  59. *---> 1 formulation massive
  60. *---> 2 formulation quasi incompressible
  61. *---> MASSIF 3D
  62. *
  63. IF (NSTRS .EQ. 6) THEN
  64. DO 110 I=1,NSTRS
  65. RDEPS(I)=DEPST(I)
  66. 110 CONTINUE
  67. ELSE IF (NSTRS.EQ.4.AND.((IFOUR.EQ. 0)
  68. & .OR.(IFOUR.EQ.-1).OR.(IFOUR.EQ.-2))) THEN
  69. *
  70. *---> Calcul en mode deformations planes ou axisymetrique
  71. *---> Calcul en mode contraintes planes
  72. *
  73. DO 115 I=1,NSTRS
  74. RDEPS(I)=DEPST(I)
  75. 115 CONTINUE
  76. RDEPS(5)=0.D0
  77. RDEPS(6)=0.D0
  78. ENDIF
  79. ELSE
  80. KERRE = 99
  81. RETURN
  82. ENDIF
  83. *
  84. * Passage des deformations de cisaillement exprimées
  85. * en GAMA aux déformations de cisaillement exprimées
  86. * en déformations
  87. *
  88. DO 117 I=1,6
  89. A=1.D0
  90. IF (I.GT.3) A=2.D0
  91. RDEPS(I)=RDEPS(I)/A
  92. 117 CONTINUE
  93. *
  94. * Données du materiau
  95. *===========================================================
  96. *
  97. YOUNG=XMAT(1)
  98. XNU=XMAT(2)
  99. DYG0=XMAT(5)
  100. C1=XMAT(6)
  101. C2=XMAT(7)
  102. C3=XMAT(8)
  103. C4=XMAT(9)
  104. C5=XMAT(10)
  105. XM0=XMAT(11)
  106. XK0=XMAT(12)
  107. XL0=XMAT(13)
  108. TYPE0=XMAT(14)
  109. *
  110. *
  111. ***************************************************
  112. * Preparation au calcul de la courbe de traction
  113. ***************************************************
  114. *
  115. *---> Déformation plastique équivalente EPSP
  116. *
  117. EPSP0=VARIN0(1)
  118. *
  119. *---> Cas contraintes planes: déformation dans l'épaisseur
  120. *
  121. iter00=0
  122. IF (IFOUR.EQ.-2) THEN
  123. tr00=-1.D0*XNU/(1.D0-XNU)
  124. RDEPS(3)=tr00*(RDEPS(1)+RDEPS(2))
  125. ENDIF
  126. 98 treps0=RDEPS(1)+RDEPS(2)+RDEPS(3)
  127. *
  128. *---> Vitesse de deformation equivalente
  129. *
  130. * DT=5.D-7
  131. DEPS2=RDEPS(1)*RDEPS(1)+RDEPS(2)*RDEPS(2)+RDEPS(3)*RDEPS(3)
  132. DEPS2=DEPS2-RDEPS(1)*RDEPS(2)-RDEPS(2)*RDEPS(3)
  133. DEPS2=DEPS2-RDEPS(3)*RDEPS(1)
  134. DEPS3=RDEPS(4)*RDEPS(4)+RDEPS(5)*RDEPS(5)+RDEPS(6)*RDEPS(6)
  135. DEPS2=DEPS2+3.D0*DEPS3
  136. DEPS0=((DEPS2)**(0.5D0))*2.D0/3.D0
  137. DEPS0=DEPS0+(treps0/3.D0)
  138. IF (ABS(DT).LT.1D-10) THEN
  139. DEPS=0.D0
  140. ELSE
  141. DEPS=DEPS0/DT
  142. END IF
  143. *
  144. *---> Deformation maximale
  145. *
  146. EPSM0=10.D0*DEPS0
  147. *
  148. *---> Nombre de points de la courbe de traction
  149. *
  150. NCOURB=100
  151. *
  152. *---> Partie constante de la courbe de traction
  153. *
  154. Y0=(XK0*(XL0**(-0.5D0)))+DYG0
  155. *
  156. *---> Partie exponentielle de la courbe de traction
  157. *
  158. IF (ABS(DEPS).LT.1D-10) THEN
  159. COEFF0=0.D0
  160. ELSE
  161. COEFF0=EXP(C4*LOG(DEPS)-C3)
  162. END IF
  163. *
  164. *---> Debut de la courbe de traction
  165. *
  166. TRAC(1)=0.D0
  167. TRAC(2)=0.D0
  168. TRAC(3)=Y0
  169. TRAC(4)=0.D0
  170. *
  171. *
  172. ***************************************************
  173. * Courbe de traction dans le cas CFC
  174. ***************************************************
  175. *
  176. IF (TYPE0.EQ.0.) THEN
  177. *
  178. *---> Courbe de traction avant le point courant
  179. *
  180. EPSP=0.D0
  181. DEPS=EPSP0/48.D0
  182. DO 100 I=3,50
  183. EPSP=EPSP+DEPS
  184. *
  185. *---> Calcul de la limite d'élasticité Yel0 dans le cas cfc
  186. *
  187. Yel0=C2*COEFF0*((EPSP)**(0.5D0))
  188. Yel0=Yel0+Y0
  189. TRAC(2*I-1)=Yel0
  190. TRAC(2*I)=EPSP
  191. 100 CONTINUE
  192. *
  193. *---> Courbe de traction apres le point courrant
  194. *
  195. DEPS=EPSM0/(NCOURB-50.D0)
  196. EPSP=EPSP0
  197. DO 200 I=51,NCOURB
  198. EPSP=EPSP+DEPS
  199. *
  200. *---> Calcul de la limite d'elasticite Yel0 dans le cas cfc
  201. *
  202. Yel0=C2*COEFF0*((EPSP)**(0.5D0))
  203. Yel0=Yel0+Y0
  204. TRAC(2*I-1)=Yel0
  205. TRAC(2*I)=EPSP
  206. 200 CONTINUE
  207. *
  208. *
  209. *****************************************************
  210. * Courbe de traction dans le cas CC
  211. *****************************************************
  212. *
  213. ELSE
  214. *
  215. *---> Courbe de traction avant le point courant
  216. *
  217. EPSP=0.D0
  218. DEPS=EPSP0/48.D0
  219. DO 300 I=3,50
  220. EPSP=EPSP+DEPS
  221. *
  222. *---> Calcul de la limite d'élasticité Yel0 dans le cas cc
  223. *
  224. Yel0=C1*COEFF0
  225. Yel0=Yel0+(C5*(EPSP**XM0))
  226. Yel0=Yel0+Y0
  227. TRAC(2*I-1)=Yel0
  228. TRAC(2*I)=EPSP
  229. 300 CONTINUE
  230. *
  231. *---> Courbe de traction apres le point courrant
  232. *
  233. DEPS=EPSM0/(NCOURB-50.D0)
  234. EPSP=EPSP0
  235. DO 400 I=51,NCOURB
  236. EPSP=EPSP+DEPS
  237. *
  238. *---> Calcul de la limite d'elasticite Yel0 dans le cas cc
  239. *
  240. Yel0=C1*COEFF0
  241. Yel0=Yel0+(C5*(EPSP**XM0))
  242. Yel0=Yel0+Y0
  243. TRAC(2*I-1)=Yel0
  244. TRAC(2*I)=EPSP
  245. 400 CONTINUE
  246. *
  247. END IF
  248. *
  249. *********************************************
  250. * Fin du calcul de la courbe de traction
  251. * CALCUL DE L'ECOULEMENT PLASTIQUE
  252. * MODELE PLASTIQUE ISOTROPE
  253. *********************************************
  254. *
  255. INPLAS=5
  256. *
  257. CALL ECOINC(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL,
  258. . N2PTEL,VARIN0,VAREX0,VAREXF,XMAT,PRECIS,WORK,CARAC,TRAC,
  259. . SIGF,VARINF,DEFP,KERRE, IB,IGAU,NSTRS,EPAIST,MELE,NPINT,
  260. . NBPGAU, SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK,
  261. . ROTHOO,DDHOMU,CRIGI,DSIGT,INPLAS)
  262. *
  263. * Cas contraintes planes
  264. *
  265. IF (IFOUR.EQ.-2) THEN
  266. iter00=iter00+1
  267. RDEPS3=DEFP(3)+tr00*(RDEPS(1)-DEFP(1)+RDEPS(2)-DEFP(2))
  268. RDEPS4=ABS(RDEPS(3))
  269. RDEPS5=ABS(RDEPS3)
  270. IF (RDEPS4.LE.1.D-10) THEN
  271. IF ((iter00.LE.200).AND.(RDEPS5.GT.1.E-10)) THEN
  272. RDEPS(3)=RDEPS3
  273. GOTO 98
  274. ENDIF
  275. ELSE
  276. ERR0=ABS(RDEPS3-RDEPS(3))/RDEPS4
  277. IF ((iter00.LE.200).AND.(ERR0.GT.1.D-5)) THEN
  278. RDEPS(3)=RDEPS3
  279. GOTO 98
  280. ENDIF
  281. ENDIF
  282. ENDIF
  283. *
  284. RETURN
  285. *
  286. END
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  

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