Télécharger cendom.eso

Retour à la liste

Numérotation des lignes :

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

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