Télécharger ric2nl.eso

Retour à la liste

Numérotation des lignes :

ric2nl
  1. C RIC2NL SOURCE PV 17/12/08 21:17:38 9660
  2. C sub ricnl2D
  3. C====&===1=========2=========3=========4=========5=========6=========7==
  4. C Commentaires : Subroutine permettant de mettre en oeuvre le
  5. C modele RICRAG en 2D et en non local
  6. C Traits : - Endommagement anisotrope
  7. C - Monotone
  8. C Auteurs : B. Richard (doctorant)
  9. C Date : Février 2008
  10. C====&===1=========2=========3=========4=========5=========6=========7==
  11. SUBROUTINE RIC2NL(wrk52,wrk53,wrk54,nvari,iecou)
  12. C----------------------------------------------------------------------
  13. C-----DECLARATION GENERALE----------------------------------------------
  14. C----------------------------------------------------------------------
  15. IMPLICIT REAL*8(A-H,O-Z)
  16. C----------------------------------------------------------------------
  17. C-----APPEL AUX LIBRAIRIES----------------------------------------------
  18. C----------------------------------------------------------------------
  19.  
  20. -INC PPARAM
  21. -INC CCOPTIO
  22. -INC DECHE
  23. C----------------------------------------------------------------------
  24. C-----OUVERTURE DE SEGMENTS---------------------------------------------
  25. C----------------------------------------------------------------------
  26. C SEGMENT WRK0
  27. C REAL*8 XMAT(NMATT)
  28. C ENDSEGMENT
  29. C
  30. C SEGMENT WRK1
  31. C REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
  32. C REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  33. C REAL*8 DEFP(NSTRS),XCAR(ICARA)
  34. C ENDSEGMENT
  35. C
  36. C SEGMENT WRK5
  37. C REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS)
  38. C ENDSEGMENT
  39. C
  40. C SEGMENT WRK6
  41. C REAL*8 SIG0S(NSTRS),DEPSTS(NSTRS)
  42. C END SEGMENT
  43. C CHARACTER*8 CMATE
  44.  
  45. C INTEGER NSTRS,NVARI,NMATT,REMP,KIN,NENTIER,COCO
  46. C----------------------------------------------------------------------
  47. C-----DECLARATION PARTICULIERES-----------------------------------------
  48. C----------------------------------------------------------------------
  49. REAL*8 UNIT(3,3),E,NU,FT,K,ALIND,ALDIR,GAMMA1,A1,D,Dn
  50. REAL*8 EPSI(3,3),EPSIPI(3,3),ALPHA(3,3),DEPSI(3,3)
  51. REAL*8 XLAM,XMU,EPSDIR(3,3),EPSIND(3,3),FFFZ,Y0,EPSILO(4)
  52. REAL*8 SIGMA(3,3),VPEPS(3),X(3,3),FORCED,FORCEI,EPSILI(4)
  53. REAL*8 EPSILB(4),SIGMP(4),EPSILC(4),EPSILP(4),SIGMPI(3,3)
  54. REAL*8 SIGMOX(3,3),SIGMOD(3,3),TERME4,TERME6(3,3),TERME7(3,3)
  55. REAL*8 TERME8(3,3),TERME9(3,3),DEVDGS(3,3),TERM11,DLAM2
  56. REAL*8 DEVTRO(3,3),EPSDEV(3,3),DEVPI(3,3),TRA,TRAPI,TRASX
  57. REAL*8 SEUINI,SEUIL2,TRDGZ,TERM10,TROGO,XPDC
  58. C----------------------------------------------------------------------
  59. C-----PARAMETRES DE CALCUL----------------------------------------------
  60. C----------------------------------------------------------------------
  61. PARAMETER (XZERO=0.0D0 , UN=1.0D0 , DEUX=2.0D0, XCOEF=0.09D0)
  62.  
  63. DO I=1,3
  64. DO J=1,3
  65. IF (I.EQ.J) THEN
  66. UNIT(I,J)=UN
  67. ELSE
  68. UNIT(I,J)=XZERO
  69. ENDIF
  70. ENDDO
  71. ENDDO
  72. C----------------------------------------------------------------------
  73. C-----LES VARIABLES INTERNES D ENTREE-----------------------------------
  74. C----------------------------------------------------------------------
  75.  
  76. C
  77. C-----GLISSEMENT (EPSILON_PI)
  78. C
  79. EPSIPI(1,1)=VAR0(2)
  80. EPSIPI(2,2)=VAR0(3)
  81. EPSIPI(3,3)=VAR0(4)
  82.  
  83. EPSIPI(1,2)=VAR0(5)
  84. EPSIPI(1,3)=VAR0(6)
  85. EPSIPI(2,3)=VAR0(7)
  86.  
  87. EPSIPI(2,1)=VAR0(5)
  88. EPSIPI(3,1)=VAR0(6)
  89. EPSIPI(3,2)=VAR0(7)
  90. C
  91. C-----ECROUISSAGE CINEMATIQUE (ALPHA)
  92. C
  93. ALPHA(1,1)=VAR0(8)
  94. ALPHA(2,2)=VAR0(9)
  95. ALPHA(3,3)=VAR0(10)
  96. C
  97. ALPHA(1,2)=VAR0(11)
  98. ALPHA(1,3)=VAR0(12)
  99. ALPHA(2,3)=VAR0(13)
  100. C
  101. ALPHA(2,1)=VAR0(11)
  102. ALPHA(3,1)=VAR0(12)
  103. ALPHA(3,2)=VAR0(13)
  104. C
  105. C-----ENDOMMAGEMENT (D)
  106. C
  107. D=VAR0(14)
  108. C
  109. C-----FORCE ECROUISSAGE ISOTROPE
  110. C
  111. FFFZ=VAR0(17)
  112. C
  113. C-----DEFORMATION TOTALES
  114. C
  115. DO I=1,4
  116. EPSILO(I)=VAR0(17+I)+DEPST(I)
  117. EPSILI(I)=VAR0(17+I)
  118. ENDDO
  119. C
  120. C-----ECCROUISSAGE
  121. C
  122. FORCED=VAR0(25)
  123. FORCEI=VAR0(26)
  124. C----------------------------------------------------------------------
  125. C-----RENOMMAGE DES CONSTANTES ELASTIQUES-------------------------------
  126. C----------------------------------------------------------------------
  127. E = XMAT(1)
  128. NU = XMAT(2)
  129. FT = XMAT(5)
  130. ALIND = XMAT(6)
  131. GAMMA1 = XMAT(7)
  132. A1 = XMAT(8)
  133. ALDIR = XMAT(9)
  134.  
  135. EPS0 = FT/E
  136. K = E/(1.D0-2.D0*NU)
  137. G = E/(2.D0*(1.D0+NU))
  138. Y0 = K/6.0D0*EPS0**2.D0
  139. C----------------------------------------------------------------------
  140. C-----INDICATEURS POUR LES OPTIONS DE CALCUL----------------------------
  141. C----------------------------------------------------------------------
  142. NSTRSV = NSTRS
  143. IFOUR2 = IFOUR
  144. JDIM = IDIM
  145. C----------------------------------------------------------------------
  146. C-----CALCUL DE LA CONTRAINTE ELASTIQUE---------------------------------
  147. C----------------------------------------------------------------------
  148. CMATE = 'ISOTROPE'
  149. KCAS=1
  150.  
  151. CALL DOHMAS (XMAT,CMATE,IFOUR2,NSTRSV,KCAS,DDHOOK,IRTD)
  152. CALL MATVE1 (DDHOOK,DEPST,NSTRSV,NSTRSV,DSIGT,1)
  153.  
  154. PREC=1.D-08
  155. CALL DOHMAS (XMAT,CMATE,IFOUR2,NSTRSV,2,DDHOOK,IRTD)
  156. CALL INVALM (DDHOOK,NSTRSV,NSTRSV,IRTD,PREC)
  157.  
  158. CALL MATVE1 (DDHOOK,SIG0,NSTRSV,NSTRSV,EPSILI,1)
  159.  
  160. CALL ENDOCB (EPSILO,EPSI,2,IFOUR2)
  161. CALL ENDOCB (DEPST,DEPSI,2,IFOUR2)
  162.  
  163. KCAS=1
  164. CALL DOHMAS (XMAT,CMATE,IFOUR2,NSTRSV,KCAS,DDHOOK,IRTD)
  165. CALL MATVE1 (DDHOOK,EPSILO,NSTRSV,NSTRSV,SIGF,2)
  166.  
  167. SIGMA(1,1) = SIGF(1)
  168. SIGMA(1,2) = SIGF(4)
  169. SIGMA(1,3) = 0.0D0
  170.  
  171. SIGMA(2,1) = SIGF(4)
  172. SIGMA(2,2) = SIGF(2)
  173. SIGMA(2,3) = 0.0D0
  174.  
  175. SIGMA(3,1) = 0.0D0
  176. SIGMA(3,2) = 0.0D0
  177. SIGMA(3,3) = SIGF(3)
  178. C----------------------------------------------------------------------
  179. C-----INTEGRATION DE L ENDOMMAGEMENT-----------------------------------
  180. C----------------------------------------------------------------------
  181. C
  182. C-----CALCUL DES VALEURS PRINCIPALES
  183. C
  184. CALL JACOD3(EPSI,2,VPEPS)
  185. C
  186. C-----CALCUL DE EPSILON DIRECT
  187. C
  188.  
  189. TRA = EPSI(1,1) + EPSI(2,2) + EPSI(3,3)
  190.  
  191. IF (TRA.GE.XZERO) THEN
  192. c A1 = 7.0D-6
  193. XPDC=1.0D0
  194. ELSE
  195. c A1 = 7.0D-7
  196. XPDC=XZERO
  197. ENDIF
  198.  
  199. DO I=1,3
  200. DO J=1,3
  201. IF (I.EQ.J) THEN
  202. EPSDIR(I,J)=0.5D0*(ABS(VPEPS(I))+VPEPS(I))*XPDC
  203. ELSE
  204. EPSDIR(I,J)=XZERO
  205. ENDIF
  206. ENDDO
  207. ENDDO
  208. C
  209. C-----CALCUL DE EPSILON INDUIT
  210. C
  211. DO I=1,3
  212. DO J=1,3
  213. IF (I.EQ.J) THEN
  214. EPSIND(I,J)=0.5D0*(ABS(VPEPS(I))+VPEPS(I))-EPSDIR(I,J)
  215. ELSE
  216. EPSIND(I,J)=XZERO
  217. ENDIF
  218. ENDDO
  219. ENDDO
  220. C
  221. C-----TAUX D ENERGIES CORRESPONDANTES
  222. C
  223. DONMDNL=XZERO
  224. DONMINL=XZERO
  225.  
  226. DO I=1,3
  227. DO J=1,3
  228. DONMDNL=DONMDNL+(K/6.0D0)*EPSDIR(I,J)*EPSDIR(I,J)
  229. DONMINL=DONMINL+(K/6.0D0)*EPSIND(I,J)*EPSIND(I,J)
  230. ENDDO
  231. ENDDO
  232.  
  233. SEUIL1NL=DONMDNL*XPDC+DONMINL*(1.0D0-XPDC)
  234. C
  235. C-----LE NON LOCAL
  236. C
  237. IF (ISTEP.EQ.0) THEN
  238. SEUIL1=SEUIL1NL
  239. VARF(1)=SEUIL1
  240. ELSE IF (ISTEP.EQ.1) THEN
  241. VARF(1)=SEUIL1NL
  242. DO I=2,26
  243. VARF(I)=VAR0(I)
  244. ENDDO
  245. GOTO 2000
  246. ELSE IF (ISTEP.EQ.2) THEN
  247. SEUIL1=VAR0(1)
  248. VARF(1)=SEUIL1
  249. ENDIF
  250.  
  251. FFFZ=XZERO
  252. FFFZ=FORCED*XPDC+FORCEI*(1.0D0-XPDC)
  253. SEUILT=SEUIL1-(FFFZ+Y0)
  254. C
  255. C-----EVOLUTION ENDOMMAGEMENT
  256. C
  257. IF (SEUILT.GT.XZERO) THEN
  258. IF (TRA.GE.XZERO) THEN
  259. Dn = 1.0D0-1.0D0/(1.0D0+ALDIR*(SEUIL1-Y0))
  260. FORCED = SEUIL1-Y0
  261. ELSE
  262. Dn = 1.0D0-1.0D0/(1.0D0+ALIND*(SEUIL1-Y0))
  263. FORCEI = SEUIL1-Y0
  264. ENDIF
  265. C
  266. C-----ON VERIFIE LA CROISSANCE DE D
  267. C
  268. IF (Dn.GE.D) THEN
  269. D=Dn
  270. ENDIF
  271. C
  272. C-----ON LIMITE LA VALEUR DE D
  273. C
  274. IF (D.GE.0.9999D0) THEN
  275. D=0.9999D0
  276. ENDIF
  277. C
  278. C-----ON BLOQUE LES ECROUISSAGES
  279. C
  280. FFFZ=FORCED*XPDC+FORCEI*(1.0D0-XPDC)
  281. ENDIF
  282. C
  283. C----------------------------------------------------------------------
  284. C-----INTEGRATION DU FROTTEMENT-----------------------------------------
  285. C----------------------------------------------------------------------
  286. C
  287. C-----CALCUL DE X ET DU DEVIATEUR DE EPSILON TOTAL
  288. C
  289. DO I=1,3
  290. DO J=1,3
  291. X(I,J)=GAMMA1*ALPHA(I,J)
  292. EPSDEV(I,J)=EPSI(I,J)-(1.0D0/3.0D0)*TRA*UNIT(I,J)
  293. ENDDO
  294. ENDDO
  295. C
  296. C-----PREPARATION AU SUBSTEPPING
  297. C
  298. NENTIER=1
  299. DO KIN=1,NENTIER
  300.  
  301. DO I=1,4
  302. EPSILO(I)=VAR0(17+I)+KIN*DEPST(I)/NENTIER
  303. ENDDO
  304. C
  305. C-----ON PASSE EPSILO DANS EPSI
  306. C
  307. EPSI(1,1)=EPSILO(1)
  308. EPSI(2,2)=EPSILO(2)
  309. EPSI(3,3)=EPSILO(3)
  310. EPSI(1,2)=EPSILO(4)/2.0D0
  311. EPSI(1,3)=0.0D0
  312. EPSI(2,3)=0.0D0
  313. EPSI(2,1)=EPSILO(4)/2.0D0
  314. EPSI(3,1)=0.0D0
  315. EPSI(3,2)=0.0D0
  316. C
  317. C-----ON CALCUL LA TRACE DE EPSILON ET DE EPSILON_PI
  318. C
  319. TRA = EPSI(1,1)+EPSI(2,2)+EPSI(3,3)
  320. TRAPI = EPSIPI(1,1)+EPSIPI(2,2)+EPSIPI(3,3)
  321.  
  322. DO I=1,3
  323. DO J=1,3
  324. EPSDEV(I,J)=EPSI(I,J)-(1.0D0/3.0D0)*TRA*UNIT(I,J)
  325. DEVPI(I,J)=EPSIPI(I,J)-(1.0D0/3.0D0)*TRAPI*UNIT(I,J)
  326. ENDDO
  327. ENDDO
  328. C
  329. C-----ON PASSE EPSILON_PI DANS EPSILP
  330. C
  331. EPSILP(1)=EPSIPI(1,1)
  332. EPSILP(2)=EPSIPI(2,2)
  333. EPSILP(3)=EPSIPI(3,3)
  334. EPSILP(4)=2.0D0*EPSIPI(1,2)
  335. C
  336. C-----ON FORME LES DEFORMATIONS ASSOCIEES A SIGMA_PI
  337. C
  338. DO I=1,4
  339. EPSILC(I)=(EPSILO(I)-EPSILP(I))*D
  340. ENDDO
  341. C
  342. C-----CALCUL DE SIGMPI
  343. C
  344. KCAS=1
  345. CALL DOHMAS (XMAT,CMATE,IFOUR2,NSTRSV,KCAS,DDHOOK,IRTD)
  346. CALL MATVE1 (DDHOOK,EPSILC,NSTRSV,NSTRSV,SIGMP,2)
  347. C
  348. C-----ON PASSE SIGMP DANS SIGMPI
  349. C
  350. DO I=1,3
  351. DO J=1,3
  352. SIGMPI(I,J)=XZERO
  353. ENDDO
  354. ENDDO
  355.  
  356. SIGMPI(1,1)=SIGMP(1)
  357. SIGMPI(2,2)=SIGMP(2)
  358. SIGMPI(3,3)=SIGMP(3)
  359. SIGMPI(1,2)=SIGMP(4)
  360. SIGMPI(2,1)=SIGMP(4)
  361. C
  362. C-----ON FORME LES DEFORMATIONS ASSOCIEES A SIGMA
  363. C
  364. DO I=1,4
  365. EPSILB(I)=(EPSILO(I)-EPSILP(I)*D)
  366. ENDDO
  367. C
  368. C-----ON CALCUL SIGMA EN VECTEUR STOCKEE DANS SIGF
  369. C
  370. KCAS=1
  371. CALL DOHMAS (XMAT,CMATE,IFOUR2,NSTRSV,KCAS,DDHOOK,IRTD)
  372. CALL MATVE1 (DDHOOK,EPSILB,NSTRSV,NSTRSV,SIGF,2)
  373. C
  374. C-----ON PASSE SIGF DANS SIGMA
  375. C
  376. SIGMA(1,1)=SIGF(1)
  377. SIGMA(2,2)=SIGF(2)
  378. SIGMA(3,3)=SIGF(3)
  379. SIGMA(1,2)=SIGF(4)
  380. SIGMA(2,1)=SIGF(4)
  381. C
  382. C-----DEBUT DES ITERATIONS INTERNES
  383. C
  384. DO 500 IREMP=1,500
  385. C
  386. C 1) EVALUATION DU SEUIL
  387. C ----------------------
  388. DO 101 I=1,3
  389. DO 201 J=1,3
  390. SIGMOX(I,J)=XZERO
  391. SIGMOX(I,J)=SIGMPI(I,J)-X(I,J)
  392. 201 CONTINUE
  393. 101 CONTINUE
  394.  
  395. TRASX=XZERO
  396. TRASX=SIGMOX(1,1)+SIGMOX(2,2)+SIGMOX(3,3)
  397.  
  398. DO 102 I=1,3
  399. DO 202 J=1,3
  400. SIGMOD(I,J)=XZERO
  401. SIGMOD(I,J)=SIGMOX(I,J)-(1.0D0/3.0D0)*TRASX*UNIT(I,J)
  402. 202 CONTINUE
  403. 102 CONTINUE
  404.  
  405. TERME4=XZERO
  406. DO 103 I=1,3
  407. DO 203 J=1,3
  408. TERME4=TERME4+SIGMOD(I,J)*SIGMOD(I,J)
  409. 203 CONTINUE
  410. 103 CONTINUE
  411. C
  412. C CALCUL DU J2(SIGMPI-X)
  413. C
  414. TERME4=SQRT(3.D0/2.D0*TERME4)
  415.  
  416. SEUIL2=TERME4+XCOEF*(1.0D0/3.0D0)*TRASX
  417.  
  418. IF (IREMP.EQ.1) THEN
  419. SEUINI=SEUIL2
  420. DLAM2=XZERO
  421. ENDIF
  422.  
  423. IF (SEUINI.GT.1.0D0) THEN
  424. CRIT=SEUIL2/SEUINI
  425. ELSE
  426. CRIT=XZERO
  427. ENDIF
  428.  
  429. IF (IREMP.EQ.1) ICOCO=2
  430. C
  431. C 2) ON VERIFIE LA VALEUR RELATIVE DU SEUIL
  432. C -----------------------------------------
  433. IF ((CRIT.LE.1.0D-5).OR.(DLAM2.LE.1.0D-10.AND.IREMP.GT.1).OR.
  434. & (D.EQ.XZERO)) THEN
  435. GOTO 666
  436. ELSE
  437.  
  438. IF (IREMP.EQ.1) ICOCO=1
  439. C
  440. C 3) CALCUL DES DERIVÉES POUR LA REDESCENTE AU GRADIENT
  441. C -----------------------------------------------------
  442. DO I=1,3
  443. DO J=1,3
  444. TERME6(I,J)=XZERO
  445. TERME7(I,J)=XZERO
  446. TERME8(I,J)=XZERO
  447. TERME9(I,J)=XZERO
  448. ENDDO
  449. ENDDO
  450. C
  451. C CALCUL DE DF/DS....................................................
  452. C
  453. DO I=1,3
  454. DO J=1,3
  455. TERME6(I,J)=(3.D0/2.D0)*SIGMOX(I,J)/TERME4+XCOEF*1.0D0/3.D0*
  456. & UNIT(I,J)
  457. ENDDO
  458. ENDDO
  459. C
  460. C CALCUL DE DF/DX....................................................
  461. C
  462. DO I=1,3
  463. DO J=1,3
  464. TERME7(I,J)=-TERME6(I,J)
  465. ENDDO
  466. ENDDO
  467. C
  468. C CALCUL DE DG/DS....................................................
  469. C
  470. DO I=1,3
  471. DO J=1,3
  472. TERME8(I,J)=(3.D0/2.D0)*SIGMOX(I,J)/TERME4+XCOEF*1.0D0/3.D0*
  473. & UNIT(I,J)
  474. ENDDO
  475. ENDDO
  476. C
  477. C CALCUL DE DG/DX....................................................
  478. C
  479. DO I=1,3
  480. DO J=1,3
  481. TERME9(I,J)=-(3.D0/2.D0)*SIGMOX(I,J)/TERME4+A1*X(I,J)-
  482. & XCOEF*1.0D0/3.D0*UNIT(I,J)
  483. ENDDO
  484. ENDDO
  485. C
  486. C 4) CALCUL DU MULTIPLICATEUR DE GLISSEMENT
  487. C -----------------------------------------
  488. TRDGZ=TERME8(1,1)+TERME8(2,2)+TERME8(3,3)
  489.  
  490. DO I=1,3
  491. DO J=1,3
  492. DEVDGS(I,J)=TERME8(I,J)-(1.0D0/3.0D0)*TRDGZ*UNIT(I,J)
  493. ENDDO
  494. ENDDO
  495.  
  496. TERM10=XZERO
  497. DO I=1,3
  498. DO J=1,3
  499. TERM10=TERM10+TERME6(I,J)*((K/3.0D0)*TRDGZ*UNIT(I,J)+
  500. & 2.0D0*G*DEVDGS(I,J))
  501. ENDDO
  502. ENDDO
  503.  
  504. TERM11=XZERO
  505. DO I=1,3
  506. DO J=1,3
  507. TERM11=TERM11+TERME7(I,J)*TERME9(I,J)
  508. ENDDO
  509. ENDDO
  510.  
  511. DLAM2=SEUIL2/(TERM10+GAMMA1*TERM11)
  512. C
  513. C 5) ACTUALISATION DES VARIABLES FORCES
  514. C -------------------------------------
  515. DO I=1,3
  516. DO J=1,3
  517. SIGMPI(I,J)=SIGMPI(I,J)-DLAM2*D*((K/3.0D0)*TRDGZ*UNIT(I,J)+
  518. & 2.0D0*G*DEVDGS(I,J))
  519. ENDDO
  520. ENDDO
  521.  
  522. DO I=1,3
  523. DO J=1,3
  524. X(I,J)=X(I,J)-GAMMA1*DLAM2*TERME9(I,J)
  525. ENDDO
  526. ENDDO
  527.  
  528. ENDIF
  529. 500 CONTINUE
  530. C
  531. C-----ACTUALISATION DES VARIABLES FLUX (S'IL Y A LIEU)
  532. C
  533. C 1) ALPHA
  534. C ------
  535. 666 CONTINUE
  536. IF (ICOCO.EQ.1) THEN
  537. DO 303 I=1,3
  538. DO 403 J=1,3
  539. ALPHA(I,J)=XZERO
  540. ALPHA(I,J)=X(I,J)/GAMMA1
  541. 403 CONTINUE
  542. 303 CONTINUE
  543. C
  544. C 2) EPSILON_PI
  545. C ----------
  546. TROGO = TRA-(SIGMPI(1,1)+SIGMPI(2,2)+SIGMPI(3,3))/(D*K)
  547. DO I=1,3
  548. DO J=1,3
  549. DEVTRO(I,J)=EPSDEV(I,J)-(SIGMPI(I,J)-(1.0D0/3.0D0)*
  550. & (SIGMPI(1,1)+SIGMPI(2,2)+SIGMPI(3,3))*UNIT(I,J))/(2.0D0*G*D)
  551. ENDDO
  552. ENDDO
  553.  
  554. DO I=1,3
  555. DO J=1,3
  556. EPSIPI(I,J)=(1.0D0/3.0D0)*TROGO*UNIT(I,J)+DEVTRO(I,J)
  557. ENDDO
  558. ENDDO
  559.  
  560. EPSILP(1)=EPSIPI(1,1)
  561. EPSILP(2)=EPSIPI(2,2)
  562. EPSILP(3)=EPSIPI(3,3)
  563. EPSILP(4)=2.0D0*EPSIPI(1,2)
  564.  
  565. ENDIF
  566.  
  567.  
  568. ENDDO
  569. C
  570. C-----ACTUALISATION DES CONTRAINTES
  571. C
  572. 777 CONTINUE
  573. DO I=1,4
  574. EPSILB(I)=(EPSILO(I)-D*EPSILP(I))
  575. ENDDO
  576.  
  577. CALL DOHMAS (XMAT,CMATE,IFOUR2,NSTRSV,KCAS,DDHOOK,IRTD)
  578. CALL MATVE1 (DDHOOK,EPSILB,NSTRSV,NSTRSV,SIGF,2)
  579. C
  580. C-----MISE DE SIGF DANS SIGMA
  581. C
  582. SIGMA(1,1) = SIGF(1)
  583. SIGMA(1,2) = SIGF(4)
  584. SIGMA(1,3) = 0.0D0
  585.  
  586. SIGMA(2,1) = SIGF(4)
  587. SIGMA(2,2) = SIGF(2)
  588. SIGMA(2,3) = 0.0D0
  589.  
  590. SIGMA(3,1) = 0.0D0
  591. SIGMA(3,2) = 0.0D0
  592. SIGMA(3,3) = SIGF(3)
  593.  
  594. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  595. C STOCKAGE EN SORTIE
  596. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  597. C
  598. C VECTEUR DES CONTRAINTES
  599. C
  600. SIGF(1) = SIGMA(1,1)
  601. SIGF(2) = SIGMA(2,2)
  602. SIGF(3) = SIGMA(3,3)
  603. SIGF(4) = SIGMA(1,2)
  604. C
  605. C GLISSEMENT (EPSILON_PI)
  606. C
  607. VARF(2)=EPSILP(1)
  608. VARF(3)=EPSILP(2)
  609. VARF(4)=EPSILP(3)
  610. VARF(5)=EPSILP(4)/2.0D0
  611. VARF(6)=0.0D0
  612. VARF(7)=0.0D0
  613. C
  614. C ECROUISSAGE CINEMATIQUE (ALPHA)
  615. C
  616. VARF(8 )=ALPHA(1,1)
  617. VARF(9 )=ALPHA(2,2)
  618. VARF(10)=ALPHA(3,3)
  619. VARF(11)=ALPHA(1,2)
  620. VARF(12)=ALPHA(1,3)
  621. VARF(13)=ALPHA(2,3)
  622. C
  623. C ENDOMMAGEMENT (D)
  624. C
  625. VARF(14)=D
  626. C
  627. C FORCE LIEE A L ECROUISSAGE ISOTROPE
  628. C
  629. VARF(17)=FFFZ
  630. C
  631. C DEFORMATION TOTALE
  632. C
  633. DO I=1,4
  634. VARF(I+17)=EPSILO(I)
  635. ENDDO
  636. C
  637. C ECCROUISSAGE
  638. C
  639. VARF(25)=FORCED
  640. VARF(26)=FORCEI
  641.  
  642. 2000 CONTINUE
  643.  
  644. RETURN
  645. END
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  

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