Télécharger cendom.eso

Retour à la liste

Numérotation des lignes :

cendom
  1. C CENDOM SOURCE OF166741 25/11/04 21:15:13 12349
  2. SUBROUTINE CENDOM(wrk52,wrk53,wrk54,WRK6,WRK7,WRK8,WRK9,
  3. 1 NVARI, T0,T1,TREF,IB,IGAU,IFOUR7,NCOUR7,iecou)
  4.  
  5. c NSTRSS <= NSTRS , MFR1 <- MFR , XCARB <- XCAR
  6. C ==================================================================
  7. C CE SOUS-PROGRAMME EST APPELE DANS "PLAST".
  8. C C'EST UN INTEGRATEUR GENERAL DES LOIS DE COMPORTEMENT DES
  9. C MATERIAUX ENDOMMAGEABLES EN REGIME ANISOTHERME.
  10. C
  11. C ENTREES:
  12. C -------
  13. C WRK0,WR00,WRK1,WRK6,WRK7,WRK8,WRK9,WTRAV = SEGMENTS DE TRAVAIL
  14. C NSTRSS = NBR. DE COMPOSANTES DES CONTR. OU DES DEFORM.
  15. C SIG0(NSTRSS) = CONTR. AU DEBUT DU PAS D'INTEGRATION
  16. C DEPST(NSTRSS) = INCREMENT DES DEFORM. ELASTIQUES
  17. C NVARI = NBR. DE VARIABLES INTERNES
  18. C VAR0(NVARI) = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION
  19. C CE TABLEAU CONTIENT DANS L'ORDRE:
  20. C - LA DEFORM. PLASTIQUE CUMULEE
  21. C - LES VARIABLES INTERNES PILOTANT LES EQUATIONS DU
  22. C MODELE
  23. C - LES DEFORM. PLASTIQUES
  24. C MFR1 = INDICE DE LA FORMULATION MECANIQUE; SEULEMENT
  25. C MASSIF OU COQUE POUR LES MATERIAUX ENDOMMAGEABLES
  26. * CMATE = NOM DU MATERIAU
  27. * N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE
  28. * N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE
  29. * MFR1 = NUMERO DE LA FORMULATION
  30. * IFOUR7= OPTION DE CALCUL
  31. * IB = NUMERO DE L ELEMENT COURANT
  32. * IGAU = NUMERO DU POINT COURANT
  33. * EPAIST= EPAISSEUR
  34. * NBPGAU= NBRE DE POINTS DE GAUSS
  35. * MELE = NUMERO DE L ELEMENT FINI
  36. * NPINT = NBRE DE POINTS D INTEGRATION
  37. * NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES
  38. * NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES
  39. * SECT = SECTION
  40. * LHOOK = TAILLE DE LA MATRICE DE HOOKE
  41. C ICARA = NBR. DE CARACT. GEOMETRIQUES DES ELEMENTS FINIS
  42. C XCARB(ICARA) = CARACT. GEOMETRIQUES DES ELEMENTS FINIS
  43. C INPLAS = INDICE DU MODELE DECRIVANT LE MATERIAU ENDOMMAGEABLE
  44. C NYKX = DIMENSION DE YKX
  45. C YKX(NYKX) = TABLEAU CONTENANT LES COURBES DE TRACTION(EPS,SIGMA)
  46. C A DES TEMPERATURES DONNEES (Ti);IL EST DE LA FORME
  47. C SUIVANTE :
  48. C (T1,X1,F(X1,T1),X2,F(X2,T1),..,T2,Y1,F(Y1,T2),Y2,..)
  49. C NNKX = NBRE DE COURBES DE TRACTION
  50. C NKX = TABLEAU CONTENANT LE NBRE DE PTS POUR CHAQUE COURBE
  51. C DE TRACTION (EX:SI NKX(1)=4,LA COURBE DE TRACTION
  52. C A LA TEMPERATURE T1 SERA DEFINIE PAR 4 POINTS)
  53. C PRECIS = PRECISION DES ITERATIONS INTERNES
  54. C TO = TEMPERATURE INITIALE
  55. C T1 = TEMPERATURE FINALE
  56. C Tref = TEMPERATURE DE REFERENCE
  57. C NYOG = 2*NBRE DE POINTS DE LA COURBE T-->YOG(T)
  58. C YOG(NYOG) = TABLEAU CONTENANT LES VALEURS CONNUES DU MODULE
  59. C D'YOUNG E A DES TEMPERATURES PRECISES T
  60. C NYNU = 2*NBRE DE POINTS DE LA COURBE T-->YNU(T)
  61. C YNU(NYNU) = TABLEAU CONTENANT LES VALEURS CONNUES DU COEFF. DE
  62. C POISSON YNU A DES TEMPERATURES PRECISES T
  63. C NYALFA = 2*NBRE DE POINTS DE LA COURBE T-->YALFA(T)
  64. C YALFA(NYALFA) = TABLEAU CONTENANT LES VALEURS CONNUES DU COEFF. DE
  65. C DILAT. THERMIQUE YALFA A DES TEMPERATURES PRECISES T
  66. C NYN = 2*NBRE DE POINTS DE LA COURBE T-->YN(T)
  67. C YN(NYN) = TABLEAU CONTENANT LES VALEURS CONNUES DU SEUIL
  68. C D'ENDOMT YN A DES TEMPERATURES PRECISES T
  69. C NYM = 2*NBRE DE POINTS DE LA COURBE T-->YM(T)
  70. C YM(NYM) = TABLEAU CONTENANT LES VALEURS CONNUES DE L'ENDOMT
  71. C CRITIQUE YM A DES TEMPERATURES PRECISES T
  72. C NYKK = 2*NBRE DE POINTS DE LA COURBE T-->YKK(T)
  73. C YKK(NYKK) = TABLEAU CONTENANT LES VALEURS CONNUES DE LA DEFORM.
  74. C A RUPTURE YKK A DES TEMPERATURES PRECISES T
  75. C
  76. C SORTIES:
  77. C -------
  78. C NCOUR7 = DIMENSION DE TRUC
  79. C TRUC = TABLEAU DE DIMENSION LA PLUS GRANDE PARMI CELLES
  80. C DEFINIES DANS NKX;IL CONTIENDRA LA COURBE DE
  81. C TRACTION A LA TEMPERATURE T,OBTENUE GRACE AU SOUS-
  82. C PROGRAMME TRACTT.
  83. C SIGF(NSTRSS)= CONTR. A LA FIN DU PAS D'INTEGRATION
  84. C VARF(NVARI)= VARIABLES INTERNES A LA FIN DU PAS D'INTEGRATION
  85. C DEFP(NSTRSS)= INCREMENT DES DEFORM. PLASTIQUES A LA FIN DU PAS
  86. C D'INTEGRATION
  87. C KERRE = INDICE QUI REGIT LES ERREURS
  88. C = 77 SI LA DEFORM. PLAST. CUMULEE ENDOMMAGEE (2IEME VAR.
  89. C INT.) EST EN DEHORS DE LA COURBE DE TRACTION, DS.
  90. C LE CAS DE L'ECROUISSAGE ET DE L'ENDOMM. ISOTROPES.
  91. C CECI PEUT SE PRODUIRE SUITE A L'APPEL A "CRIDAM"
  92. C = 99 SI LA FORMULATION MECANIQUE N'EST PAS DISPONIBLE
  93. C POUR LE MODELE CONSIDERE OU S'IL Y A INCOMPATIBILITE
  94. C ENTRE MFR1 ET IFOUR7
  95. C ==================================================================
  96. C
  97. IMPLICIT INTEGER(I-N)
  98. IMPLICIT REAL*8 (A-H,O-Z)
  99.  
  100. -INC PPARAM
  101. -INC CCOPTIO
  102. -INC DECHE
  103.  
  104. -INC TECOU
  105.  
  106. SEGMENT WRK6
  107. REAL*8 BB(NSTRS,NNVARI),R(NSTRS),XMU(NSTRS)
  108. REAL*8 S(NNVARI),QSI(NNVARI),DDR(NSTRS),BBS(NSTRS)
  109. REAL*8 SIGMA(NSTRS),SIGGD(NSTRS)
  110. ENDSEGMENT
  111.  
  112. SEGMENT WRK7
  113. REAL*8 F(NCOUR7,2),W(NCOUR7),TRUC(NCOUR7)
  114. ENDSEGMENT
  115.  
  116. SEGMENT WRK8
  117. REAL*8 DD(NSTRS,NSTRS),DDV(NSTRS,NSTRS),DDINV(NSTRS,NSTRS)
  118. REAL*8 DDINVp(NSTRS1,NSTRS1)
  119. ENDSEGMENT
  120.  
  121. SEGMENT WRK9
  122. REAL*8 YOG(NYOG),YNU(NYNU),YALFA(NYALFA),YSMAX(NYSMAX)
  123. REAL*8 YN(NYN),YM(NYM),YKK(NYKK),YALFA1(NYALF1)
  124. REAL*8 YBETA1(NYBET1),YR(NYR),YA(NYA),YKX(NYKX),YRHO(NYRHO)
  125. REAL*8 SIGY(NSIGY)
  126. INTEGER NKX(NNKX)
  127. ENDSEGMENT
  128.  
  129. DIMENSION DEPS(6)
  130.  
  131. C ------------------------------------------------
  132. C DEFINITION DU NBR. MAXIMUM D'ITERATIONS INTERNES
  133. C ------------------------------------------------
  134. DATA ITMAX/30/
  135.  
  136. mfrl = iecou.MFR1
  137. nstl = iecou.NSTRSS
  138.  
  139. NXMATT = NMATT
  140.  
  141. ZEERO=0.D0
  142. PRECI=PRECIS
  143. PRECIG=-2.D0*PRECIS
  144. PRECG=ABS(PRECIG)
  145. IALPH=0
  146. T=T1
  147. YUNGV=0.D0
  148. XNUV=0.D0
  149. C
  150. C ================================================================
  151. C MAJ. POUR LE CAS ELASTIQUE ET TEST POUR SAVOIR SI ON A PLASTIFIE
  152. C ================================================================
  153. CALL ZDANUL(DEFP,nstl)
  154. ALPH=1.D0
  155. ALPH0=0.D0
  156. ALPH1=1.D0
  157. X=VAR0(2)
  158.  
  159. CALL INITTE(NYOG,YOG,NYNU,YNU,NYRHO,YRHO,NYALFA,YALFA,NYN,
  160. 1 YN,NYM,YM,NYKK,YKK,NYKX,YKX,NNKX,NKX,X,T0,
  161. 2 XMAT1,NXMATT,TRUC,NCOUR7)
  162. CALL INITTE(NYOG,YOG,NYNU,YNU,NYRHO,YRHO,NYALFA,YALFA,NYN,
  163. 1 YN,NYM,YM,NYKK,YKK,NYKX,YKX,NNKX,NKX,X,T1,
  164. 2 XMAT2,NXMATT,TRUC,NCOUR7)
  165. ALFA0=XMAT1(4)
  166. ALFA1=XMAT2(4)
  167. CTEPS=ALFA0*(T0-TREF)-ALFA1*(T1-TREF)
  168.  
  169. C==================================================
  170. C CALCUL DE L INCREMENT DE CONTRAINTES
  171. C DEPST EST L INCREMENT DE DEFORMATIONS ELASTIQUES
  172. C==================================================
  173. C
  174. CALL ELAST1(1,IFOUR,VAR0,NNVARI,XMAT2,NXMATT,YUNGV,XNUV,
  175. 1 XCARB,ICARA,mfrl,nstl,DD,DDV,KERRE,INDIC,ITHHER)
  176.  
  177. DO 13 I=1,nstl
  178. r_z = 0.D0
  179. DO J=1,nstl
  180. r_z = r_z + DD(I,J)*DEPST(J)
  181. ENDDO
  182. DSIGT(I)=r_z
  183. 13 CONTINUE
  184.  
  185. C===============================================
  186. C CALCUL DE L INCREMENT DE DEFORMATIONS TOTALES
  187. C===============================================
  188. C
  189. CALL ELAST1(2,IFOUR,VAR0,NNVARI,XMAT1,NXMATT,YUNGV,XNUV,
  190. 1 XCARB,ICARA,mfrl,nstl,DD,DDV,KERRE,INDIC,ITHHER)
  191. CALL ELAST1(2,IFOUR,VAR0,NNVARI,XMAT2,NXMATT,YUNGV,XNUV,
  192. 1 XCARB,ICARA,mfrl,nstl,DDINV,DDV,KERRE,INDIC,ITHHER)
  193.  
  194. AA=CTEPS
  195. DO 45 I=1,nstl
  196. IF (I.GT.3) AA=0.D0
  197. r_z = DEPST(I)
  198. DO 46 J=1,nstl
  199. c* r_z = r_z + (DDINV(I,J)*SIG0(J))-(DD(I,J)*SIG0(J))
  200. r_z = r_z + (DDINV(I,J)-DD(I,J))*SIG0(J)
  201. 46 CONTINUE
  202. DEPS(I)=r_z-AA
  203. 45 CONTINUE
  204. C
  205. C ------
  206. C
  207. CALL INITTE(NYOG,YOG,NYNU,YNU,NYRHO,YRHO,NYALFA,YALFA,NYN,
  208. 1 YN,NYM,YM,NYKK,YKK,NYKX,YKX,NNKX,NKX,X,T,
  209. 2 XMAT,NXMATT,TRUC,NCOUR7)
  210.  
  211. 5 CONTINUE
  212. DO 10 I=1,nstl
  213. SIGF(I)=SIG0(I)+DSIGT(I)
  214. SIGMA(I)=SIG0(I)
  215. 10 CONTINUE
  216. DO 20 I=1,NVARI
  217. VARF(I)=VAR0(I)
  218. 20 CONTINUE
  219. C
  220. IF (ITHHER.EQ.2.AND.IALPH.GT.0) GOTO 32
  221. 30 CONTINUE
  222. CALL CRIDAM(SIGF,nstl,VARF,XMAT,NXMATT,XCARB,ICARA,INPLAS,
  223. 1NYKX,YKX,NNKX,NKX,NNVARI,mfrl,XF,KERRE,SIGGD,YY,T,TRUC,
  224. 2 NNFUS)
  225. IF (XF.LT.PRECI) GOTO 1000
  226. CALL CRIDOM(SIG0,nstl,VAR0,XMAT,NXMATT,XCARB,ICARA,INPLAS,
  227. 1NNVARI,mfrl,XG,KERRE,SIGGD,Y)
  228. C
  229. C............ Y DESIGNE LE SEUIL D'ENDOMMAGEMENT .................
  230. IF (Y.EQ.ZEERO) THEN
  231. GOTO 32
  232. ENDIF
  233. TTEST=XG/Y
  234. IF (TTEST.GT.PRECIG) INDIC=1
  235.  
  236. C ==============
  237. C ON A PLASTIFIE
  238. C ==============
  239. C ------------------------------------------------------------------
  240. C DEFINITION DE DD, BB, R, S, XMU, ET QSI:
  241. C . . .
  242. C SIG = DD*EPSELAS + BB*Q AVEC:
  243. C - SIG = CONTR.
  244. C - EPSELAS = DEFORM. ELASTIQUES
  245. C - DD = MATR. DE HOOK ENDOMMAGEE
  246. C - Q = VARIABLES INTERNES PILOTANT LES LOIS DU MODELE
  247. C R = LOI D'ECOULEMENT PLASTIQUE
  248. C S = LOIS D'EVOLUTION DES VARIABLES Q
  249. C XMU = DERIVEE DU CRITERE PAR RAPPORT AUX CONTR.
  250. C QSI = DERIVEE DU CRITERE PAR RAPPORT AUX VARIABLES Q
  251. C ------------------------------------------------------------------
  252. 32 ICO=0
  253. C
  254. C ------------------------------------------
  255. C DEBUT DE LA BOUCLE DES ITERATIONS INTERNES
  256. C --------------------------------------------------------------------
  257. C A CHAQUE ITERATION, CORRESPONDANT A SIGF ET VARF CALCULES AU RANG I,
  258. C "ENDOM1" CALCULE DD, BB, R, S, XMU ET QSI EN FONCTION DU MODELE DU
  259. C MATERIAU ENDOMMAGEABLE.
  260. C --------------------------------------------------------------------
  261. 35 CONTINUE
  262.  
  263. CALL TRACTT(YKX,NKX,TRUC,NYKX,NNKX,NNFUS,T)
  264. NFUST=2*NNFUS
  265. CALL DERTRA(NYOG,YOG,T,TYUNG,YUNGV,TINF,TSUP)
  266. CALL DERTRA(NYNU,YNU,T,TNU,XNUV,TINF,TSUP)
  267. CALL ENDOM1(SIGF,nstl,VARF,XMAT,NXMATT,XCARB,ICARA,
  268. 1 NNFUS,TRUC,NNVARI,mfrl,IFOUR7,DD,DDINV,
  269. 2 BB,R,S,XMU,QSI,KERRE,SIGGD,W,F,INDIC,ITHHER,
  270. 3 YUNGV,XNUV)
  271. IF (KERRE.NE.0) GOTO 1000
  272. C
  273. DO 50 J=1,nstl
  274. r_z = 0.D0
  275. DO 40 K=1,nstl
  276. r_z = r_z + DD(J,K)*R(K)
  277. 40 CONTINUE
  278. DDR(J)= r_z
  279. 50 CONTINUE
  280.  
  281. DO 70 J=1,nstl
  282. r_z = 0.D0
  283. DO 60 K=1,NNVARI
  284. r_z = r_z + BB(J,K)*S(K)
  285. 60 CONTINUE
  286. BBS(J) = r_z
  287. 70 CONTINUE
  288.  
  289. DLAMA1=0.D0
  290. DO 80 J=1,nstl
  291. DLAMA1=DLAMA1+XMU(J)*(DDR(J)-BBS(J))
  292. 80 CONTINUE
  293. DLAMA2=0.D0
  294. DO 90 J=1,NNVARI
  295. DLAMA2=DLAMA2+QSI(J)*S(J)
  296. 90 CONTINUE
  297.  
  298. C -------------------------------------------------------------
  299. C CALCUL DE LA VARIATION DU MULT. PLAST. PAR LE CRIT. DE PLAST.
  300. C -------------------------------------------------------------
  301. C*? r_DT=T-T0
  302. DLAMDA=XF/(DLAMA1-DLAMA2)
  303.  
  304. C ------------------------------------------------------------------
  305. C CALCUL DES CONTR., DES VAR. INT. Q ET DE LA DEFORM. PLAST. CUMULEE
  306. C AU RANG I+1
  307. C ------------------------------------------------------------------
  308. DO 100 J=1,nstl
  309. SIGF(J)=SIGF(J)-DLAMDA*(DDR(J)-BBS(J))
  310. 100 CONTINUE
  311. VARF(2)=VARF(2)+DLAMDA*S(1)
  312.  
  313. IF (INDIC.EQ.1) THEN
  314. S2=S(2)
  315. IF (IFOUR7.NE.-2) THEN
  316. XA=1.D0+VARF(3)
  317. CALL ENDOM1(SIGF,nstl,VARF,XMAT,NXMATT,XCARB,ICARA,
  318. 1 NNFUS,TRUC,NNVARI,mfrl,IFOUR7,DD,DDINV,
  319. 2 BB,R,S,XMU,QSI,KERRE,SIGGD,W,F,INDIC,ITHHER,
  320. 3 YUNGV,XNUV)
  321.  
  322. IF (KERRE.NE.0) GOTO 1000
  323. XB=VARF(3)+DLAMDA*S(2)*(1.D0-VARF(3))
  324. XDELTA=(XA*XA)-4.D0*XB
  325. IF (XDELTA.LT.0.D0) THEN
  326. VARF(3)=VARF(3)+DLAMDA*S2
  327. ELSE
  328. XDELTA=SQRT(XDELTA)
  329. VARF(3)=(XA-XDELTA)/2.D0
  330. ENDIF
  331. ELSE
  332. C
  333. C CAS DES CONTR. PLANES - MAJ DE D
  334. C
  335. XA=VARF(3)+0.5D0*DLAMDA*S(2)
  336. CALL ENDOM1(SIGF,nstl,VARF,XMAT,NXMATT,XCARB,ICARA,
  337. 1NNFUS,TRUC,NNVARI,mfrl,IFOUR7,DD,DDINV,
  338. 2BB,R,S,XMU,QSI,KERRE,SIGGD,W,F,INDIC,ITHHER,
  339. 3YUNGV,XNUV)
  340. XB=0.5D0*DLAMDA*S(2)*(1.D0-VARF(3))
  341. XDELTA=(1.D0-XA)*(1.D0-XA)-4.D0*XB
  342. IF (XDELTA.LT.0.D0) THEN
  343. VARF(3)=VARF(3)+DLAMDA*S2
  344. ELSE
  345. XDELTA=SQRT(XDELTA)
  346. VARF(3)=(1.D0+XA-XDELTA)/2.D0
  347. ENDIF
  348. ENDIF
  349. ENDIF
  350. C
  351. VARF(1)=VARF(1)+DLAMDA/(1.D0-VARF(3))
  352. C
  353. C CONTR. PLANES - MAJ DES DEFORM. PLAST.
  354. C
  355. IF (IFOUR7.EQ.-2) THEN
  356. CALL ENDOM1(SIGF,nstl,VARF,XMAT,NXMATT,XCARB,ICARA,
  357. 1 NNFUS,TRUC,NNVARI,mfrl,IFOUR7,DD,DDINV,
  358. 2 BB,R,S,XMU,QSI,KERRE,SIGGD,W,F,INDIC,ITHHER,
  359. 3 YUNGV,XNUV)
  360. DO 110 J=1,nstl
  361. VARF(1+NNVARI+J)=VARF(1+NNVARI+J)+DLAMDA*R(J)
  362. 110 CONTINUE
  363. ENDIF
  364.  
  365. C -------------------------------------------------------------
  366. C SI LE CRIT. PLAST. EST ATTEINT, ON ARRETE LES ITERATIONS
  367. C SI LE NBR. MAXIMUM D'ITERATIONS EST DEPASSE, IDEM MAIS ERREUR
  368. C -------------------------------------------------------------
  369. CALL CRIDAM(SIGF,nstl,VARF,XMAT,NXMATT,XCARB,ICARA,INPLAS,
  370. 1 NYKX,YKX,NNKX,NKX,NNVARI,mfrl,XF,KERRE,SIGGD,YY,T,TRUC,
  371. 2 NNFUS)
  372. TEST=ABS(XF/YY)
  373. IF (KERRE.NE.0) GOTO 1000
  374. IF (TEST.LT.PRECI.AND.INDIC.EQ.1) GOTO 120
  375. IF (TEST.LT.PRECI.AND.INDIC.EQ.0) THEN
  376. CALL CRIDOM(SIGF,nstl,VARF,XMAT,NXMATT,XCARB,ICARA,INPLAS,
  377. 1 NNVARI,mfrl,XG,KERRE,SIGGD,Y)
  378. TTEST=XG/Y
  379. ATTEST=ABS(TTEST)
  380. IF (ATTEST.LT.PRECG) GOTO 120
  381. IF (TTEST.LE.PRECIG) THEN
  382. IF (ALPH.EQ.1.D0) GOTO 120
  383. A=1.D0
  384. ELSE
  385. A=-1.D0
  386. ENDIF
  387. ALPH=ALPH1+0.5D0*A*ABS(ALPH1-ALPH0)
  388. ALPH0=ALPH1
  389. ALPH1=ALPH
  390. IALPH=IALPH+1
  391. T=(1-ALPH)*T0+ALPH*T1
  392. X=VARF(2)
  393. CALL INITTE(NYOG,YOG,NYNU,YNU,NYRHO,YRHO,NYALFA,YALFA,
  394. 1 NYN,YN,NYM,YM,NYKK,YKK,NYKX,YKX,NNKX,NKX,X,T,
  395. 2 XMAT,NXMATT,TRUC,NCOUR7)
  396. ALFFA=XMAT(4)
  397. C
  398. CALL ELAST1(1,IFOUR7,VAR0,NNVARI,XMAT,NXMATT,YUNGV,
  399. 1 XNUV,XCARB,ICARA,mfrl,nstl,DDINV,DDV,KERRE,INDIC,ITHHER)
  400. CALL ELAST1(2,IFOUR7,VAR0,NNVARI,XMAT1,NXMATT,YUNGV,
  401. 1 XNUV,XCARB,ICARA,mfrl,nstl,DD,DDV,KERRE,INDIC,ITHHER)
  402. CALL MULMAT(DDV,DDINV,DD,nstl,nstl,nstl)
  403. C
  404. CTEPS=ALFA0*(T0-TREF)-ALFFA*(T-TREF)
  405. CALL ZDANUL(DSIGT,nstl)
  406. C
  407. DO 8 I=1,nstl
  408. AA=1.D0
  409. DO 9 J=1,nstl
  410. IF (J.GT.3) AA=0.D0
  411. DSIGT(I)=DSIGT(I)+DDINV(I,J)*((ALPH*DEPS(J))+(AA*CTEPS))
  412. DSIGT(I)=DSIGT(I)+DDV(I,J)*SIG0(J)
  413. 9 CONTINUE
  414. DSIGT(I)=DSIGT(I)-SIG0(I)
  415. 8 CONTINUE
  416. IF (IALPH.GT.50) GOTO 1000
  417. GOTO 5
  418. ENDIF
  419. ICO=ICO+1
  420. IF (ICO.GT.ITMAX) THEN
  421. KERRE=2
  422. GOTO 1000
  423. ENDIF
  424. GOTO 35
  425. C ----------------------------------------
  426. C FIN DE LA BOUCLE DES ITERATIONS INTERNES
  427. C ----------------------------------------
  428. C
  429. C ====================================================
  430. C FIN DES ITERATIONS INTERNES - LE CRITERE EST VERIFIE
  431. C MAJ DES VARIABLES
  432. C ====================================================
  433. C
  434. C ----------------------------------------------------------------
  435. C CALCUL DES DEFORM. ELAST. A LA FIN DU PAS - ELLES SERONT DS. DDR
  436. C ----------------------------------------------------------------
  437. 120 CONTINUE
  438. CALL ELAST1(2,IFOUR7,VARF,NNVARI,XMAT,NXMATT,YUNGV,XNUV,
  439. & XCARB,ICARA,mfrl,nstl,DD,DDV,KERRE,INDIC,ITHHER)
  440. DO 140 J=1,nstl
  441. r_z = 0.D0
  442. DO 130 K=1,nstl
  443. r_z = r_z + DD(J,K)*SIGF(K)
  444. 130 CONTINUE
  445. DDR(J) = r_z
  446. 140 CONTINUE
  447. C
  448. C -----------------------------------------
  449. C CALCUL DES DEFORM. PLAST. A LA FIN DU PAS
  450. C ----------------------------------------------------------------
  451. C ON CALCULE D'ABORD, DS. BBS, LES DEFORM. TOTALES A LA FIN DU PAS
  452. C ----------------------------------------------------------------
  453. CALL ELAST1(2,IFOUR7,VAR0,NNVARI,XMAT1,NXMATT,YUNGV,XNUV,
  454. 1XCARB,ICARA,mfrl,nstl,DD,DDV,KERRE,INDIC,ITHHER)
  455. CALL ZDANUL(BBS,nstl)
  456. DO 170 J=1,nstl
  457. DO 160 K=1,nstl
  458. BBS(J)=BBS(J)+DD(J,K)*SIGMA(K)
  459. 160 CONTINUE
  460. 170 CONTINUE
  461. AA=CTEPS
  462. DO 180 J=1,nstl
  463. IF (J.GT.3) AA=0.D0
  464. BBS(J)=BBS(J)+VAR0(1+NNVARI+J)+(ALPH*DEPS(J))+(AA)
  465. 180 CONTINUE
  466. C
  467. C
  468. DO 190 J=1,nstl
  469. IF (IFOUR7.EQ.-2) GOTO 195
  470. VARF(1+NNVARI+J)=BBS(J)-DDR(J)
  471. 195 DEFP(J)=VARF(1+NNVARI+J)-VAR0(1+NNVARI+J)
  472. 190 CONTINUE
  473. IF (ALPH.EQ.1.D0) GOTO 900
  474. IF (INDIC.EQ.0) THEN
  475. ALPH=1.D0-ALPH
  476. DO 520 J=1,NVARI
  477. VAR0(J)=VARF(J)
  478. 520 CONTINUE
  479. DO 525 J=1,nstl
  480. SIGMA(J)=SIGF(J)
  481. 525 CONTINUE
  482. C
  483. T0=T
  484. T=T1
  485. DO 530 J=1,NXMATT
  486. XMAT1(J)=XMAT(J)
  487. XMAT(J)=XMAT2(J)
  488. 530 CONTINUE
  489. ALFA0=XMAT1(4)
  490. ALFFA=XMAT(4)
  491. CALL ELAST1(1,IFOUR7,VAR0,NNVARI,XMAT,NXMATT,YUNGV,
  492. 1 XNUV,XCARB,ICARA,mfrl,nstl,DD,DDV,KERRE,INDIC,ITHHER)
  493. CALL ELAST1(2,IFOUR7,VAR0,NNVARI,XMAT1,NXMATT,YUNGV,
  494. 1 XNUV,XCARB,ICARA,mfrl,nstl,DDINV,DDV,KERRE,INDIC,
  495. 2 ITHHER)
  496. CALL MULMAT(DDV,DD,DDINV,nstl,nstl,nstl)
  497. C
  498. CTEPS=ALFA0*(T0-TREF)-ALFFA*(T-TREF)
  499. C
  500. DO 515 I=1,nstl
  501. AA=CTEPS
  502. r_z = 0.D0
  503. DO 510 J=1,nstl
  504. IF (J.GT.3) AA=0.D0
  505. r_z = r_z + DD(I,J)*((ALPH*DEPS(J))+AA)
  506. & + DDV(I,J)*SIGMA(J)
  507. 510 CONTINUE
  508. DSIGT(I)=r_z-SIGMA(I)
  509. SIGF(I)=SIGF(I)+DSIGT(I)
  510. 515 CONTINUE
  511. GOTO 30
  512. ENDIF
  513. C
  514. C ==================================================================
  515. C SI LE PT. DE GAUSS EST ROMPU, ON ANNULE PROGRESSIVEMENT SES CONTR.
  516. C ==================================================================
  517. 900 DCT=XMAT(7)
  518. DCC=1.1D0*DCT
  519. XD=VARF(3)
  520. IF (XD.GE.DCC) THEN
  521. VARF(3)=1.D0
  522. CALL ZDANUL(SIGF,nstl)
  523. ENDIF
  524. IF (XD.GT.DCT.AND.XD.LT.DCC) THEN
  525. VARF(3)=1.D0
  526. BETA=11.D0-10.D0*(XD/DCT)
  527. DO J=1,nstl
  528. SIGF(J)=SIGF(J)*BETA
  529. ENDDO
  530.  
  531. ENDIF
  532. 1000 RETURN
  533. END
  534. *******************************************************************
  535.  
  536.  
  537.  

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