Télécharger ric2nl.eso

Retour à la liste

Numérotation des lignes :

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

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