Télécharger amade3.eso

Retour à la liste

Numérotation des lignes :

amade3
  1. C AMADE3 SOURCE CHAT 05/01/12 21:21:07 5004
  2. C AMADE3.eso SOURCE bald MAR 28/03/95 00:00:00
  3. SUBROUTINE AMADE3(IB,IGAU,NSTRS,SIG0,EPIN0,VAR0,NVARI,
  4. & DEPST,IFOURB,XMAT,NMATT,IVAL,SIGF,DEFP,VARF,KERRE)
  5. C
  6. C-----------------------------------------------------------------------
  7. C
  8. C PLASTICITE MODELE 3D AMADEI-SAEB ELEMENTS JOINTS
  9. C
  10. C ENTREES
  11. C
  12. C IB = NUMERO DE L'ELEMENT
  13. C IGAU = NUMERO DU POINT DE GAUSS
  14. C NSTRS = NOMBRE DE COMPOSANTES DE CONTRAINTES
  15. C SIG0(NSTRS) = CONTRAINTES INITIALES (AU PAS PRECEDENT)
  16. C EPIN0(NSTRS) = DEFORMATIONS INITIALES INEL. (AU PAS PRECEDENT)
  17. C VAR0(NVARI) = VARIABLES INTERNES DEBUT
  18. C VAR0(1) = DEFORMATION PLASTIQUE EQUIVALENTE: EPSE
  19. C VAR0(2) = INCR. DEF. PLAST. DUE A L'OUVERTURE SEULE: EPOU
  20. C VAR0(3) = ETAT DU JOINT: STAT
  21. C VAR0(4) = U EQUIVALENTE: UEQU
  22. C VAR0(5) = DEFORMATION TOTALE: EPS1
  23. C VAR0(6) = DEFORMATION TOTALE: EPS2
  24. C VAR0(7) = DEFORMATION TOTALE: EPS3
  25. C NVARI = NOMBRE DE VARIABLES INTERNES
  26. C DEPST(NSTRS) = INCREMENTS DE DEFORMATION TOTALE
  27. C XMAT(NCOMAT) = COMPOSANTES DE MATERIAU
  28. C NMATT = NOMBRE DE COMPOSANTES DE MATERIAU
  29. C IVAL(NCOMAT) = INDICE DES COMPOSANTES DE MATERIAU
  30. C
  31. C SORTIES
  32. C
  33. C SIGF(NSTRS) = CONTRAINTES FINALES
  34. C DEFP(NSTRS) = INCREMENTS DE DEFORMATIONS INELASTIQUES FINALES
  35. C VARF(NVARI) = VARIABLES INTERNES FINALES
  36. C KERRE = INDICE D'ERREUR
  37. C
  38. C
  39. C-----------------------------------------------------------------------
  40. c
  41. c déclaration des variables
  42. c
  43. IMPLICIT INTEGER(I-N)
  44. IMPLICIT REAL*8 (A-H,O-Z)
  45. C Include contenant quelques constantes dont XPI :
  46. -INC CCREEL
  47. REAL*8 I0, K1, K2, KNI
  48. REAL*8 KNN, KNT, KTN, KTT
  49. c
  50. DIMENSION SIG0(*), EPIN0(*), VAR0(*), DEPST(*), XMAT(*)
  51. DIMENSION SIGF(*), DEFP(*), VARF(*)
  52. DIMENSION RI0E(3,3), RI0P(3,3), DCON(3)
  53. c
  54. c paramètres pour le calcul
  55. c
  56. FATT=XPI/180.D0
  57. c
  58. NN=100
  59. c
  60. K1=1.5D0
  61. K2=4.0D0
  62. c
  63. c tolérances pour définir la condition de plasticité selon sigma
  64. c et la condition de nullité des contraintes
  65. c
  66. EPSS=1.D-6
  67. EPSI=1.D-6
  68. TOL1=1.D-20
  69. TOL2=1.D-15
  70. c
  71. c extraction des caractéristiques du materiau
  72. c
  73. FIMU=XMAT(5)*FATT
  74. SGMT=XMAT(6)
  75. I0=XMAT(7)*FATT
  76. S0=XMAT(8)
  77. B0=XMAT(9)
  78. UR=XMAT(10)
  79. UP=XMAT(11)
  80. KNI=XMAT(12)
  81. FI0=XMAT(13)*FATT
  82. VM=XMAT(14)
  83. c
  84. c extraction de la variable EPOU
  85. c
  86. EPOU=VAR0(2)
  87. c
  88. c extraction de la variable UEQU
  89. c
  90. UEQU=VAR0(4)
  91. c
  92. c extraction des déformations totales
  93. c
  94. EPS1=VAR0(5)
  95. EPS2=VAR0(6)
  96. EPS3=VAR0(7)
  97. c
  98. c calcul des petits pas
  99. c
  100. DU1=DEPST(1)/NN
  101. DU2=DEPST(2)/NN
  102. DV=DEPST(3)/NN
  103. c
  104. c incréments de déformation plastique finale
  105. c
  106. DEFP(1)=0.D0
  107. DEFP(2)=0.D0
  108. DEFP(3)=0.D0
  109. c
  110. c contraintes finales
  111. c
  112. SIGF(1)=0.D0
  113. SIGF(2)=0.D0
  114. SIGF(3)=0.D0
  115. c
  116. c variables internes finales
  117. c
  118. VARF(1)=0.D0
  119. VARF(2)=0.D0
  120. VARF(3)=0.D0
  121. VARF(4)=0.D0
  122. VARF(5)=0.D0
  123. VARF(6)=0.D0
  124. VARF(7)=0.D0
  125. c
  126. c **********************************************************************
  127. c ********** test pour verifier la condition initiale du joint *********
  128. c **********************************************************************
  129. c
  130. IF(EPIN0(3).GT.EPSS)THEN
  131. c
  132. c le joint est ouvert
  133. c
  134. IF(DEPST(3).LT.(-EPIN0(3)-EPSI))THEN
  135. c
  136. c il y a rapprochement des lèvres avec compression (1 cas)
  137. c
  138. R0=ABS(EPIN0(3)/DEPST(3))
  139. c
  140. NN=INT(ABS((EPIN0(3)+DEPST(3))/DV))
  141. c
  142. EPOU=-EPIN0(3)
  143. c
  144. EPIN0(1)=EPIN0(1)+R0*DEPST(1)
  145. EPIN0(2)=EPIN0(2)+R0*DEPST(2)
  146. EPIN0(3)=0.D0
  147. c
  148. DEFP(1)=R0*DEPST(1)
  149. DEFP(2)=R0*DEPST(2)
  150. DEFP(3)=EPOU
  151. c
  152. EPS1=EPS1+R0*DEPST(1)
  153. EPS2=EPS2+R0*DEPST(2)
  154. EPS3=EPS3+R0*DEPST(3)
  155. c
  156. ELSE IF(DEPST(3).GT.(-EPIN0(3)+EPSS))THEN
  157. c
  158. c il y a rapprochement des lèvres sans fermeture, ou elles restent
  159. c bloquées, ou elles s' éloignent (3 cas)
  160. c
  161. SIGF(1)=0.D0
  162. SIGF(2)=0.D0
  163. SIGF(3)=0.D0
  164. c
  165. DEFP(1)=DEPST(1)
  166. DEFP(2)=DEPST(2)
  167. DEFP(3)=DEPST(3)
  168. c
  169. DEDE1=EPIN0(1)+DEPST(1)
  170. DEDE2=EPIN0(2)+DEPST(2)
  171. DEDE3=EPIN0(3)+DEPST(3)
  172. c
  173. VARF(1)=SQRT(2.D0/3.D0*(DEDE1**2+DEDE2**2+DEDE3**2))
  174. c
  175. VARF(2)=DEPST(3)
  176. c
  177. VARF(3)=1.D0
  178. c
  179. VARF(4)=VAR0(4)
  180. c
  181. VARF(5)=EPS1+DEPST(1)
  182. VARF(6)=EPS2+DEPST(2)
  183. VARF(7)=EPS3+DEPST(3)
  184. c
  185. RETURN
  186. c
  187. ELSE
  188. c
  189. c il y a fermeture sans compression (1 cas)
  190. c
  191. SIGF(1)=0.D0
  192. SIGF(2)=0.D0
  193. SIGF(3)=0.D0
  194. c
  195. DEFP(1)=DEPST(1)
  196. DEFP(2)=DEPST(2)
  197. DEFP(3)=DEPST(3)
  198. c
  199. DEDE1=EPIN0(1)+DEPST(1)
  200. DEDE2=EPIN0(2)+DEPST(2)
  201. DEDE3=EPIN0(3)+DEPST(3)
  202. c
  203. VARF(1)=SQRT(2.D0/3.D0*(DEDE1**2+DEDE2**2+DEDE3**2))
  204. c
  205. VARF(2)=DEPST(3)
  206. c
  207. VARF(3)=0.D0
  208. c
  209. VARF(4)=VAR0(4)
  210. c
  211. VARF(5)=EPS1+DEPST(1)
  212. VARF(6)=EPS2+DEPST(2)
  213. VARF(7)=EPS3+DEPST(3)
  214. c
  215. RETURN
  216. c
  217. END IF
  218. c
  219. ELSE IF((EPIN0(3).LE.EPSS).AND.(SIG0(3).GE.-TOL2))THEN
  220. c
  221. c le joint est fermé mais sans compression
  222. c
  223. IF(DEPST(3).GT.EPSS)THEN
  224. c
  225. c les lèvres s' éloignent (1 cas)
  226. c
  227. SIGF(1)=0.D0
  228. SIGF(2)=0.D0
  229. SIGF(3)=0.D0
  230. c
  231. DEFP(1)=DEPST(1)
  232. DEFP(2)=DEPST(2)
  233. DEFP(3)=DEPST(3)
  234. c
  235. DEDE1=EPIN0(1)+DEPST(1)
  236. DEDE2=EPIN0(2)+DEPST(2)
  237. DEDE3=EPIN0(3)+DEPST(3)
  238. c
  239. VARF(1)=SQRT(2.D0/3.D0*(DEDE1**2+DEDE2**2+DEDE3**2))
  240. c
  241. VARF(2)=DEPST(3)
  242. c
  243. VARF(3)=1.D0
  244. c
  245. VARF(4)=VAR0(4)
  246. c
  247. VARF(5)=EPS1+DEPST(1)
  248. VARF(6)=EPS2+DEPST(2)
  249. VARF(7)=EPS3+DEPST(3)
  250. c
  251. RETURN
  252. c
  253. ELSE
  254. c
  255. c les lèvres restent bloquées ou il y a compression (2 cas)
  256. c
  257. END IF
  258. c
  259. ELSE
  260. c
  261. c le joint est fermé avec compression
  262. c
  263. END IF
  264. c
  265. c **********************************************************************
  266. c ******************* fin du test et debut du calcul *******************
  267. c **********************************************************************
  268. c
  269. DO 300 KAPPA=1,NN
  270. c
  271. c definition des deux cas (sigma<SGMT et sigma>=SGMT)
  272. c
  273. IF(ABS(SIG0(3)).LT.ABS(SGMT))THEN
  274. c
  275. c cas avec sigma < SGMT
  276. c
  277. c prédiction élastique
  278. c
  279. IF(UEQU.LT.UR)THEN
  280. c
  281. c c' est le cas élastique si U < UR
  282. c
  283. c definition des quantités necessaires au calcul
  284. c
  285. VUPU=((1.D0-SIG0(3)/SGMT)**K2)*TAN(I0)
  286. AS=1.D0-((1.D0-SIG0(3)/SGMT)**K1)
  287. SR=S0-SIG0(3)*TAN(FI0)
  288. TP=-SIG0(3)*TAN(FIMU+ATAN(VUPU))*(1.D0-AS)+AS*SR
  289. TR=TP*(B0+(1.D0-B0)*SIG0(3)/SGMT)
  290. c
  291. AA1=(SIG0(3)*(1.D0-AS)*K2)/(SGMT*(COS(FIMU+ATAN(VUPU))**2
  292. $ ))
  293. AA2=((1.D0-SIG0(3)/SGMT)**(K2-1.D0))*TAN(I0)
  294. AA3=1.D0+((1.D0-SIG0(3)/SGMT)**(2.D0*K2))*(TAN(I0)**2)
  295. AA4=K1*SIG0(3)/SGMT
  296. AA5=((1.D0-SIG0(3)/SGMT)**(K1-1.D0))*TAN(FIMU+ATAN(VUPU))
  297. $ *AA4
  298. AA6=SR/SGMT*K1*((1.D0-SIG0(3)/SGMT)**(K1-1.D0))
  299. AA7=AS*TAN(FI0)
  300. dTPS1=-(1.D0-AS)*TAN(FIMU+ATAN(VUPU))+AA1*AA2/AA3+AA5+AA6
  301. $ -AA7
  302. dTRS1=dTPS1*(B0+(1.D0-B0)*SIG0(3)/SGMT)+TP*(1.D0-B0)/SGMT
  303. AA8=-UEQU*K2/SGMT*((1.D0-SIG0(3)/SGMT)**(K2-1.D0))*TAN(I0
  304. $ )
  305. AA8=AA8+((VM**2)*KNI)/((KNI*VM-SIG0(3))**2)
  306. c
  307. c calcul de la matrice Dt equivalente (2D)
  308. c
  309. KNN=1.D0/AA8
  310. KNT=-((1.D0-SIG0(3)/SGMT)**K2)*TAN(I0)*KNN
  311. KTN=UEQU/UP*KNN*dTPS1
  312. KTT=UEQU/UP*KNT*dTPS1+TP/UP
  313. c
  314. ELSE
  315. c
  316. c c' est le cas élastique si U >= UR
  317. c
  318. c definition des quantités necessaires au calcul
  319. c
  320. VUPU=0.D0
  321. AS=1.D0-((1.D0-SIG0(3)/SGMT)**K1)
  322. SR=S0-SIG0(3)*TAN(FI0)
  323. TP=-SIG0(3)*TAN(FIMU)*(1.D0-AS)+AS*SR
  324. TR=TP*(B0+(1.D0-B0)*SIG0(3)/SGMT)
  325. c
  326. AA1=((1.D0-SIG0(3)/SGMT)**(K1-1.D0))*TAN(FIMU)*K1*SIG0(3)
  327. $ /SGMT
  328. AA2=SR/SGMT*K1*((1.D0-SIG0(3)/SGMT)**(K1-1.D0))
  329. AA3=AS*TAN(FI0)
  330. dTPS1=-(1.D0-AS)*TAN(FIMU)+AA1+AA2-AA3
  331. dTRS1=dTPS1*(B0+(1.D0-B0)*SIG0(3)/SGMT)+TP*(1.D0-B0)/SGMT
  332. AA4=-UR*K2/SGMT*((1.D0-SIG0(3)/SGMT)**(K2-1.D0))*TAN(I0)
  333. AA4=AA4+((VM**2)*KNI)/((KNI*VM-SIG0(3))**2)
  334. c
  335. c calcul de la matrice Dt equivalente (2D)
  336. c
  337. KNN=1.D0/AA4
  338. KNT=0.D0
  339. KTN=UEQU/UP*KNN*dTPS1
  340. KTT=TP/UP
  341. c
  342. END IF
  343. c
  344. c appel à CALC3 pour calculer les incréments de contraintes
  345. c
  346. CALL CALC3(KNN,KNT,KTN,KTT,SIG0,DU1,DU2,DV,NSTRS,
  347. $ DELTA,RI0E,DCON)
  348. c
  349. c calcul de l' incrément de deformation plastique
  350. c
  351. DEP1=0.D0
  352. DEP2=0.D0
  353. DEP3=0.D0
  354. c
  355. IF(UEQU.LT.UP)THEN
  356. c
  357. c il n' y a pas de plasticité
  358. c
  359. GO TO 200
  360. c
  361. ELSE IF((UEQU.GE.UP).AND.(UEQU.LT.UR))THEN
  362. c
  363. c il y a de la plasticité: trait decroissant de la courbe tau
  364. c
  365. c test pour vérifier si continuer en plasticité ou reprendre le trait
  366. c lineaire
  367. c
  368. EFFE=SQRT(SIG0(1)**2+SIG0(2)**2)-(TR-TP)/(UR-UP)*(UEQU-UP
  369. $ )-TP
  370. c
  371. IF((ABS(SIG0(1)).LT.TOL1).AND.(ABS(SIG0(2)).LT.TOL1))THEN
  372. c
  373. DTEF=SQRT((DCON(1)**2)+(DCON(2)**2))
  374. c
  375. ELSE
  376. c
  377. DTEF=(SIG0(1)*DCON(1)+SIG0(2)*DCON(2))
  378. DTEF=DTEF/SQRT(SIG0(1)**2+SIG0(2)**2)
  379. c
  380. END IF
  381. c
  382. DTEF=DTEF-(TR-TP)/(UR-UP)*DELTA
  383. DTEF=DTEF-((UEQU-UP)/(UR-UP)*(dTRS1-dTPS1)+dTPS1)*DCON(3)
  384. c
  385. IF((EFFE.LT.0.D0).OR.(DTEF.LT.0.D0))GO TO 200
  386. c
  387. c definition des quantités necessaires au calcul
  388. c
  389. VUPU=((1.D0-SIG0(3)/SGMT)**K2)*TAN(I0)
  390. AS=1.D0-((1.D0-SIG0(3)/SGMT)**K1)
  391. SR=S0-SIG0(3)*TAN(FI0)
  392. TP=-SIG0(3)*TAN(FIMU+ATAN(VUPU))*(1.D0-AS)+AS*SR
  393. TR=TP*(B0+(1.D0-B0)*SIG0(3)/SGMT)
  394. c
  395. AA1=(SIG0(3)*(1.D0-AS)*K2)/(SGMT*(COS(FIMU+ATAN(VUPU))**2
  396. $ ))
  397. AA2=((1.D0-SIG0(3)/SGMT)**(K2-1.D0))*TAN(I0)
  398. AA3=1.D0+((1.D0-SIG0(3)/SGMT)**(2.D0*K2))*(TAN(I0)**2)
  399. AA4=K1*SIG0(3)/SGMT
  400. AA5=((1.D0-SIG0(3)/SGMT)**(K1-1.D0))*TAN(FIMU+ATAN(VUPU))
  401. $ *AA4
  402. AA6=SR/SGMT*K1*((1.D0-SIG0(3)/SGMT)**(K1-1.D0))
  403. AA7=AS*TAN(FI0)
  404. dTPS1=-(1.D0-AS)*TAN(FIMU+ATAN(VUPU))+AA1*AA2/AA3+AA5+AA6
  405. $ -AA7
  406. dTRS1=dTPS1*(B0+(1.D0-B0)*SIG0(3)/SGMT)+TP*(1.D0-B0)/SGMT
  407. AA8=-UEQU*K2/SGMT*((1.D0-SIG0(3)/SGMT)**(K2-1.D0))*TAN(I0
  408. $ )
  409. AA8=AA8+((VM**2)*KNI)/((KNI*VM-SIG0(3))**2)
  410. c
  411. c calcul de la matrice Dt equivalente (2D)
  412. c
  413. KNN=1.D0/AA8
  414. KNT=-((1.D0-SIG0(3)/SGMT)**K2)*TAN(I0)*KNN
  415. KTN=KNN/(UP-UR)*(dTPS1*(UEQU-UR)+(UP-UEQU)*dTRS1)
  416. KTT=(TP-TR)/(UP-UR)
  417. KTT=KTT+KNT/(UP-UR)*(dTPS1*(UEQU-UR)+(UP-UEQU)*dTRS1)
  418. c
  419. c appel à CALC3 pour calculer les incréments de contraintes
  420. c
  421. CALL CALC3(KNN,KNT,KTN,KTT,SIG0,DU1,DU2,DV,NSTRS,
  422. $ DELTA,RI0P,DCON)
  423. c
  424. c appel à RISPL3 pour calculer les incréments de déformation plastique
  425. c
  426. CALL RISPL3(RI0E,SIG0,DCON,DU1,DU2,NSTRS,SGMT,DU1p,DU2p)
  427. c
  428. DEP1=DU1p
  429. DEP2=DU2p
  430. DEP3=0.D0
  431. c
  432. ELSE IF(UEQU.GE.UR)THEN
  433. c
  434. c il y a de la plasticité parfaite: trait horizontal de la courbe tau
  435. c
  436. c test pour vérifier si continuer en plasticité ou reprendre le trait
  437. c lineaire
  438. c
  439. EFFE=SQRT(SIG0(1)**2+SIG0(2)**2)-TR
  440. c
  441. IF((ABS(SIG0(1)).LT.TOL1).AND.(ABS(SIG0(2)).LT.TOL1))THEN
  442. c
  443. DTEF=SQRT((DCON(1)**2)+(DCON(2)**2))
  444. c
  445. ELSE
  446. c
  447. DTEF=(SIG0(1)*DCON(1)+SIG0(2)*DCON(2))
  448. DTEF=DTEF/SQRT(SIG0(1)**2+SIG0(2)**2)
  449. c
  450. END IF
  451. c
  452. DTEF=DTEF-dTRS1*DCON(3)
  453. c
  454. IF((EFFE.LT.0.D0).OR.(DTEF.LT.0.D0))GO TO 200
  455. c
  456. c definition des quantités necessaires au calcul
  457. c
  458. VUPU=0.D0
  459. AS=1.D0-((1.D0-SIG0(3)/SGMT)**K1)
  460. SR=S0-SIG0(3)*TAN(FI0)
  461. TP=-SIG0(3)*TAN(FIMU)*(1.D0-AS)+AS*SR
  462. TR=TP*(B0+(1.D0-B0)*SIG0(3)/SGMT)
  463. c
  464. AA1=((1.D0-SIG0(3)/SGMT)**(K1-1.D0))*TAN(FIMU)*K1*SIG0(3)
  465. $ /SGMT
  466. AA2=SR/SGMT*K1*((1.D0-SIG0(3)/SGMT)**(K1-1.D0))
  467. AA3=AS*TAN(FI0)
  468. dTPS1=-(1.D0-AS)*TAN(FIMU)+AA1+AA2-AA3
  469. dTRS1=dTPS1*(B0+(1.D0-B0)*SIG0(3)/SGMT)+TP*(1.D0-B0)/SGMT
  470. AA4=-UR*K2/SGMT*((1.D0-SIG0(3)/SGMT)**(K2-1.D0))*TAN(I0)
  471. AA4=AA4+((VM**2)*KNI)/((KNI*VM-SIG0(3))**2)
  472. c
  473. c calcul de la matrice Dt equivalente (2D)
  474. c
  475. KNN=1.D0/AA4
  476. KNT=0.D0
  477. KTN=KNN*dTRS1
  478. KTT=0.D0
  479. c
  480. c appel à CALC3 pour calculer les incréments de contraintes
  481. c
  482. CALL CALC3(KNN,KNT,KTN,KTT,SIG0,DU1,DU2,DV,NSTRS,
  483. $ DELTA,RI0P,DCON)
  484. c
  485. c calcul de l' incrément de deformation plastique
  486. c
  487. DEP1=DU1
  488. DEP2=DU2
  489. DEP3=0.D0
  490. c
  491. END IF
  492. c
  493. ELSE IF(ABS(SIG0(3)).GE.ABS(SGMT))THEN
  494. c
  495. c cas avec sigma >= SGMT
  496. c
  497. c il n' y a pas de plasticité
  498. c
  499. c prédiction élastique
  500. c
  501. c definition des quantités necessaires au calcul
  502. c
  503. VUPU=0.D0
  504. AS=1.D0
  505. SR=S0-SIG0(3)*TAN(FI0)
  506. TP=SR
  507. TR=TP
  508. dTPS1=-TAN(FI0)
  509. AA1=((VM**2)*KNI)/((KNI*VM-SIG0(3))**2)
  510. c
  511. c calcul de la matrice Dt equivalente (2D)
  512. c
  513. KNN=1.D0/AA1
  514. KNT=0.D0
  515. KTN=UEQU/UP*KNN*dTPS1
  516. KTT=TP/UP
  517. c
  518. c appel à CALC3 pour calculer les incréments de contraintes
  519. c
  520. CALL CALC3(KNN,KNT,KTN,KTT,SIG0,DU1,DU2,DV,NSTRS,
  521. $ DELTA,RI0E,DCON)
  522. c
  523. c calcul de l' incrément de deformation plastique
  524. c
  525. DEP1=0.D0
  526. DEP2=0.D0
  527. DEP3=0.D0
  528. c
  529. IF(UEQU.LT.UP)GO TO 200
  530. c
  531. c il y a de la plasticité parfaite: trait horizontal de la courbe tau
  532. c
  533. c test pour vérifier si continuer en plasticité ou reprendre le trait
  534. c lineaire
  535. c
  536. EFFE=SQRT(SIG0(1)**2+SIG0(2)**2)-TP
  537. c
  538. IF((ABS(SIG0(1)).LT.TOL1).AND.(ABS(SIG0(2)).LT.TOL1))THEN
  539.  
  540. DTEF=SQRT((DCON(1)**2)+(DCON(2)**2))
  541. c
  542. ELSE
  543. c
  544. DTEF=(SIG0(1)*DCON(1)+SIG0(2)*DCON(2))
  545. DTEF=DTEF/SQRT(SIG0(1)**2+SIG0(2)**2)
  546. c
  547. END IF
  548. c
  549. DTEF=DTEF-dTPS1*DCON(3)
  550. c
  551. IF((EFFE.LT.0.D0).OR.(DTEF.LT.0.D0))GO TO 200
  552. c
  553. c definition des quantités necessaires au calcul
  554. c
  555. VUPU=0.D0
  556. AS=1.D0
  557. SR=S0-SIG0(3)*TAN(FI0)
  558. TP=SR
  559. TR=TP
  560. dTPS1=-TAN(FI0)
  561. AA1=((VM**2)*KNI)/((KNI*VM-SIG0(3))**2)
  562. c
  563. c calcul de la matrice Dt equivalente (2D)
  564. c
  565. KNN=1.D0/AA1
  566. KNT=0.D0
  567. KTN=KNN*dTPS1
  568. KTT=0.D0
  569. c
  570. c appel à CALC3 pour calculer les incréments de contraintes
  571. c
  572. CALL CALC3(KNN,KNT,KTN,KTT,SIG0,DU1,DU2,DV,NSTRS,
  573. $ DELTA,RI0P,DCON)
  574. c
  575. c calcul de l' incrément de deformation plastique
  576. c
  577. DEP1=DU1
  578. DEP2=DU2
  579. DEP3=0.D0
  580. c
  581. END IF
  582. c
  583. 200 CONTINUE
  584. c
  585. c chargement de la matrice de rigidité au debut du pas
  586. c
  587. IF(KAPPA.EQ.1)THEN
  588. c
  589. RTT=KTT
  590. RTN=KTN
  591. c
  592. END IF
  593. c
  594. c chargement des valeurs à la fin des sub-pas
  595. c
  596. SIG0(1)=SIG0(1)+DCON(1)
  597. SIG0(2)=SIG0(2)+DCON(2)
  598. SIG0(3)=SIG0(3)+DCON(3)
  599. c
  600. EPS1=EPS1+DU1
  601. EPS2=EPS2+DU2
  602. EPS3=EPS3+DV
  603. c
  604. IF(SIG0(3).GE.-TOL2) THEN
  605. c
  606. c on a plasticité selon la composante normale: le joint se ouvre
  607. c ou il reste bloqué
  608. c
  609. SIG0(1)=0.D0
  610. SIG0(2)=0.D0
  611. SIG0(3)=0.D0
  612. c
  613. UEQU=UEQU
  614. c
  615. DEFP(1)=DEFP(1)+DU1
  616. DEFP(2)=DEFP(2)+DU2
  617. DEFP(3)=DEFP(3)+DV
  618. c
  619. EPIN0(1)=EPIN0(1)+DU1
  620. EPIN0(2)=EPIN0(2)+DU2
  621. EPIN0(3)=EPIN0(3)+DV
  622. c
  623. ELSE
  624. c
  625. c on n' a pas de plasticité selon la composante normale: le joint
  626. c reste fermé
  627. c
  628. UEQU=ABS(UEQU+DELTA)
  629. c
  630. DEFP(1)=DEFP(1)+DEP1
  631. DEFP(2)=DEFP(2)+DEP2
  632. DEFP(3)=DEFP(3)+DEP3
  633. c
  634. EPIN0(1)=EPIN0(1)+DEP1
  635. EPIN0(2)=EPIN0(2)+DEP2
  636. EPIN0(3)=EPIN0(3)+DEP3
  637. c
  638. END IF
  639. c
  640. 300 CONTINUE
  641. c
  642. c **********************************************************************
  643. c ******** fin de la boucle du calcul et preparation des sorties *******
  644. c **********************************************************************
  645. c
  646. c test pour vérifier si le deux tau sont presque nulles
  647. c
  648. TOL3=1.D-1*ABS(RTT*(UEQU-VAR0(4))+RTN*DEPST(3))
  649. c
  650. IF((ABS(SIG0(1)).LT.TOL3).AND.(ABS(SIG0(2)).LT.TOL3))THEN
  651. c
  652. SIG0(1)=0.D0
  653. SIG0(2)=0.D0
  654. c
  655. END IF
  656. c
  657. c chargement des valeurs des contraintes finales
  658. c
  659. SIGF(1)=SIG0(1)
  660. SIGF(2)=SIG0(2)
  661. SIGF(3)=SIG0(3)
  662. c
  663. c état du joint
  664. c
  665. IF(EPIN0(3).GT.EPSS)THEN
  666. c
  667. c le joint est ouvert
  668. c
  669. VARF(3)=1.D0
  670. c
  671. ELSE IF((EPIN0(3).LE.EPSS).AND.(SIG0(3).GE.-TOL2))THEN
  672. c
  673. c le joint est fermé mais sans compression
  674. c
  675. VARF(3)=0.D0
  676. c
  677. ELSE
  678. c
  679. c le joint est fermé avec compression
  680. c
  681. VARF(3)=2.D0
  682. c
  683. END IF
  684. c
  685. c chargement de la variable EPSE
  686. c
  687. VARF(1)=SQRT(2.D0/3.D0*(EPIN0(1)**2+EPIN0(2)**2+EPIN0(3)**2))
  688. c
  689. c chargement de la variable EPOU
  690. c
  691. VARF(2)=DEFP(3)
  692. c
  693. c chargement de la variable UEQU
  694. c
  695. VARF(4)=UEQU
  696. c
  697. c chargement des déformations totales
  698. c
  699. VARF(5)=EPS1
  700. VARF(6)=EPS2
  701. VARF(7)=EPS3
  702. c
  703. RETURN
  704. c
  705. END
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  

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