Télécharger pplast.eso

Retour à la liste

Numérotation des lignes :

pplast
  1. C PPLAST SOURCE PV 21/10/31 07:29:14 11165
  2.  
  3. SUBROUTINE PPLAST(XMAT,NMATT,VAR0,VARF,NVARI,SIG0,
  4. & SIGF,DEPST,NSTRS,KERRE)
  5.  
  6. ***************************************
  7. * Routine de traitement en plasticité *
  8. ***************************************
  9.  
  10. -INC CCREEL
  11.  
  12.  
  13. * Entrées / Sorties
  14.  
  15. * Entrées
  16.  
  17. INTEGER NMATT, NVARI, NSTRS
  18. * NMATT : Nombre de parametres materiaux
  19. * NVARI : Nombre de variables internes
  20. * NSTRS : Nombre de composantes
  21.  
  22. REAL*8 XMAT(NMATT), VAR0(NVARI), SIG0(NSTRS)
  23. REAL*8 DEPST(NSTRS)
  24. * XMAT : Paramètres matériaux
  25. * VAR0 : Variables internes
  26. * SIG0 : Contraintes reelles
  27. * DEPST : Increment de deformations totales
  28.  
  29. * Sorties
  30.  
  31. REAL*8 SIGF(NSTRS), VARF(NVARI)
  32. * SIGF : Contraintes effective
  33. * VARF : Variables internes en sortie de plasticite
  34.  
  35. * Variables materiau
  36. REAL*8 E,NU
  37. REAL*8 AC, AT, BC, BT, EPSD0, FC, FT
  38. REAL*8 P, AH, BH, CH, GAMMA, ALFA
  39. REAL*8 A, K0
  40. REAL*8 DEUXMU, LAMB, TREPS
  41.  
  42. * Données intermédiaires et autres
  43. INTEGER ITER, I , J, K, KGLOB, KTEST
  44. LOGICAL CONV
  45. REAL*8 TEST,F0
  46. REAL*8 LIM, DEPST2(6)
  47. REAL*8 SIGE0(6), SIGE0P(3), TOL, TOLDYN
  48. REAL*8 VECPC(3,3), NORM, DSIGT(6)
  49. REAL*8 DFDS(6), H, SIG02(6), VAR02(9)
  50. REAL*8 FTB, FH, FM(6), C
  51. REAL*8 TRS, KH, KH0, KH2, TR(3,3)
  52. REAL*8 DMP, RES(8), RESUM(6), RESU(6), KHM, ELAS(6,6)
  53. REAL*8 JAC(7,7)
  54. REAL*8 DFDK, N(6), DHDK, KH1, DHDS(6), DMDK(6)
  55. REAL*8 FHP(6), FMM1(6)
  56. REAL*8 FHM(6)
  57. REAL*8 FMP1(6)
  58. REAL*8 DMDS(6,6), FHPH, FHMH, ETA, ETAP
  59. REAL*8 FHM1
  60. REAL*8 FHP1, SIGP(6), SIGMM(6), DELTA(8)
  61. REAL*8 SIGMP1(6),DSDE(7,7)
  62. REAL*8 M
  63. LOGICAL PLASTI,CONV1,CONV2,TEST5
  64. INTEGER FLAG
  65.  
  66. REAL*8 ELASM(6,6)
  67. REAL*8 ES(7), NUMF, NUM(7), DENOF
  68. REAL*8 DENO(7), MAXI, MAXI2, SIGE00(6)
  69.  
  70.  
  71.  
  72. ***************************************
  73. * Récupération des variables matériau *
  74. ***************************************
  75.  
  76. E = XMAT(1)
  77. NU = XMAT(2)
  78. AC = XMAT(5)
  79. AT = XMAT(6)
  80. BC = XMAT(7)
  81. BT = XMAT(8)
  82. EPSD0 = XMAT(9)
  83. FC = XMAT(10)
  84. FT = XMAT(11)
  85. P = XMAT(12)
  86. AH = XMAT(13)
  87. BH = XMAT(14)
  88. CH = XMAT(15)
  89. GAMMA = XMAT(16)
  90. ALFA = XMAT(17)
  91. A = XMAT(18)
  92. K0 = XMAT(19)
  93.  
  94. DEUXMU=E/(1.D0+NU)
  95. LAMB=NU*DEUXMU/(1.D0-2.D0*NU)
  96.  
  97.  
  98.  
  99. *******************************
  100. * Initialisationdes variables *
  101. *******************************
  102.  
  103. * Calcul de la matrice élastique (une seule fois !)
  104.  
  105. DO I = 1,6
  106. DO J = 1,6
  107. ELAS(I,J) = 0.d0;
  108. ELASM(I,J) = 0.d0;
  109. END DO
  110. END DO
  111.  
  112. ELAS(1,1)=LAMB+DEUXMU
  113. ELAS(2,2)=LAMB+DEUXMU
  114. ELAS(3,3)=LAMB+DEUXMU
  115. ELAS(1,2)=LAMB
  116. ELAS(2,1)=LAMB
  117. ELAS(1,3)=LAMB
  118. ELAS(3,1)=LAMB
  119. ELAS(2,3)=LAMB
  120. ELAS(3,2)=LAMB
  121. ELAS(4,4)=DEUXMU
  122. ELAS(5,5)=DEUXMU
  123. ELAS(6,6)=DEUXMU
  124.  
  125. ELASM(1,1)=1.D0/E
  126. ELASM(2,2)=1.D0/E
  127. ELASM(3,3)=1.D0/E
  128. ELASM(1,2)=(-NU)/E
  129. ELASM(2,1)=(-NU)/E
  130. ELASM(1,3)=(-NU)/E
  131. ELASM(3,1)=-NU/E
  132. ELASM(2,3)=-NU/E
  133. ELASM(3,2)=-NU/E
  134. ELASM(4,4)=(1.D0+NU)/E
  135. ELASM(5,5)=(1.D0+NU)/E
  136. ELASM(6,6)=(1.D0+NU)/E
  137.  
  138.  
  139.  
  140. ******************
  141. * Initialisation *
  142. ******************
  143.  
  144. * Variables tampons
  145.  
  146. DO I=1,NSTRS
  147. DEPST2(I) = DEPST(I)
  148. SIG02(I) = SIG0(I)
  149. END DO
  150.  
  151. DO I=1,NVARI
  152. VAR02(I) = VAR0(I)
  153. END DO
  154.  
  155. KGLOB = 1
  156. KTEST = 1
  157.  
  158. * Test d'iterations globales
  159. TEST5 = .TRUE.
  160.  
  161. do i=1,8
  162. DELTA(i)=XSGRAN
  163. ENDDO
  164.  
  165. ***********************
  166. * Iterations globales *
  167. ***********************
  168.  
  169. DO WHILE (TEST5)
  170.  
  171. * On saisit une petite valeur de KH et on saisit le plus grand à chaque itération...
  172. KH0 = 1.d-3
  173. KH = MAX(VAR0(9), KH0)
  174.  
  175. * Initialisation de la variable KH à l'instant t
  176. KHM = KH
  177.  
  178. * Initialisation de l'incrément du multiplicateur plastique
  179. DMP = 0.d0
  180.  
  181.  
  182. * Variables de test
  183. TEST = 1.d-6
  184. FLAG = 0
  185.  
  186.  
  187.  
  188. ****************************************************
  189. * Calcul de l'incrément de contraintes (élastique) *
  190. ****************************************************
  191.  
  192. * Prediction elastique
  193. TREPS = DEPST(1) + DEPST(2) + DEPST(3)
  194. DO K=1,3
  195. DSIGT(K) = LAMB*TREPS + DEUXMU*DEPST(K)
  196. END DO
  197. DO K=4,NSTRS
  198. DSIGT(K) = DEUXMU*DEPST(K)
  199. END DO
  200.  
  201. * Initialisation des variables plastiques
  202. CONV=.FALSE.
  203.  
  204. DO I=1, NSTRS
  205. DFDS(I) = 0.d0
  206. END DO
  207.  
  208. DO K = 1, NSTRS
  209. SIGE0(K) = VAR0(K+2)
  210. END DO
  211.  
  212. ITER=0
  213.  
  214. * Prediction élastique (NSTRS : nombre de composantes de SIGMA)
  215. DO ISTRS = 1,NSTRS
  216.  
  217. * La prédiction élastique est donnée par la contrainte réelle SIG0
  218. * à laquelle on somme la différence entre contrainte plastique et
  219. * contrainte réelle stockée en variable interne et la prédiction
  220. * élastique
  221.  
  222. * Initialisation pour une itération lorsque l'incrément est divisé :
  223. * - Si c'est la première itération, on reprend la valeur initiale de
  224. * la contrainte plastique pour créer la prédiction
  225. * - Si c'est l'itération suivante, on travaille directement sur
  226. * la contrainte plastique obtenue à l'itération précédente et
  227. * stockée dans SIG0. On ne recalcule pas la contrainte plastique.
  228.  
  229. IF (KTEST.EQ.1) THEN
  230.  
  231. * SigE0 représente la différence entre la valeur de la contrainte dans le cas réel
  232. * et la valeur de la contrainte dans le cas plastique à l'instant t
  233. SIGMP1(ISTRS) = SIG0(ISTRS) + SIGE0(ISTRS)
  234. SIGE00(ISTRS) = SIG0(ISTRS) + SIGE0(ISTRS)
  235. SIGE0(ISTRS) = SIG0(ISTRS) + SIGE0(ISTRS) + DSIGT(ISTRS)
  236.  
  237. ELSE
  238. SIGMP1(ISTRS) = SIG0(ISTRS)
  239. SIGE00(ISTRS) = SIG0(ISTRS)
  240. SIGE0(ISTRS) = SIG0(ISTRS) + DSIGT(ISTRS)
  241.  
  242. END IF
  243.  
  244. END DO
  245.  
  246. * Apres, SIGE0 represente la solution (contrainte effective)
  247.  
  248. *************************************
  249. * Itération de calcul de plasticité *
  250. *************************************
  251.  
  252. DO WHILE (ITER .LE. 20 .AND. .NOT. CONV)
  253. ITER=ITER+1
  254.  
  255. * Critere sur la prediction permettant de ramener la solution
  256. * a un domaine dans lequel les equations du modele sont definies
  257. * Note : Il a été modifié de telle sorte que l'on applique le critère jusqu'à
  258. * ce que la prédiction soit acceptable (10 itérations max modifiable)
  259. TRS = 0.D0
  260. DO I = 1,3
  261. TRS = TRS + SIGE0(I)
  262. END DO
  263.  
  264. FTB = FT / FC
  265. M = 3.D0 * (1.D0-(FTB)**(2.D0/GAMMA))/(FTB +
  266. & 2.D0*(FTB)**(1.D0/GAMMA))
  267. LIM = 3.D0*FC/M
  268.  
  269. DO WHILE (TRS.GT.LIM .AND. FLAG.LT.10)
  270.  
  271. FLAG = FLAG + 1
  272.  
  273. IF (FLAG .LT. 10) THEN
  274. DO I =1,NSTRS
  275. SIGE0(I) = SIGE00(I)
  276. DSIGT(I) = DSIGT(I)/2.d0
  277. SIGE0(I) = SIGE00(I) + DSIGT(I)
  278. END DO
  279. DMP = 0.d0
  280. KH = max(var0(9),KH0)
  281. ITER = 2
  282.  
  283. TRS = 0.D0
  284.  
  285. DO I = 1,3
  286. TRS = TRS + SIGE0(I)
  287. END DO
  288.  
  289. IF(TRS.GT.LIM) THEN
  290. write(6,*) 'ERREUR'
  291. END IF
  292.  
  293. ELSE
  294.  
  295. DO I =1,6
  296. SIGE0(I) = SIGE00(I)
  297. END DO
  298.  
  299. END IF
  300.  
  301. END DO
  302.  
  303. * Calcul de FM et FH
  304. CALL FLOWM(FC, FT, GAMMA, ALFA, P, K0, A, AH, BH, CH, C,
  305. & SIGE0, KH, F0, FM, ETA)
  306.  
  307. CALL FLOWH(SIGE0, KH, AH, BH, CH, FC, FM, FH)
  308.  
  309. * Calcul des résidus + vérification du critère de CV
  310. DO I=1,6
  311. RESU(I) = 0.D0
  312. RESUM(I) = 0.D0
  313. DO J=1,6
  314. RESU(I) = RESU(I) + ELASM(I,J)*SIGMP1(J)
  315. RESUM(I) = RESUM(I) + ELASM(I,J)*SIGE0(J)
  316. END DO
  317. END DO
  318.  
  319. DO I = 1,6
  320. RES(I) = RESUM(I) + DMP*FM(I) - DEPST(I) - RESU(I)
  321. END DO
  322.  
  323. RES(7) = KH - DMP*FH - KHM
  324. RES(8) = F0
  325.  
  326. IF (KH .GE. 1.D0) THEN
  327. RES(7) = 0.D0
  328. KH = 1.d0
  329. END IF
  330.  
  331. * Convergence
  332. * Deux criteres : un absolu, un relatif... Critere relatif conservé
  333. * Les variations de contraintes sont normées avec le max des contraintes
  334. * en fin d'itération et celles de KH et lambda sont normées par les valeurs
  335. * associées en sortie d'itération
  336.  
  337. IF (((ABS(RES(8)).LT.TEST) .OR. (RES(8).LE.0.D0))
  338. & .AND. ITER.EQ.1 .AND. (FLAG.EQ.0)) THEN
  339. CONV = .TRUE.
  340. ELSE
  341. CONV1 = .TRUE.
  342. MAXI = ABS(RES(1))
  343. MAXI2 = ABS(SIGE0(1))
  344.  
  345. DO I=1,8
  346. MAXI = MAX(ABS(RES(I)),MAXI)
  347. END DO
  348. DO I=1,6
  349. MAXI2 = MAX(ABS(SIGE0(I)),MAXI2)
  350. END DO
  351.  
  352. IF (MAXI .LT. TEST) THEN
  353. CONV1 = .TRUE.
  354. ELSE
  355. CONV1 = .FALSE.
  356. END IF
  357.  
  358. CONV2 = .TRUE.
  359. DO I=1,NSTRS
  360. IF ((ABS(DELTA(I)) .LT. MAXI2*TEST)
  361. & .AND. (CONV2)) THEN
  362. CONV2 = .TRUE.
  363. ELSE
  364. CONV2 = .FALSE.
  365. END IF
  366. END DO
  367.  
  368. IF ((ABS(DELTA(7)) .LT. ABS(KH)*TEST) .AND. (CONV2)) THEN
  369. CONV2 = .TRUE.
  370. ELSE
  371. CONV2 = .FALSE.
  372. END IF
  373.  
  374. IF ((ABS(DELTA(8)) .LT. ABS(DMP)*TEST) .AND. (CONV2)) THEN
  375. CONV2 = .TRUE.
  376. ELSE
  377. CONV2 = .FALSE.
  378. END IF
  379.  
  380. IF (CONV2) THEN
  381. CONV = .TRUE.
  382. END IF
  383.  
  384. IF (ITER .EQ. 1) THEN
  385. CONV = .FALSE.
  386. END IF
  387.  
  388. END IF
  389.  
  390. IF (.NOT. CONV) THEN
  391.  
  392. PLASTI = .TRUE.
  393.  
  394.  
  395.  
  396. * Calcul de la dérivée de m : différentiation numérique
  397. * Note : le choix de h joue un role non négligeable
  398. * dans l'efficacité de l'algorithme
  399. CALL ENDOCB(SIGE0,TR,1,2)
  400. CALL JACOB3(TR,3,SIGE0P,VECPC)
  401.  
  402. NORM= 0.D0
  403. DO I = 1,3
  404. NORM=NORM +(SIGE0P(I)**2)
  405. ENDDO
  406. NORM = SQRT(NORM)
  407.  
  408. H= NORM*2.d0**(-12)
  409.  
  410.  
  411.  
  412. * Différenciation numérique
  413. DO J = 1,6
  414.  
  415. DO I = 1,6
  416. SIGP(I) = SIGE0(I)
  417. SIGMM(I)= SIGE0(I)
  418. ENDDO
  419.  
  420. SIGP(J) = SIGP(J) + H
  421. SIGMM(J) = SIGMM(J) - H
  422.  
  423. CALL FLOWM (FC, FT, GAMMA, ALFA, P, K0, A, AH, BH, CH,
  424. & C, SIGP, KH, F0, FMP1, ETAP)
  425. CALL FLOWM (FC, FT, GAMMA, ALFA, P, K0, A, AH, BH, CH,
  426. & C, SIGMM, KH, F0, FMM1, ETAP)
  427.  
  428. CALL FLOWH(SIGP, KH, AH, BH, CH, FC, FMP1, FHP1)
  429. CALL FLOWH(SIGMM, KH, AH, BH, CH, FC, FMM1, FHM1)
  430.  
  431.  
  432.  
  433. * Et calcul de DMDS(i,j) = DM(i)/DS(J)
  434.  
  435. DO I = 1,6
  436. DMDS(I,J) = (FMP1(I)-FMM1(I))/(2.D0*H)
  437. DHDS(J) = (FHP1-FHM1)/(2.D0*H)
  438. END DO
  439.  
  440. END DO
  441.  
  442. H=KH*2.d0**(-12)
  443.  
  444. KH1= KH+H
  445.  
  446. IF (KH1.GT.1.D0) THEN
  447. KH1 = KH
  448. END IF
  449.  
  450. CALL FLOWM(FC, FT, GAMMA, ALFA, P, K0, A, AH, BH, CH, C,
  451. & SIGE0, KH1, F0, FHP, ETAP)
  452. CALL FLOWH(SIGE0, KH1, AH, BH, CH, FC, FHP, FHPH)
  453.  
  454.  
  455. KH1 = KH -H
  456.  
  457. * Traitement du cas kh = 1 : d2FdK2 = 0
  458.  
  459. IF (KH.GE.1.D0) THEN
  460. KH1=KH
  461. END IF
  462.  
  463. CALL FLOWM(FC, FT, GAMMA, ALFA, P, K0, A, AH, BH, CH, C,
  464. & SIGE0, KH1, F0, FHM, ETAP)
  465.  
  466. CALL FLOWH(SIGE0, KH1, AH, BH, CH, FC, FHM, FHMH)
  467.  
  468.  
  469. DO I=1,6
  470. DMDK(I) = (FHP(I) - FHM(I))/(2.D0*H)
  471. END DO
  472.  
  473. DHDK = (FHPH-FHMH)/(2.D0*H)
  474.  
  475.  
  476.  
  477. * Calcul de N = DFDS
  478.  
  479. DO I = 1,6
  480. N(I) = FM(I)
  481. END DO
  482.  
  483. DFDK = ETA
  484.  
  485. DO I=1,6
  486. DO J=1,6
  487. JAC(I,J)= ELASM(I,J) + DMP*DMDS(I,J)
  488. ENDDO
  489. JAC(I,7) = DMP*DMDK(I)
  490. END DO
  491.  
  492. DO J=1,6
  493. JAC(7,J) = -DMP*DHDS(J)
  494. END DO
  495.  
  496. JAC(7,7) = 1.D0-DMP*DHDK
  497.  
  498. CALL INVALM(JAC,7,7,KERRE,1.d-20)
  499.  
  500. IF (KERRE.EQ.1) THEN
  501. WRITE(6,*) 'Erreur d inversion de matrice'
  502. END IF
  503.  
  504.  
  505.  
  506. ****************************************************************
  507. * Calcul des variations en sortie d'itération (Newton Raphson) *
  508. ****************************************************************
  509.  
  510. DO I=1,7
  511. DENO(I) = 0.d0
  512. NUM(I) = 0.d0
  513. END DO
  514.  
  515. DENOF=0
  516. NUMF=0
  517.  
  518. DO I = 1,8
  519. DELTA(I) = 0.d0
  520. END DO
  521.  
  522. DO I=1,7
  523. DO J=1,6
  524. DENO(I) = DENO(I)+JAC(I,J)*FM(J)
  525. END DO
  526. DENO(I) = DENO(I)-JAC(I,7)*FH
  527. END DO
  528.  
  529. DO I=1,6
  530. DENOF = DENOF+N(I)*DENO(I)
  531. END DO
  532.  
  533. DENOF = DENOF+DFDK*DENO(7)
  534.  
  535. DO I =1,7
  536. DO J = 1,7
  537. NUM(I)= NUM(I)+JAC(I,J)*RES(J)
  538. END DO
  539. END DO
  540.  
  541. DO I =1,6
  542. NUMF = NUMF + N(I)*NUM(I)
  543. END DO
  544.  
  545. NUMF = NUMF + DFDK*NUM(7)
  546. NUMF = RES(8)-NUMF
  547.  
  548. DELTA(8) = NUMF/DENOF
  549.  
  550. DO I =1,6
  551. ES(I) = -RES(I)-DELTA(8)*FM(I)
  552. END DO
  553.  
  554. ES(7) = -RES(7)+DELTA(8)*FH
  555.  
  556. DO I = 1,7
  557. DO J = 1,7
  558. DELTA(I)=DELTA(I)+JAC(I,J)*ES(J)
  559. END DO
  560. END DO
  561.  
  562.  
  563. * B est un vecteur à 8 composantes composées des DELTA (S, kh et LAMBDA)
  564.  
  565. DO I = 1, 6
  566. SIGE0(I) = SIGE0(I) + DELTA(I)
  567. END DO
  568.  
  569. KH2 = KH
  570. KH = KH + DELTA(7)
  571.  
  572.  
  573.  
  574. * Test de KH < 1
  575.  
  576. IF ((KH2.GE. 1.D0).OR.(KH.GE.1.D0)) THEN
  577. KH = 1.D0
  578. END IF
  579.  
  580.  
  581.  
  582. * KH ne diminue pas...
  583.  
  584. IF (KH .LT. KHM) THEN
  585. KH = KHM
  586. END IF
  587.  
  588. DMP = DMP + DELTA(8)
  589.  
  590. END IF
  591.  
  592. END DO
  593.  
  594.  
  595.  
  596. *******************
  597. * Non convergence *
  598. *******************
  599.  
  600. IF ((ITER .EQ. 21) .AND. (.NOT. CONV)
  601. & .AND. (KGLOB.EQ.32)) THEN
  602. WRITE(6,*) '**************************************'
  603. WRITE(6,*) '* Divergence de l algorithme interne *'
  604. WRITE(6,*) '**************************************'
  605. WRITE(6,*) 'DEPST :',DEPST2
  606. WRITE(6,*) 'DELTA :',DELTA
  607. WRITE(6,*) 'MAXSIG,KH,DMP :',MAXI2,KH,DMP
  608. WRITE(6,*) 'VAR0 :',VAR02
  609. WRITE(6,*) 'SIG0 :',SIG02
  610. WRITE(6,*) 'SIGF :',SIGF
  611. * KERRE permet de stopper CAST3M et de reprendre la main
  612. * lorsqu'il est non nul
  613. KERRE = 1
  614. END IF
  615.  
  616.  
  617.  
  618. *****************************************************
  619. * Traitement des données en fin d'itération globale *
  620. *****************************************************
  621.  
  622. DO I=1,NSTRS
  623. SIG0(I) = SIGE0(I)
  624. END DO
  625.  
  626. VAR0(9) = KH
  627.  
  628. * Test de convergence
  629. IF (KGLOB.EQ.KTEST .AND. CONV) THEN
  630. TEST5 = .FALSE.
  631. ELSE IF (CONV) THEN
  632. KTEST = KTEST + 1
  633. END IF
  634.  
  635. IF (.NOT.CONV) THEN
  636. KGLOB = KGLOB*2
  637. KTEST = 1
  638. DO I = 1,NSTRS
  639. SIG0(I) = SIG02(I)
  640. DEPST(I) = DEPST(I)/2.d0
  641. END DO
  642. VAR0(9) = VAR02(9)
  643. END IF
  644.  
  645. * Limite de la division de l'intervalle
  646. * On redivise par 2 pour l'afficher en sortie
  647. IF (KGLOB.GT.32) THEN
  648. TEST5=.FALSE.
  649. KGLOB = KGLOB/2
  650. END IF
  651.  
  652. END DO
  653.  
  654.  
  655.  
  656. *******************************************
  657. * FIN DE LA BOUCLE GLOBALE *
  658. * --> Sorties de la routine de plasticite *
  659. *******************************************
  660.  
  661. * Les résultats finaux sont stockés dans SIG0 et VAR0
  662. * Les valeurs en entrée sont stockés dans SIG02 et VAR02
  663. DO I = 1,NSTRS
  664. SIGF(I) = SIG0(I)
  665. SIG0(I) = SIG02(I)
  666. DEPST(I) = DEPST2(I)
  667. END DO
  668.  
  669. VARF(9) = VAR0(9)
  670. VAR0(9) = VAR02(9)
  671.  
  672. * On affiche s'il y a eu division de l'incrément de déformations
  673. IF (KGLOB.GT.1) THEN
  674. * WRITE(*,*) 'Division de l increment de deformations par',KGLOB
  675. * WRITE(*,*) 'D :',VAR02(2),' et KH :',KH
  676. END IF
  677.  
  678. RETURN
  679.  
  680. END
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  

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