Télécharger endom.eso

Retour à la liste

Numérotation des lignes :

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

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