Télécharger rouss.eso

Retour à la liste

Numérotation des lignes :

rouss
  1. C ROUSS SOURCE AS218369 09/12/01 21:15:47 6561
  2. SUBROUTINE ROUSS(DEPST,NSTRS,MFR1,IB,IGAU,
  3. 1 DSIGT,NCOMAT,SIG0,VAR0,XMAT,XCAR,NVARI,ICARA,
  4. 2 SIGF,VARF,DEFP,TRAC,KERRE,necou)
  5. *
  6. *_________________________________________________________________
  7. *
  8. *
  9. * ENTREES :
  10. * ---------
  11. *
  12. * DEPST = INCREMENT DE DEFORMATIONS TOTALES
  13. * NSTRS = NBRE DE COMPOSANTES DES DEFORMATIONS
  14. * NCOMAT= NBRE DE CARACTERISTIQUES MECANIQUES DU MATERIAU
  15. * MFR1 = NUMERO DE LA FORMULATION
  16. * IB = NUMERO DE L ELEMENT COURANT
  17. * IGAU = NUMERO DU POINT COURANT
  18. * NVARI = NBRE DE VARIABLES INTERNES
  19. * SIG0(NSTRS) = CONTRAINTES AU DEBUT DU PAS D'INTEGRATION
  20. * VAR0(NVARI) = VARIABLES INTERNES AU DEBUT DU PAS DE TEMPS
  21. * XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU
  22. * ICARA = NBRE DE CARACTERISTIQUES GEOMETRIQUES DES ELEMENTS FINIS
  23. * XCARA(ICARA) = CARACTERISTIQUES GEOMETRIQUES DES ELEMENTS FINIS
  24. * TRAC = COURBE DE TRACTION NON ENDOMMAGEE
  25. *
  26. * SORTIE :
  27. * --------
  28. *
  29. * SIGF(NSTRS) = CONTRAINTES FINALES
  30. * VARF(NVARI) = VARIALES INTERNES A LA FIN DU PAS D'INTEGRATION
  31. * DEFP(NSTRS) = INCREMENT DE DEFORMATION PLASTIQUE A LA FIN
  32. * DU PAS D'INTEGRATION
  33. * ============================================================
  34. * ICI IL FAUT PROGRAMMER EN FORTRAN PUR
  35. *=============================================================
  36. *
  37. IMPLICIT INTEGER(I-N)
  38. IMPLICIT REAL*8(A-H,O-Z)
  39. *
  40.  
  41. -INC PPARAM
  42. -INC CCOPTIO
  43. *
  44. SEGMENT NECOU
  45. * COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  46. INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  47. . ITYP,IFOURB,IFLUAG,
  48. . ICINE,ITHER,IFLUPL,ICYCL,IBI,
  49. . JFLUAG,KFLUAG,LFLUAG,
  50. . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF
  51. ENDSEGMENT
  52. C COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  53. C . ITYP,IFOURB,IFLUAG,
  54. C . ICINE,ITHER,IFLUPL,ICYCL,IBI,
  55. C . JFLUAG,KFLUAG,LFLUAG,
  56. C . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF
  57. *
  58. DIMENSION SIG0(*),DEPST(*),VAR0(*),XMAT(*),XCAR(*),SIGF(*),
  59. & VARF(*),DEFP(*),DSIGT(*),TRAC(*)
  60. DIMENSION RDEPS0(6)
  61. DIMENSION RSIG0(6),RDEPS(6),RSIGF(6),RDEFP(6),RDIGT(6)
  62. DIMENSION DEVT(6),SIGT(6),DEFT(6),SIGT1(6)
  63. *
  64. * Adaptation de l'option de calcul vers le 3D massif de SIG0 a RSIG0
  65. *====================================================================
  66. *
  67.  
  68. * IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  69. * as :
  70. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31.OR.MFR1.EQ.63) THEN
  71. *---> 1 formulation massive
  72. *---> 2 formulation quasi incompressible
  73. *---> MASSIF 3D
  74. *
  75. IF (NSTRS .EQ. 6) THEN
  76. DO 110 I=1,NSTRS
  77. RSIG0(I)=SIG0(I)
  78. RDEPS0(I)=DEPST(I)
  79. 110 CONTINUE
  80. ELSE IF ( NSTRS .EQ. 4 .AND. ((IFOUR .EQ. 0)
  81. & .OR.(IFOUR .EQ. -1).OR.(IFOUR.EQ.-2))) THEN
  82. *
  83. *---> Calcul en mode deformations planes ou axisymetrique
  84. * ou contraintes planes
  85. *
  86. DO 115 I=1,NSTRS
  87. RSIG0(I)=SIG0(I)
  88. RDEPS0(I)=DEPST(I)
  89. 115 CONTINUE
  90. RSIG0(5)=0.D0
  91. RSIG0(6)=0.D0
  92. RDEPS0(5)=0.D0
  93. RDEPS0(6)=0.D0
  94. ENDIF
  95. ELSE
  96. KERRE = 99
  97. RETURN
  98. ENDIF
  99. *
  100. *
  101. * Passage des deformations de cisaillement exprimées
  102. * en GAMA aux déformations de cisaillement exprimées
  103. * en déformations
  104. *
  105. DO 116 I=1,6
  106. A=1.D0
  107. IF (I.GT.3) A=2.D0
  108. RDEPS0(I)=RDEPS0(I)/A
  109. RDEPS(I)=0.D0
  110. 116 CONTINUE
  111. *
  112. * Données du materiau
  113. *===========================================================
  114. *
  115. YOUNG=XMAT(1)
  116. XNU=XMAT(2)
  117. F0=XMAT(6)
  118. XD0=XMAT(7)
  119. SIG1=XMAT(8)
  120. FC0=XMAT(9)
  121. IF (F0.GE.1.D0) F0=3.D-4
  122. RMAX0=(1.D0-FC0)/(1.D0-F0)
  123. IF ((RMAX0.LE.1.D-5).OR.(RMAX0.GE.1.D0)) THEN
  124. RMAX0=1.D-5
  125. ENDIF
  126. *
  127. * Calculs préliminaires
  128. *===================================
  129. *
  130. *---> Module de cisaillement G0 et de pression hydro XK0
  131. *
  132. G0=YOUNG/(2.D0*(1.D0+XNU))
  133. XK0=YOUNG/(3.D0*(1.D0-(2.D0*XNU)))
  134. XLAM0=XK0-(2.D0*G0/3.D0)
  135. *
  136. * Début des sous incrémentations
  137. *===================================
  138. *
  139. recal0=-100.D0
  140. iter2=0
  141. nmax0=1
  142. *
  143. *---> Variables internes test
  144. *
  145. * - déformation plastique équivalente
  146. * - variable d'endommagement
  147. * - densité relative
  148. *
  149. 93 EPSPT=VAR0(1)
  150. BETAT=VAR0(2)
  151. RHOT=VAR0(3)
  152. *
  153. * - initialisation de RHOT à 1.
  154. *
  155. IF (RHOT.LT.1.D-30) THEN
  156. RHOT=1.D0
  157. VAR0(3)=1.D0
  158. ENDIF
  159. RHOT0=RHOT
  160. *
  161. * Contraintes planes
  162. * - on stocke les variables internes au début de
  163. * chaque sous incrémentation
  164. * - on stocke les déformations plastiques au début de
  165. * chaque sous incrémentation
  166. *
  167. IF (IFOUR.EQ.-2) THEN
  168. EPSPT1=EPSPT
  169. BETAT1=BETAT
  170. RHOT1=RHOT
  171. def1=0.D0
  172. def2=0.D0
  173. def3=0.D0
  174. rdeps3=0.D0
  175. ENDIF
  176. *
  177. * Contraintes planes
  178. * - on stocke les contraintes non endommagées au début de
  179. * chaque sous incrémentation
  180. *
  181. DO 171 I=1,6
  182. IF (RHOT0.GT.RMAX0) THEN
  183. SIGT(I)=RSIG0(I)/RHOT0
  184. ELSE
  185. SIGT(I)=0.D0
  186. XLAM0=0.D0
  187. G0=0.D0
  188. ENDIF
  189. IF (IFOUR.EQ.-2) SIGT1(I)=SIGT(I)
  190. 171 CONTINUE
  191. IF (RHOT0.GT.RMAX0) THEN
  192. SMT0=(RSIG0(1)+RSIG0(2)+RSIG0(3))/(3.D0*RHOT0)
  193. ELSE
  194. SMT0=0.D0
  195. ENDIF
  196. IF (IFOUR.EQ.-2) SMT1=SMT0
  197. *
  198. * On divise le chargement pour les sous incrementations
  199. *
  200. 95 DO 118 I=1,6
  201. RDEPS(I)=RDEPS0(I)/nmax0
  202. 118 CONTINUE
  203. iter2=iter2+1
  204. *
  205. * Initialisations
  206. *===================================
  207. *
  208. iter1=0
  209. *
  210. *---> Calcul de la trace de l'incrément de déformation
  211. *
  212. IF (IFOUR.EQ.-2) THEN
  213. RDEPS(3)=-1.D0*(XNU/(1.D0-XNU))*(RDEPS(1)+RDEPS(2))
  214. ENDIF
  215. 98 treps0=RDEPS(1)+RDEPS(2)+RDEPS(3)
  216. *
  217. *
  218. * Calculs des grandeurs élastiques test
  219. *====================================================
  220. *
  221. *---> Variables internes test: cas contraintes planes
  222. *
  223. * - déformation plastique équivalente
  224. * - variable d'endommagement
  225. * - densité relative
  226. *
  227. IF (IFOUR.EQ.-2) THEN
  228. EPSPT=EPSPT1
  229. BETAT=BETAT1
  230. RHOT=RHOT1
  231. ENDIF
  232. *
  233. *---> Calcul des contraintes test élastiques efficaces
  234. * et de l'incrément des déformations plastiques test au
  235. * cours du pas
  236. *
  237. DO 101 I=1,6
  238. A=0.D0
  239. IF (I.LE.3) A=1.D0
  240. IF (IFOUR.EQ.-2) SIGT(I)=SIGT1(I)
  241. SIGT(I)=SIGT(I)+(2.D0*G0*RDEPS(I))
  242. SIGT(I)=SIGT(I)+(XLAM0*treps0*A)
  243. DEFT(I)=0.D0
  244. 101 CONTINUE
  245. *
  246. *---> Déviateur et contrainte moyenne test
  247. *
  248. SMT=(SIGT(1)+SIGT(2)+SIGT(3))/3.D0
  249. DO 200 I=1,6
  250. A=0.D0
  251. IF (I.LE.3) A=1.D0
  252. DEVT(I)=SIGT(I)-(A*SMT)
  253. 200 CONTINUE
  254. *
  255. *---> Contrainte équivalente STEST
  256. *
  257. STEST2=(SIGT(1)*SIGT(1))+(SIGT(2)*SIGT(2))
  258. STEST2=STEST2+(SIGT(3)*SIGT(3))
  259. STEST2=STEST2-(SIGT(1)*SIGT(2))-(SIGT(2)*SIGT(3))
  260. STEST2=STEST2-(SIGT(3)*SIGT(1))
  261. STEST3=(SIGT(4)*SIGT(4))+(SIGT(5)*SIGT(5))
  262. STEST3=STEST3+(SIGT(6)*SIGT(6))
  263. STEST2=STEST2+(3.D0*STEST3)
  264. IF (STEST2.LE.1.D-20) STEST2=0.D0
  265. Stest=(STEST2)**(0.5D0)
  266. *
  267. *---> Potentiel d'endommagement
  268. *
  269. BT0=F0*SIG1*EXP(BETAT)
  270. BT0=BT0/(1.D0-F0+(F0*EXP(BETAT)))
  271. DBT0=BT0*(1.D0-F0)/(1.D0-F0+(F0*EXP(BETAT)))
  272. Ftest=BT0*XD0*EXP(SMT/SIG1)
  273. *
  274. *---> Limite d'élasticité lue sur la courbe d'écrouissage
  275. *
  276. * - Recherche des valeurs de déformations plastiques équivalentes
  277. * encadrant la valeur courante
  278. *
  279. EPSM0=TRAC(2*NCOURB)
  280. IF (EPSPT.GE.EPSM0) THEN
  281. Y1=TRAC(2*NCOURB-1)
  282. Y2=TRAC(2*NCOURB-1)
  283. EPS1=EPSM0
  284. EPS2=2.D0*EPSM0
  285. ELSE
  286. DO 300 I=1,(NCOURB-1)
  287. EPS1=TRAC(2*I)
  288. EPS2=TRAC(2*(I+1))
  289. IF ((EPSPT.GE.EPS1).AND.(EPSPT.LT.EPS2)) THEN
  290. Y1=TRAC(2*I-1)
  291. Y2=TRAC(2*(I+1)-1)
  292. GOTO 96
  293. ENDIF
  294. 300 CONTINUE
  295. ENDIF
  296. *
  297. * - Limite d'élasticité
  298. *
  299. 96 H0=(Y2-Y1)/(EPS2-EPS1)
  300. Ytest=(H0*(EPSPT-EPS2))+Y2
  301. *
  302. *---> Fonction de charge test PHIT
  303. *
  304. PHIT=Stest-Ytest+Ftest
  305. *
  306. *
  307. * Vérification du critère de plasticité
  308. *=========================================================
  309. *
  310. *---> Erreur admise
  311. *
  312. ERR0=1.E-7*ABS(PHIT)
  313. ERR0=MAX(ERR0,1.D-8*TRAC(1))
  314. *
  315. *---> Critère de plasticité
  316. *
  317. PHI0=PHIT
  318. IF (RHOT.LE.RMAX0) PHI0=0.D0
  319. iter0=0
  320. *
  321. 99 IF (PHI0.LE.ERR0) THEN
  322. *
  323. * On est élastique
  324. *=========================================================
  325. *
  326. *--------------------------------------------------------------
  327. * Cas particulier des contraintes planes
  328. *--------------------------------------------------------------
  329. *
  330. IF (IFOUR.EQ.-2) THEN
  331. *
  332. *---> On vérifie qu'on est en contraintes planes
  333. *
  334. iter1=iter1+1
  335. SIG3=ABS(SIGT(3))
  336. SIG30=MAX(Stest*1.D-5,1.D-3)
  337. IF (SIG3.GT.SIG30) THEN
  338. RDEPS(3)=-1.D0*(XNU/(1.D0-XNU))*
  339. . (RDEPS(1)-DEFT(1)+RDEPS(2)-DEFT(2)+def1+def2)
  340. RDEPS(3)=RDEPS(3)+DEFT(3)-def3
  341. IF (iter1.LE.200)THEN
  342. GOTO 98
  343. ELSE
  344. KERRE=460
  345. ENDIF
  346. ELSE
  347. EPSPT1=EPSPT
  348. BETAT1=BETAT
  349. RHOT1=RHOT
  350. SIGT1(1)=SIGT(1)
  351. SIGT1(2)=SIGT(2)
  352. SIGT1(3)=SIGT(3)
  353. SIGT1(4)=SIGT(4)
  354. SIGT1(5)=SIGT(5)
  355. SIGT1(6)=SIGT(6)
  356. rdeps3=rdeps3+RDEPS(3)
  357. def1=DEFT(1)
  358. def2=DEFT(2)
  359. def3=DEFT(3)
  360. ENDIF
  361. ENDIF
  362. *
  363. *-----------------------------------------------------
  364. * Fin du cas particulier des contraintes planes
  365. *-----------------------------------------------------
  366. *
  367. DO 400 I=1,6
  368. RSIGF(I)=SIGT(I)*RHOT
  369. RDEFP(I)=DEFT(I)
  370. RDIGT(I)=RSIGF(I)-RSIG0(I)
  371. 400 CONTINUE
  372. VARF(1)=EPSPT
  373. VARF(2)=BETAT
  374. VARF(3)=RHOT
  375. *
  376. ELSE
  377. *
  378. * On plastifie
  379. *=========================================================
  380. *
  381. *---> Pente d'écrouissage H0 = d PHI / d EPSP
  382. *
  383. * Ce terme est déjà calculé
  384. *
  385. *---> Condition de consistance
  386. *
  387. Ftest0=1.D-6*Ftest
  388. IF (Stest.GT.Ftest0) THEN
  389. denom0=(DBT0-BT0*BT0*XK0/(SIG1*SIG1))*EXP(2.D0*SMT/SIG1)
  390. denom0=H0+3.D0*G0-XD0*XD0*denom0
  391. ELSE
  392. denom0=(DBT0-BT0*BT0*XK0/(SIG1*SIG1))*EXP(2.D0*SMT/SIG1)
  393. denom0=H0-XD0*XD0*denom0
  394. ENDIF
  395. IF (denom0.GT.1.D-5) THEN
  396. dlam0=PHIT/denom0
  397. ELSE
  398. IF (recal0.LE.0.D0) THEN
  399. recal0=100.D0
  400. nmax0=2000
  401. iter2=0
  402. GOTO 93
  403. ENDIF
  404. ENDIF
  405. *
  406. * Vérification des hypothèses de calcul
  407. *===============================================================
  408. *
  409. IF (recal0.LE.0.D0) THEN
  410. *
  411. * RMAX1=MIN(0.5D0,RMAX0*2.D0)
  412. * RMAX1=MAX(RMAX1,0.1D0)
  413. * IF (RHOT.LT.RMAX1) THEN
  414. * xnum0=200.D0
  415. * ELSE
  416. xnum0=20.D0
  417. * ENDIF
  418. *
  419. xmax1=0.D0
  420. xmax2=0.D0
  421. xmax3=0.D0
  422. *
  423. *---> Condition: d SM / SIG1 << 1
  424. *
  425. cri00=XK0*(ABS(RDEPS(1)+RDEPS(2)+RDEPS(3)))/SIG1
  426. IF (cri00.GT.5.D-2) THEN
  427. xmax1=ABS(xnum0*cri00+10.D0)
  428. ENDIF
  429. *
  430. *---> Condition: 10.G.dp/Stest << 1
  431. *
  432. IF (Stest.GT.Ftest0) THEN
  433. cri01=10.D0*G0*dlam0/Stest
  434. IF (cri01.GT.5.D-2) THEN
  435. xmax2=ABS(xnum0*cri01+10.D0)
  436. ENDIF
  437. ENDIF
  438. * xmax2=0.D0
  439. *
  440. *---> Condition: B'(beta).d beta / B(beta) << 1
  441. *
  442. * cri02=DBT0*dlam0*XD0*EXP(SMT/SIG1)/BT0
  443. cri02=dlam0*XD0*EXP(SMT/SIG1)
  444. IF (cri02.GT.5.D-2) THEN
  445. xmax3=(xnum0*cri02+10.D0)
  446. ENDIF
  447. *
  448. IF (xmax1.GT.xmax2) THEN
  449. xmax00=xmax1
  450. ELSE
  451. xmax00=xmax2
  452. ENDIF
  453. IF (xmax3.GT.xmax00) xmax00=xmax3
  454. nmax00=NINT(xmax00)
  455. recal0=100.D0
  456. IF (nmax00.GT.nmax0) nmax0=nmax00
  457. IF (nmax0.GT.2000) nmax0=2000
  458. *
  459. *---> On recommence la calcul en sous incrémentant le
  460. * pas de temps
  461. *
  462. iter2=0
  463. GOTO 93
  464. *
  465. ENDIF
  466. *
  467. * Mise à jour des grandeurs après écoulement plastique
  468. *============================================================
  469. *
  470. *---> Variable interne de plasticité mise à jour
  471. *
  472. EPSPT=EPSPT+dlam0
  473. *
  474. *---> Contraintes mises à jour
  475. *
  476. tremp0=XD0*BT0*EXP(SMT/SIG1)*dlam0/SIG1
  477. . +XD0*XD0*(DBT0-BT0*BT0*XK0/(SIG1*SIG1))*EXP(2.D0*SMT/SIG1)
  478. . *dlam0*dlam0/SIG1
  479. SMT=SMT-XK0*tremp0
  480. DO 601 I=1,6
  481. A=0.D0
  482. IF (I.LE.3) A=1.D0
  483. IF (Stest.GT.Ftest0) THEN
  484. DEVT(I)=DEVT(I)-3.D0*G0*DEVT(I)*dlam0/Stest
  485. ELSE
  486. DEVT(I)=0.D0
  487. ENDIF
  488. SIGT(I)=DEVT(I)+(SMT*A)
  489. 601 CONTINUE
  490. *
  491. *---> Endommagement
  492. *
  493. RHOT=RHOT*EXP(-tremp0)
  494. IF (RHOT.LT.1.D-10) RHOT=1.D-10
  495. BETAT=LOG((1.D0-(1.D0-F0)*RHOT)/(RHOT*F0))
  496. *
  497. IF (RHOT.LE.RMAX0) THEN
  498. SMT=0.D0
  499. DO 103 I=1,6
  500. SIGT(I)=0.D0
  501. DEVT(I)=0.D0
  502. 103 CONTINUE
  503. ENDIF
  504. *
  505. *---> Incrément de déformations plastiques mise à jour
  506. *
  507. treps1=(SMT-SMT0)/XK0
  508. DO 610 I=1,6
  509. A=0.D0
  510. IF (I.LE.3) A=1.D0
  511. IF (RHOT0.GT.RMAX0) THEN
  512. depel0=(DEVT(I)-(RSIG0(I)/RHOT0)+(SMT0*A))/(2.D0*G0)
  513. ELSE
  514. depel0=(DEVT(I)+(SMT0*A))/(2.D0*G0)
  515. ENDIF
  516. depel0=depel0+(treps1*A/3.D0)
  517. DEFT(I)=RDEPS0(I)*iter2/nmax0-depel0
  518. IF ((IFOUR.EQ.-2).AND.(I.EQ.3)) THEN
  519. DEFT(3)=rdeps3+RDEPS(3)-depel0
  520. ENDIF
  521. 610 CONTINUE
  522. *
  523. *---> Contrainte équivalente Stest mise à jour
  524. *
  525. STEST2=(SIGT(1)*SIGT(1))+(SIGT(2)*SIGT(2))
  526. STEST2=STEST2+(SIGT(3)*SIGT(3))
  527. STEST2=STEST2-(SIGT(1)*SIGT(2))-(SIGT(2)*SIGT(3))
  528. STEST2=STEST2-(SIGT(3)*SIGT(1))
  529. STEST3=(SIGT(4)*SIGT(4))+(SIGT(5)*SIGT(5))
  530. STEST3=STEST3+(SIGT(6)*SIGT(6))
  531. STEST2=STEST2+(3.D0*STEST3)
  532. IF (STEST2.LE.(Ftest0*Ftest0)) STEST2=0.D0
  533. Stest=(STEST2)**(0.5D0)
  534. *
  535. *---> Potentiel d'endommagement mis à jour
  536. *
  537. BT0=F0*SIG1*EXP(BETAT)
  538. BT0=BT0/(1.D0-F0+(F0*EXP(BETAT)))
  539. DBT0=BT0*(1.D0-F0)/(1.D0-F0+(F0*EXP(BETAT)))
  540. Ftest=BT0*XD0*EXP(SMT/SIG1)
  541. *
  542. *---> Limite d'élasticité lue sur la courbe d'écrouissage
  543. * mise à jour
  544. *
  545. * - Recherche des valeurs de déformations plastiques équivalentes
  546. * encadrant la valeur courante
  547. *
  548. EPSM0=TRAC(2*NCOURB)
  549. IF (EPSPT.GE.EPSM0) THEN
  550. Y1=TRAC(2*NCOURB-1)
  551. Y2=TRAC(2*NCOURB-1)
  552. EPS1=EPSM0
  553. EPS2=2.D0*EPSM0
  554. ELSE
  555. DO 700 I=1,(NCOURB-1)
  556. EPS1=TRAC(2*I)
  557. EPS2=TRAC(2*(I+1))
  558. IF ((EPSPT.GE.EPS1).AND.(EPSPT.LT.EPS2)) THEN
  559. Y1=TRAC(2*I-1)
  560. Y2=TRAC(2*(I+1)-1)
  561. GOTO 97
  562. ENDIF
  563. 700 CONTINUE
  564. ENDIF
  565. *
  566. * - Limite d'élasticité mise à jour
  567. *
  568. 97 H0=(Y2-Y1)/(EPS2-EPS1)
  569. Ytest=(H0*(EPSPT-EPS2))+Y2
  570. *
  571. *---> Fonction de charge test PHIT mise à jour
  572. *
  573. PHIT=Stest-Ytest+Ftest
  574. PHI0=ABS(PHIT)
  575. *
  576. *---> Test de convergence ou itération suivante
  577. *
  578. iter0=iter0+1
  579. * if ((ib.eq.12).and.(rhot0.lt.0.45).and.(igau.eq.19)) write(6,*)
  580. * &'13iter2,iter0:',iter2,iter0,'phi',phit,var0(3),depst(1),depst(2)
  581. IF (RHOT.LE.RMAX0) PHI0=0.D0
  582. IF (iter0.LT.200) THEN
  583. GOTO 99
  584. ELSE
  585. PHI0=0.D0
  586. KERRE=460
  587. write(6,*) 'rho0,deps1 et 2',var0(3),depst(1),depst(2),ib,igau
  588. GOTO 99
  589. ENDIF
  590. *
  591. ENDIF
  592. *
  593. *
  594. * Vérification des sous incrémentations
  595. *
  596. IF ((iter2.LT.nmax0).AND.(KERRE.EQ.0)) THEN
  597. GOTO 95
  598. ENDIF
  599. *
  600. * Passage des deformations de cisaillement exprimées
  601. * en déformations aux déformations de cisaillement exprimées
  602. * en GAMA
  603. *
  604. DO 117 I=1,6
  605. A=1.D0
  606. IF (I.GT.3) A=2.D0
  607. RDEFP(I)=RDEFP(I)*A
  608. 117 CONTINUE
  609. *
  610. *
  611. * Passage a l'option de calcul pour les contraintes
  612. *=========================================================
  613. *
  614. * IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  615. * as :
  616. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31.OR.MFR1.EQ.63) THEN
  617. IF (NSTRS .EQ. 6) THEN
  618. *
  619. *---> MASSIF 3D
  620. *
  621. DO 170 I=1,NSTRS
  622. SIGF(I)=RSIGF(I)
  623. DEFP(I)=RDEFP(I)
  624. DSIGT(I)=RDIGT(I)
  625. 170 CONTINUE
  626. ELSE IF ( NSTRS .EQ. 4 ) THEN
  627. *
  628. *---> Calcul axisymétrique ou contraintes planes
  629. *
  630. DO 180 I=1,NSTRS
  631. SIGF(I)=RSIGF(I)
  632. DEFP(I)=RDEFP(I)
  633. DSIGT(I)=RDIGT(I)
  634. 180 CONTINUE
  635. ENDIF
  636. ENDIF
  637. * if (ib.eq.13) write(6,*)
  638. * & '11:rho0,deps1,2,p',var0(3),depst(1),depst(2),var0(1),igau
  639.  
  640. RETURN
  641. *
  642. END
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  

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