Télécharger rouss.eso

Retour à la liste

Numérotation des lignes :

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

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