Télécharger pakzad.eso

Retour à la liste

Numérotation des lignes :

pakzad
  1. C PAKZAD SOURCE PV 11/03/07 21:17:46 6885
  2. SUBROUTINE PAKZAD(DEPST,NSTRS,NCOMAT,NVARI,
  3. . MFR1,IB,IGAU,
  4. . XMAT,SIG0,VAR0,SIGF,VARF,DEFP,KERRE,DSIGT,
  5. . SUCC1,SUCC2,necou)
  6. *
  7. *
  8. ***************************************************************
  9. *
  10. * Modèle d'argile de PAKZAD
  11. *
  12. ***************************************************************
  13. *
  14. *
  15. *_________________________________________________________________
  16. *
  17. *
  18. * ENTREES :
  19. * ---------
  20. *
  21. * DEPST = INCREMENT DE DEFORMATIONS TOTALES
  22. * NSTRS = NBRE DE COMPOSANTES DES DEFORMATIONS
  23. * NCOMAT= NBRE DE CARACTERISTIQUES MECANIQUES DU MATERIAU
  24. * NVARI = NBRE DE VARIABLES INTERNES
  25. * MFR1 = NUMERO DE LA FORMULATION
  26. * IB = NUMERO DE L ELEMENT COURANT
  27. * IGAU = NUMERO DU POINT COURANT
  28. * SIG0(NSTRS) = CONTRAINTES AU DEBUT DU PAS D'INTEGRATION
  29. * VAR0(NVARI) = VARIABLES INTERNES AU DEBUT DU PAS DE TEMPS
  30. * XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU
  31. * SUCC1 SUCCION AU DEBUT DU PAS
  32. * SUCC2 SUCCION A LA FIN DU PAS
  33. *
  34. * SORTIE :
  35. * --------
  36. *
  37. * SIGF(NSTRS) = CONTRAINTES FINALES
  38. * VARF(NVARI) = VARIALES INTERNES A LA FIN DU PAS D'INTEGRATION
  39. * DEFP(NSTRS) = INCREMENT DE DEFORMATION PLASTIQUE A LA FIN
  40. * DU PAS D'INTEGRATION
  41. * ============================================================
  42. * ICI IL FAUT PROGRAMMER EN FORTRAN PUR
  43. *=============================================================
  44. *
  45. IMPLICIT INTEGER(I-N)
  46. IMPLICIT REAL*8(A-H,O-Z)
  47. *
  48.  
  49. -INC PPARAM
  50. -INC CCOPTIO
  51. *
  52. SEGMENT NECOU
  53. * COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  54. INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  55. . ITYP,IFOURB,IFLUAG,
  56. . ICINE,ITHER,IFLUPL,ICYCL,IBI,
  57. . JFLUAG,KFLUAG,LFLUAG,
  58. . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF
  59. ENDSEGMENT
  60. C COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  61. C . ITYP,IFOURB,IFLUAG,
  62. C . ICINE,ITHER,IFLUPL,ICYCL,IBI,
  63. C . JFLUAG,KFLUAG,LFLUAG,
  64. C . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF
  65. *
  66. DIMENSION SIG0(*),DEPST(*),VAR0(*),XMAT(*),SIGF(*),
  67. & VARF(*),DEFP(*),DSIGT(*)
  68. DIMENSION RSIG0(6),RDEPS0(6),RSIGF(6),RDEFP(6),RSIG1(6)
  69. DIMENSION DEVT(6),SIGT(6),DEFT(6)
  70. REAL*8 LS0,LS1
  71. *
  72. * Adaptation de l'option de calcul vers le 3D massif de SIG0 a RSIG0
  73. *====================================================================
  74. *
  75. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  76. *
  77. *---> 1 formulation massive
  78. *---> 2 formulation quasi incompressible
  79. *---> MASSIF 3D
  80. *
  81. IF (NSTRS .EQ. 6) THEN
  82. DO 110 I=1,NSTRS
  83. RSIG0(I)=SIG0(I)
  84. RDEPS0(I)=DEPST(I)
  85. 110 CONTINUE
  86. ELSE IF ( NSTRS .EQ. 4 .AND. ((IFOUR .EQ. 0)
  87. & .OR.(IFOUR .EQ. -1))) THEN
  88. *
  89. *---> Calcul en mode deformations planes ou axisymetrique
  90. *
  91. DO 115 I=1,NSTRS
  92. RSIG0(I)=SIG0(I)
  93. RDEPS0(I)=DEPST(I)
  94. 115 CONTINUE
  95. RSIG0(5)=0.D0
  96. RSIG0(6)=0.D0
  97. RDEPS0(5)=0.D0
  98. RDEPS0(6)=0.D0
  99. ENDIF
  100. ELSE
  101. KERRE = 99
  102. RETURN
  103. ENDIF
  104. *
  105. *
  106. * Passage des deformations de cisaillement exprimées
  107. * en GAMA aux déformations de cisaillement exprimées
  108. * en déformations
  109. *
  110. DO 116 I=1,6
  111. A=1.D0
  112. IF (I.GT.3) A=2.D0
  113. RDEPS0(I)=RDEPS0(I)/A
  114. 116 CONTINUE
  115. *
  116. * Données du materiau
  117. *===========================================================
  118. *
  119. YOUN0=XMAT(1)
  120. XNU0=XMAT(2)
  121. XN0=XMAT(5)
  122. XKA0=XMAT(6)
  123. XGA0=XMAT(7)
  124. XPA0=XMAT(8)
  125. XPC0=XMAT(9)
  126. XM0=XMAT(10)
  127. XBET1=XMAT(11)
  128. XA0=XMAT(12)
  129. XPCR0=XMAT(13)
  130. XS0=XMAT(14)
  131. XM1=XMAT(15)
  132. XM2=XMAT(16)
  133. XM3=XMAT(17)
  134. XBET2=XMAT(18)
  135. XTAU0=XMAT(19)
  136. *
  137. *
  138. * Quelques initialisations
  139. *=============================================================
  140. *
  141. *---> Succion
  142. * . Succion initiale
  143. * . succion finale
  144. * . Succion de désaturation
  145. *
  146. ******************************
  147. * MODIFICATION POUR LA SUCCION
  148. *
  149. IF(SUCC1.LT.-1.E34.AND.SUCC2.LT.-1.E34) THEN
  150. *
  151. * cas à succion constante : on la prend dans var0
  152. *
  153. SUCI0=VAR0(3)
  154. SUCF0=SUCI0
  155. ELSE
  156. SUCI0=SUCC1
  157. SUCF0=SUCC2
  158. ENDIF
  159. *
  160. IF (VAR0(2).LE.1.D-10) VAR0(2)=XS0+XM1*(XPC0-XS0)
  161. SDT=VAR0(2)
  162. *
  163. *---> Pression de consolidation initiale dans le domaine saturé
  164. *
  165. IF (VAR0(4).LE.1.D-10) VAR0(4)=XPC0
  166. *
  167. *---> On est en train d'activer la surface de contact ou de gonflement
  168. *
  169. IF ((VAR0(21).LE.1.D-10).AND.(VAR0(22).LE.1.D-10)) THEN
  170. *
  171. * On active la surface de contact
  172. *
  173. IGONF=1
  174. ELSE
  175. *
  176. * On active la surface de gonflement
  177. *
  178. IGONF=0
  179. ENDIF
  180. *
  181. *---> On initialise les variables internes à leur valeur initiale
  182. *
  183. DO 49 I=1,NVARI
  184. VARF(I)=VAR0(I)
  185. 49 CONTINUE
  186. *
  187. *---> On initialise les déformations plastiques au cours du pas à
  188. * zéro
  189. *
  190. DO 48 I=1,6
  191. RDEFP(I)=0.D0
  192. 48 CONTINUE
  193. *
  194. *
  195. *
  196. * Sous incrémentations : définition du nombre de sous
  197. * incréments
  198. *=============================================================
  199. *
  200. nmax0=1
  201. iter2=0
  202. crit0=XKA0*(RDEPS0(1)+RDEPS0(2)+RDEPS0(3))
  203. crit0=ABS(crit0)
  204. IF (crit0.GT.1.D-2) nmax0=NINT(100.D0*crit0)+1
  205. IF (nmax0.GT.10000) nmax0=10000
  206. DO 50 I=1,6
  207. RDEPS0(I)=RDEPS0(I)/nmax0
  208. 50 CONTINUE
  209. *
  210. *
  211. *
  212. * Début de la boucle de sous incrémentation
  213. *=============================================================
  214. *
  215. 51 iter2=iter2+1
  216. *
  217. *---> Succion au début (SUC1) et à la fin (SUC2) du sous incrémént
  218. *
  219. SUC1=SUCI0+(SUCF0-SUCI0)*(iter2-1)/nmax0
  220. SUC2=SUCI0+(SUCF0-SUCI0)*iter2/nmax0
  221. *
  222. *---> Variable de test de la plasticité
  223. * . iplas vaut 1 si on plastifie sur la surface de contact
  224. *
  225. IPLAS=0
  226. *
  227. *---> Pression d'origine capillaire au début du sous incrément
  228. *
  229. LS0=SUC1-XM1*VARF(4)+(XM1-1.D0)*XS0
  230. IF (LS0.LE.0.D0) THEN
  231. *
  232. * Etat quasi saturé
  233. *
  234. PSAT0=SUC1
  235. ELSE
  236. *
  237. * Etat partiellement saturé
  238. *
  239. XK1=(1.D0+(SUC1-SDT)/((XM2-1.D0)*SDT))**2.D0
  240. XK1=1/XK1
  241. PSAT0=SDT+(XK1**(.5D0))*(SUC1-SDT)
  242. ENDIF
  243. *
  244. *---> Contraintes effectives au début du sous incrément
  245. *
  246. DO 9 I=1,6
  247. A=0.D0
  248. IF (I.LE.3) A=1.D0
  249. RSIG1(I)=RSIG0(I)-PSAT0*A
  250. 9 CONTINUE
  251. PRES00=-1.D0/3.D0*(RSIG1(1)+RSIG1(2)+RSIG1(3))
  252. *
  253. *---> Déformations élastiques test et déformation plastique
  254. *
  255. DO 10 I=1,6
  256. DEFT(I)=0.D0
  257. 10 CONTINUE
  258. TREPEL0=RDEPS0(1)+RDEPS0(2)+RDEPS0(3)
  259. *
  260. *---> Contraintes test: 2 cas suivant la valeur de XN0
  261. *
  262. dif0=ABS(XN0-1.D0)
  263. IF (dif0.LE.1.D-5) THEN
  264. *
  265. * Cas où XN0=1
  266. *
  267. PRES1=PRES00*EXP(-1.D0*XKA0*TREPEL0)
  268. DO 11 I=1,6
  269. A=0.D0
  270. IF (I.LE.3) A=1.D0
  271. DEVT(I)=RSIG1(I)+PRES00*A
  272. DEVT(I)=DEVT(I)+2.D0*XGA0*PRES00*(RDEPS0(I)-TREPEL0/3.D0*A)
  273. SIGT(I)=DEVT(I)-PRES1*A
  274. 11 CONTINUE
  275. ELSE
  276. *
  277. * Autres cas
  278. *
  279. XKA1=XKA0*XPA0*((PRES00/XPA0)**XN0)
  280. XGA1=XGA0*XPA0*((PRES00/XPA0)**XN0)
  281. PRES1=PRES00-(XKA1*TREPEL0)
  282. DO 21 I=1,6
  283. A=0.D0
  284. IF (I.LE.3) A=1.D0
  285. DEVT(I)=RSIG1(I)+PRES00*A
  286. DEVT(I)=DEVT(I)+2.D0*XGA1*(RDEPS0(I)-TREPEL0/3.D0*A)
  287. SIGT(I)=DEVT(I)-PRES1*A
  288. 21 CONTINUE
  289. ENDIF
  290. *
  291. *---> Pressions de consolidation test à la succion SUC2 et module plastique BET1
  292. * à la fin du sous incrément
  293. * PCT1 : pression de consolidation
  294. * PCT0 : pression de consolidation "fictive" dans le domaine
  295. * saturé ( = VARF(4))
  296. *
  297. LS1=SUC2-XM1*VARF(4)+(XM1-1.D0)*XS0
  298. PCT0=VARF(4)
  299. IF (LS1.LE.0.D0) THEN
  300. *
  301. * Etat quasi saturé
  302. *
  303. PCT1=PCT0
  304. BET1=XBET1
  305. ELSE
  306. *
  307. * Etat partiellement saturé
  308. *
  309. XK2=(1.D0+(SUC2-SDT)/(XM3*SDT))**2.D0
  310. XK2=1/XK2
  311. PCT1=PCT0+(XK2**.5D0)*(SUC2-SDT)
  312. BET1=XBET2-((XBET2-XBET1)*EXP(-1.D0*XTAU0*(SUC2-SDT)))
  313. *
  314. * Dans ce qui suit, on va négliger les variations de BET1 avec SDT
  315. * (et donc avec l'écoulement plastique)
  316. *
  317. ENDIF
  318. *
  319. *---> Si on est en recharge, on vérifie la condition de gonflement avant
  320. * la condition de contact
  321. * A condition de ne pas déja avoir active la surface de charge
  322. * (IGONF=0)
  323. *
  324. IF (((RDEPS0(1)+RDEPS0(2)+RDEPS0(3)).LE.0.D0)
  325. . .AND.(IGONF.EQ.0)) THEN
  326. CALL PAKGON(XMAT,SIGT,VARF,SIGT,DEFT,VARF,
  327. . RDEPS0,KERRE,IB,IGAU,PCT0,
  328. . SUC2,RSIG1)
  329. PRES1=-1.D0/3.D0*(SIGT(1)+SIGT(2)+SIGT(3))
  330. DO 52 I=1,6
  331. A=0.D0
  332. IF (I.LE.3) A=1.D0
  333. DEVT(I)=SIGT(I)+PRES1*A
  334. 52 CONTINUE
  335. IGONF=0
  336. ENDIF
  337. *
  338. *---> Contrainte équivalente
  339. *
  340. STEST2=3.D0*PROCON(DEVT,DEVT,6)/2.D0
  341. IF (STEST2.LE.(1.D-10*YOUN0)) STEST2=0.D0
  342. Stest=(STEST2)**(0.5D0)
  343. *
  344. *
  345. *---> Fonction de charge
  346. *
  347. PHIT=Stest*Stest+XM0*XM0*PRES1*(PRES1-PCT1)
  348. *
  349. *
  350. *
  351. * Vérification du critère de plasticité
  352. *=========================================================
  353. *
  354. *---> Erreur admise
  355. *
  356. ERR0=1.D-7*ABS(PHIT)
  357. ERR0=MAX(ERR0,1.D-10*YOUN0)
  358. *
  359. *---> Critère de plasticité
  360. *
  361. PHI0=PHIT
  362. iter0=0
  363. *
  364. 99 IF (PHI0.LE.ERR0) THEN
  365. *
  366. * On est élastique par rapport à la surface de contact
  367. *=========================================================
  368. *
  369. *
  370. *---> On vérifie la condition de gonflement
  371. *
  372. IF (IPLAS.EQ.0) THEN
  373. *
  374. * On a pas plastifié sur la surface de contact
  375. * Si on est en décharge, on vérifie la condition de gonflement
  376. * après la condition de contact
  377. * Cas particulier, le premier pas du calcul, IGONF peut valoir 1 car
  378. * toutes les valeurs de des variables internes ne sont peut etre pas
  379. * initialisées de facon adéquate.
  380. * Or on doit vérifier la surface de gonflement systématiquement
  381. * au premier pas du calcul et ce jusqu'a ce qu'on active
  382. * la surface de gonflement ou la surface de contact
  383. *
  384. *
  385. IF (((RDEPS0(1)+RDEPS0(2)+RDEPS0(3)).GT.0.D0).OR.
  386. . (IGONF.EQ.1)) THEN
  387. CALL PAKGON(XMAT,SIGT,VARF,SIGT,DEFT,VARF,
  388. . RDEPS0,KERRE,IB,IGAU,PCT0,
  389. . SUC2,RSIG1)
  390. IGONF=0
  391. ENDIF
  392. DO 53 I=1,6
  393. RDEFP(I)=RDEFP(I)+DEFT(I)
  394. RSIGF(I)=SIGT(I)
  395. 53 CONTINUE
  396. ELSE
  397. *
  398. * On a plastifié sur la surface de contact, on ré-initialise
  399. * les variables internes du gonflement
  400. * . le rayon est remis à sa valeur initiale
  401. * . le "Centre" de l'ellipse (P1,Q1) est mis à
  402. * la valeur courante des contraintes
  403. *
  404. VARF(5)=XA0
  405. VARF(6)=XA0
  406. VARF(7)=PRES1
  407. VARF(8)=PRES1
  408. VARF(21)=0.D0
  409. VARF(22)=0.D0
  410. DO 399 I=1,6
  411. RDEFP(I)=RDEFP(I)+DEFT(I)
  412. RSIGF(I)=SIGT(I)
  413. VARF(8+I)=DEVT(I)
  414. VARF(14+I)=DEVT(I)
  415. 399 CONTINUE
  416. ENDIF
  417. *
  418. *---> A la fin du sous incrémént: Est on saturé ou non ?
  419. *
  420. LS1=SUC2-XM1*PCT0+(XM1-1.D0)*XS0
  421. *
  422. *---> Mise à jour de la succion de désaturation à la fin di sous incrément
  423. *
  424. SDT=XS0+XM1*(PCT0-XS0)
  425. *
  426. *---> Pression d'origine capillaire à la fin de sous incrément
  427. *
  428. IF (LS1.LE.0.D0) THEN
  429. *
  430. * Etat quasi saturé
  431. *
  432. PSAT0=SUC2
  433. ELSE
  434. *
  435. * Etat partiellement saturé
  436. *
  437. XK1=(1.D0+(SUC2-SDT)/((XM2-1.D0)*SDT))**2.D0
  438. XK1=1/XK1
  439. PSAT0=SDT+(XK1**(.5D0))*(SUC2-SDT)
  440. ENDIF
  441. *
  442. *---> Grandeurs à la fin de sous incrément
  443. *
  444. DO 400 I=1,6
  445. A=0.D0
  446. IF (I.LE.3) A=1.D0
  447. RSIGF(I)=RSIGF(I)+PSAT0*A
  448. RSIG0(I)=RSIGF(I)
  449. DEFT(I)=RDEFP(I)-(RDEFP(1)+RDEFP(2)+RDEFP(3))/3.D0*A
  450. 400 CONTINUE
  451. EPSPT=PROCON(DEFT,DEFT,6)
  452. IF (EPSPT.LE.1.D-10) EPSPT=0.D0
  453. EPSPT=(2.D0/3.D0*EPSPT)**.5D0
  454. VARF(1)=VAR0(1)+EPSPT
  455. VARF(2)=SDT
  456. VARF(3)=SUCF0
  457. VARF(4)=PCT0
  458. *
  459. *
  460. ELSE
  461. *
  462. * On plastifie
  463. *=========================================================
  464. *
  465. *---> Mise du flag IPLAS à 1: on plastifie en contact
  466. * Mise du flag IGONF à 1: on plastifie en contact
  467. *
  468. IPLAS=1
  469. IGONF=1
  470. *
  471. *---> Condition de consistance: calcul du paramètre plastique
  472. *
  473. IF (dif0.LE.1.D-5) THEN
  474. *
  475. * Cas où XN0=1
  476. *
  477. DF1=XM0*XM0*(2.D0*PRES1-PCT1)
  478. DF2=XM0*XM0*PCT1
  479. DF0=12.D0*XGA0*PRES00*Stest*Stest
  480. denom0=DF0+XKA0*DF1*DF1*PRES1+PRES1*BET1*DF1*DF2
  481. *
  482. ELSE
  483. *
  484. * Autres cas
  485. *
  486. DF1=XM0*XM0*(2.D0*PRES1-PCT1)
  487. DF2=XM0*XM0*PCT1
  488. DF0=12.D0*XGA1*Stest*Stest
  489. denom0=DF0+XKA1*DF1*DF1+PRES1*BET1*DF1*DF2
  490. ENDIF
  491. *
  492. dlam0=PHIT/denom0
  493. *
  494. *---> Mise à jour des contraintes
  495. *
  496. IF (dif0.LE.1.D-5) THEN
  497. *
  498. * Cas où XN0=1
  499. *
  500. PRES1=PRES1*EXP(-1.D0*XKA0*DF1*dlam0)
  501. DO 12 I=1,6
  502. A=0.D0
  503. IF (I.LE.3) A=1.D0
  504. DEVT(I)=DEVT(I)-6.D0*XGA0*PRES00*DEVT(I)*dlam0
  505. SIGT(I)=DEVT(I)-PRES1*A
  506. 12 CONTINUE
  507. ELSE
  508. *
  509. * Autres cas
  510. *
  511. PRES1=PRES1-(XKA1*DF1*dlam0)
  512. DO 22 I=1,6
  513. A=0.D0
  514. IF (I.LE.3) A=1.D0
  515. DEVT(I)=DEVT(I)-6.D0*XGA1*DEVT(I)*dlam0
  516. SIGT(I)=DEVT(I)-PRES1*A
  517. 22 CONTINUE
  518. ENDIF
  519. *
  520. *---> Mise à jour de la pression de consolidation à la succion finale
  521. *
  522. PCT1=PCT1*EXP(BET1*DF1*dlam0)
  523. PCT0=PCT0*EXP(XBET1*DF1*dlam0)
  524. *
  525. *---> Déformation élastiques et plastiques
  526. *
  527. IF (dif0.LE.1.D-5) THEN
  528. *
  529. * Cas où XN0=1
  530. *
  531. TREPEL0=-1.D0/XKA0*LOG(PRES1/PRES00)
  532. DO 13 I=1,6
  533. A=0.D0
  534. IF (I.LE.3) A=1.D0
  535. DEFT(I)=(DEVT(I)-RSIG1(I)-PRES00*A)/(2.D0*XGA0*PRES00)
  536. DEFT(I)=RDEPS0(I)-DEFT(I)-TREPEL0*A/3.D0
  537. 13 CONTINUE
  538. ELSE
  539. *
  540. * Autres cas
  541. *
  542. TREPEL0=-1.D0/XKA1*(PRES1-PRES00)
  543. DO 23 I=1,6
  544. A=0.D0
  545. IF (I.LE.3) A=1.D0
  546. DEFT(I)=(DEVT(I)-RSIG1(I)-PRES00*A)/(2.D0*XGA1)
  547. DEFT(I)=RDEPS0(I)-DEFT(I)-TREPEL0*A/3.D0
  548. 23 CONTINUE
  549. ENDIF
  550. *
  551. *---> Mise à jour de la contrainte équivalente
  552. *
  553. STEST2=3.D0*PROCON(DEVT,DEVT,6)/2.D0
  554. IF (STEST2.LE.(1.D-10*YOUN0)) STEST2=0.D0
  555. Stest=(STEST2)**(0.5D0)
  556. *
  557. *---> Mise à jour de la fonction de charge
  558. *
  559. PHIT=Stest*Stest+XM0*XM0*PRES1*(PRES1-PCT1)
  560. PHI0=ABS(PHIT)
  561. *
  562. *---> Test de convergence ou itération suivante
  563. *
  564. iter0=iter0+1
  565. IF (iter0.LT.200) THEN
  566. GOTO 99
  567. ELSE
  568. PHI0=0.D0
  569. KERRE=460
  570. GOTO 99
  571. ENDIF
  572. *
  573. ENDIF
  574. *
  575. *
  576. * Vérification des sous incrémentations
  577. *========================================================================
  578. *
  579. IF ((iter2.LT.nmax0).AND.(KERRE.EQ.0)) THEN
  580. GOTO 51
  581. ENDIF
  582. *
  583. *
  584. *
  585. *
  586. *===========================================================================
  587. *
  588. *
  589. *
  590. * Passage des deformations de cisaillement exprimées
  591. * en déformations aux déformations de cisaillement exprimées
  592. * en GAMA
  593. *
  594. DO 117 I=1,6
  595. A=1.D0
  596. IF (I.GT.3) A=2.D0
  597. RDEFP(I)=RDEFP(I)*A
  598. 117 CONTINUE
  599. *
  600. *
  601. * Passage a l'option de calcul pour les contraintes
  602. * Grandeurs finales
  603. *=========================================================
  604. *
  605. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  606. IF (NSTRS .EQ. 6) THEN
  607. *
  608. *---> MASSIF 3D
  609. *
  610. DO 170 I=1,NSTRS
  611. SIGF(I)=RSIGF(I)
  612. DEFP(I)=RDEFP(I)
  613. DSIGT(I)=RSIGF(I)-RSIG0(I)
  614. 170 CONTINUE
  615. ELSE IF ( NSTRS .EQ. 4 ) THEN
  616. *
  617. *---> Calcul axisymétrique ou contraintes planes
  618. *
  619. DO 180 I=1,NSTRS
  620. SIGF(I)=RSIGF(I)
  621. DEFP(I)=RDEFP(I)
  622. DSIGT(I)=RSIGF(I)-RSIG0(I)
  623. 180 CONTINUE
  624. ENDIF
  625. ENDIF
  626. *
  627. RETURN
  628. *
  629. END
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  

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