Télécharger amade2.eso

Retour à la liste

Numérotation des lignes :

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

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