Télécharger ccoin0.eso

Retour à la liste

Numérotation des lignes :

  1. C CCOIN0 SOURCE BP208322 17/03/01 21:15:11 9325
  2.  
  3. SUBROUTINE CCOIN0(wrk52,wrk53,wrk54,wrk2,wrk3,
  4. & IB,IGAU,NBPGAU,LTRAC,IFOURB,iecou)
  5.  
  6. C-----------------------------------------------------------------------
  7. C ECOULEMENT PLASTIQUE POUR UN POINT
  8. C ALGORITHME ORTIZ ET SIMO
  9. C
  10. C EN ENTREE :
  11. C
  12. C SIG0 CONTRAINTES AU DEBUT DU PAS
  13. C DEPST INCREMENT DE DEFORMATIONS TOTALES
  14. C ( THERMIQUE ENLEVEE )
  15. C VAR0 VARIABLES INTERNES DEDUT DU PAS
  16. C VAREX0 VARIABLES EXTERNES DEBUT DU PAS
  17. C VAREXF VARIABLES EXTERNES FIN DU PAS
  18. C XMAT COEFFICIENTS DU MATERIAU
  19. C PRECIS PRECISION POUR ITERATIONS INTERNES
  20. C WORK DES CARACTERISTIQUES
  21. C TRAC COURBE DE TRACTION
  22. C MFR1 INDICE DE FORMULATION
  23. C NSTRSS NOMBRE DE CONTRAINTES CA2000
  24. C INPLAS NUMERO DU MODELE DE PLASTICITE
  25. C DDAUX = MATRICE DE HOOKE ELASTIQUE
  26. C CMATE = NOM DU MATERIAU
  27. C VALMAT= TABLEAU DE CARACTERISTIQUES DU MATERIAU
  28. C VALCAR= TABLEAU DE CARACTERISTIQUES GEOMETRIQUES
  29. C N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE
  30. C N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE
  31. C IFOU = OPTION DE CALCUL
  32. C IB = NUMERO DE L ELEMENT COURANT
  33. C IGAU = NUMERO DU POINT COURANT
  34. C EPAIST= EPAISSEUR
  35. C NBPGAU= NBRE DE POINTS DE GAUSS
  36. C MELE = NUMERO DE L ELEMENT FINI
  37. C NPINT = NBRE DE POINTS D INTEGRATION
  38. C NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES
  39. C NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES
  40. C SECT = SECTION
  41. C LHOOK = TAILLE DE LA MATRICE DE HOOKE
  42. C TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI = TABLEAUX UTILISES
  43. C UTILISES POUR LE CALCUL DE LA MATRICE DE HOOKE
  44. C
  45. C EN SORTIE :
  46. C
  47. C SIGF CONTRAINTES A LA FIN DU PAS
  48. C VARF VARIABLES INTERNES FIN DU PAS
  49. C DEFP INCR. DE DEFORMATIONS PLASTIQUES
  50. C KERRE CODE D'ERREUR
  51. C = 0 SI TOUT OK
  52. C = 99 SI FORMULATION NON DISPONIBLE
  53. C EN PLASTICITE
  54. C = 1 SI DEPS EST NEGATIF
  55. C = 2 SI NOMBRE MAX D'ITERATIONS INTERNES DEPASSE
  56. C
  57. C IFOUR : OPTION DE CALCUL
  58. C
  59. C IFOUR = -3 DEFORMATION PLANE GENERALISEE
  60. C IFOUR = -2 CONTRAINTES PLANES
  61. C IFOUR = -1 DEFORMATIONS PLANES
  62. C IFOUR = 0 AXISYMETRIQUE
  63. C IFOUR = 1 SERIE DE FOURIER
  64. C IFOUR = 2 TRIDIMENSIONNEL
  65. C
  66. C MFR1 : NUMERO DE LA FORMULATION ELEMENT FINI
  67. C
  68. C MFR1 = 1 MASSIF
  69. C MFR1 = 3 COQUE
  70. C MFR1 = 5 COQUE EPAISSE
  71. C MFR1 = 7 POUTRE
  72. C MFR1 = 9 COQUE AVEC CISAILLEMENT TRANSVERSE
  73. C
  74. C INPLAS : NUMERO DU MODELE DE PLASTICITE
  75. C
  76. C INPLAS = 1 PARFAIT
  77. C INPLAS = 4 CINEMATIQUE
  78. C INPLAS = 5 ISOTROPE
  79. C INPLAS = 7 CHABOCHE1
  80. C INPLAS = 12 CHABOCHE2
  81. C
  82. C-----------------------------------------------------------------------
  83. C CONVENTION DE REMPLISSAGE DES MEMOIRES
  84. C-----------------------------------------------------------------------
  85. C
  86. C XMAT(1) MODULE D'YOUNG
  87. C XMAT(2) COEFFICIENT DE POISSON
  88. C
  89. C TRAC(1 A 2*LTRAC) COURBE DE TRACTION
  90. C WORK( " +1) ALFAH POUR COQUES PLASTICITE GLOBALE
  91. C WORK( " +..) DONNEES POUR CRITERE POUTRES GLOBALES
  92. C
  93. C MODELE ISOTROPE
  94. C VAR0(1) EPS*
  95. C
  96. C MODELE CINEMATIQUE LINEAIRE
  97. C VAR0(1) EPS*
  98. C VAR0(2) A VAR0(1+NSTRSS) DEPLACEMENT DE LA SPHERE
  99. C
  100. C MODELE CHABOCHE
  101. C XMAT(5) .... COEFFICIENTS A,C,...
  102. C VAR0(1) EPS*
  103. C VAR0(2) A VAR0(1+NSTRSS) DEPLACEMENT DE LA SPHERE 1
  104. C VAR0(2+NSTRSS) A VAR0(1+2*NSTRSS) " " " " 2
  105. C
  106. C-----------------------------------------------------------------------
  107.  
  108. IMPLICIT INTEGER(I-N)
  109. IMPLICIT REAL*8(A-H,O-Z)
  110.  
  111. -INC CCOPTIO
  112. -INC DECHE
  113.  
  114. SEGMENT IECOU
  115. INTEGER icow1,icow2,icow3,icow4,icow5,icow6,icow7,
  116. 1 icow8,icow9,icow10,icow11,icow12,icow13,icow14,icow15,icow16,
  117. 2 icow17,icow18,icow19,icow20,icow21,icow22,icow23,icow24,
  118. 3 icow25,icow26,icow27,icow28,icow29,icow30,icow31,
  119. 4 icow32,icow33,NSTRSS,MFR1, NBGMAT,NELMAT,icow38,
  120. 5 icow39,icow40,icow41,icow42,icow43,icow44
  121. INTEGER icow45,icow46,icow47,icow48,icow49,icow50,
  122. . icow51,icow52,icow53,icow54,icow55,icow56
  123. . icow57,icow58
  124. ENDSEGMENT
  125. *
  126. SEGMENT WRK2
  127. REAL*8 TRAC(LTRAC)
  128. ENDSEGMENT
  129. *
  130. SEGMENT WRK3
  131. REAL*8 WORK(LW),WORK2(LW2)
  132. ENDSEGMENT
  133.  
  134. DIMENSION SIG(130),EPS(130)
  135. DIMENSION S(8),SX(8),DS(8),DSIG(8),SPHER(8),SPHER1(8),SPHER2(8)
  136. DIMENSION DSPHER1(8),DSPHER2(8),DEPSE(8),DEPSP(8),DDEPSE(8)
  137. DIMENSION F(8),W1(8),W2(8),SIGB(8),Z1(8),DIV(8),DDA(8,8)
  138. DIMENSION CRIGI(12)
  139.  
  140. do jj = 1,8
  141. sx(jj) = 0.d0
  142. enddo
  143. C---------COQUES AVEC CT------------------------------------------------
  144. C ON NE TRAVAILLE QUE SUR LES 6 PREMIERES COMPOSANTES
  145. IF(MFR1.EQ.9) THEN
  146. NCONT=6
  147. ELSE
  148. NCONT=NSTRSS
  149. ENDIF
  150. itracb=0
  151. 2222 continue
  152.  
  153. C-----------------------------------------------------------------------
  154. DO I=1,NSTRSS
  155. S(I)=0.D0
  156. SPHER(I)=0.D0
  157. SPHER1(I)=0.D0
  158. SPHER2(I)=0.D0
  159. ENDDO
  160. KERRE=0
  161. YUNG=XMAT(1)
  162. XNU=XMAT(2)
  163.  
  164. C---------CARACTERISTIQUES GEOMETRIQUES---------------------------------
  165. C
  166. C COQUES
  167. C
  168. ALFAH=1.D0
  169. IF(MFR1.EQ.3.OR.MFR1.EQ.5.OR.MFR1.EQ.9) THEN
  170. EP1=WORK(1)
  171. IF(MFR1.NE.5) ALFAH=WORK(2)**2
  172. ENDIF
  173.  
  174. C---------COEFFICIENTS CHABOCHE-----------------------------------------
  175.  
  176. IF(INPLAS.EQ.7) THEN
  177. A1=XMAT(5)
  178. C1=XMAT(6)
  179. R0=XMAT(7)
  180. PSI=XMAT(8)
  181. OME=XMAT(9)
  182. RM=XMAT(10)
  183. B=XMAT(11)
  184. A2=0.D0
  185. C2=0.D0
  186. ELSE IF(INPLAS.EQ.12) THEN
  187. A1=XMAT(5)
  188. C1=XMAT(6)
  189. A2=XMAT(7)
  190. C2=XMAT(8)
  191. R0=XMAT(9)
  192. PSI=XMAT(10)
  193. OME=XMAT(11)
  194. RM=XMAT(12)
  195. B=XMAT(13)
  196. ELSE
  197. DO I=1,LTRAC
  198. SIG(I)=TRAC(2*I-1)
  199. EPS(I)=TRAC(2*I)
  200. ENDDO
  201. ENDIF
  202.  
  203. EPST=VAR0(1)
  204. C---------ECROUISSAGE CINEMATIQUE---------------------------------------
  205.  
  206. IF(INPLAS.EQ.4.OR.INPLAS.EQ.7.OR.INPLAS.EQ.12) THEN
  207. DO I=1,NSTRSS
  208. SPHER1(I)=VAR0(I+1)
  209. ENDDO
  210. IF(INPLAS.EQ.12) THEN
  211. DO I=1,NSTRSS
  212. SPHER2(I)=VAR0(NSTRSS+1+I)
  213. ENDDO
  214. ENDIF
  215. DO I=1,NSTRSS
  216. SPHER(I)=SPHER1(I)+SPHER2(I)
  217. ENDDO
  218. C-----------------------------------------------------------------------
  219. C PREDICTEUR ELASTIQUE
  220. C S : CONTRAINTE
  221. C SPHER : VARIABLE D'ECROUISSAGE CINEMATIQUE
  222. C SX = S - X
  223. C-----------------------------------------------------------------------
  224.  
  225. * en elastique non lineaire on annule les contraintes initiales
  226. * mais on cumule les epsilons elastiques
  227. ELSE IF(INPLAS.EQ.87) THEN
  228. EPST=0.D0
  229. DO I=1,NSTRSS
  230. SIG0(I)=0.D0
  231. DEPST(I)=DEPST(I) + VAR0(I+1)
  232. ENDDO
  233. ENDIF
  234. CALL CALSIG(DEPST,DDAUX,NSTRSS,CMATE,VALMAT,VALCAR,
  235. & N2EL,N2PTEL,MFR1,IFOURB,IB,IGAU,EPAIST,
  236. & NBPGAU,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,
  237. & XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD)
  238.  
  239. IF(IRTD.NE.1) THEN
  240. KERRE=69
  241. GOTO 1000
  242. ENDIF
  243.  
  244. IF (mfr.eq.1.and. ifourb.eq.-2) then
  245. * en cas de contraintes planes on repasse en 3D
  246. do iu=1,6
  247. do ju=1,6
  248. DDA(iu,ju)=0.d0
  249. enddo
  250. enddo
  251. cte_cp = xnu / (1.d0 - xnu)
  252. aux= YUNG / ((1.d0+xnu)*(1.d0-2.d0*xnu))
  253. aux1= aux * xnu
  254. aux2= aux * (1.d0-xnu)
  255. gege = Yung / (2.d0 *(1.d0 +xnu))
  256. DDA(1,1)=AUX2
  257. DDA(2,1)=AUX1
  258. DDA(1,2)=AUX1
  259. DDA(2,2)=AUX2
  260. DDA(3,3)=aux2
  261. DDA(1,3)=aux1
  262. DDA(2,3)=aux1
  263. DDA(3,1)=aux1
  264. DDA(3,2)=aux1
  265.  
  266. DDA(4,4)=gege
  267. DDA(5,5)=gege
  268. DDA(6,6)=GEGE
  269. ELSE IF ((MFR.EQ.3.AND.NPINT.EQ.0).OR.MFR.EQ.9) THEN
  270. AUX=YUNG/(1.D0-XNU*XNU)
  271. AUX1=AUX*XNU
  272. DO I=1,NCONT
  273. DO J=1,NCONT
  274. DDAUX(I,J)=0.D0
  275. ENDDO
  276. ENDDO
  277. C
  278. C CAS TRIDIMENSIONNEL ET FOURIER
  279. C
  280. IF(IFOURB.EQ.2.OR.IFOURB.EQ.1) THEN
  281.  
  282. GEGE=0.5D0*YUNG/(1.D0+XNU)
  283. DDAUX(1,1)=AUX
  284. DDAUX(2,1)=AUX1
  285. DDAUX(1,2)=AUX1
  286. DDAUX(2,2)=AUX
  287. DDAUX(3,3)=GEGE
  288. DDAUX(4,4)=AUX
  289. DDAUX(5,4)=AUX1
  290. DDAUX(4,5)=AUX1
  291. DDAUX(5,5)=AUX
  292. DDAUX(6,6)=GEGE
  293. C
  294. C CAS AXISYMETRIQUE ET DEFORMATIONS PLANES
  295. C
  296. ELSE IF(IFOURB.EQ.0.OR.IFOURB.EQ.-1.OR.IFOURB.EQ.-3) THEN
  297.  
  298. DDAUX(1,1)=AUX
  299. DDAUX(2,1)=AUX1
  300. DDAUX(1,2)=AUX1
  301. DDAUX(2,2)=AUX
  302. DDAUX(3,3)=AUX
  303. DDAUX(4,3)=AUX1
  304. DDAUX(3,4)=AUX1
  305. DDAUX(4,4)=AUX
  306. C
  307. C CAS CONTRAINTES PLANES
  308. C
  309. ELSE IF(IFOURB.EQ.-2) THEN
  310. DDAUX(1,1)=YUNG
  311. DDAUX(3,3)=YUNG
  312. ENDIF
  313. ENDIF
  314. *
  315. DO I=1,NSTRSS
  316. S(I)=SIG0(I)+DSIGT(I)
  317. SIGB(I)=S(I)
  318. SX(I)=S(I)-SPHER(I)
  319. ENDDO
  320.  
  321. C---------CAS DES POUTRES-----------------------------------------------
  322.  
  323. IF(MFR1.EQ.7) THEN
  324. DIV(1)=1.D0/WORK(4)
  325. DIV(2)=1.D0
  326. DIV(3)=1.D0
  327. DIV(4)=WORK(10)/WORK(1)
  328. DIV(5)=WORK(11)/WORK(2)
  329. DIV(6)=WORK(12)/WORK(3)
  330. IF(DIV(4).EQ.0.D0) DIV(4)=1.D-10/SQRT(WORK(1)*WORK(4))
  331. IF(DIV(5).EQ.0.D0) DIV(5)=1.D-10/SQRT(WORK(2)*WORK(4))
  332. IF(DIV(6).EQ.0.D0) DIV(6)=1.D-10/SQRT(WORK(3)*WORK(4))
  333. DO I=1,NCONT
  334. S(I)=S(I)*DIV(I)
  335. SX(I)=SX(I)*DIV(I)
  336. ENDDO
  337. ENDIF
  338.  
  339. C-----------------------------------------------------------------------
  340. C CALCUL DE LA LIMITE ELASTIQUE SI
  341. C-----------------------------------------------------------------------
  342.  
  343. IF(INPLAS.EQ.1.OR.INPLAS.EQ.4) THEN
  344. SI=TRAC(1)
  345. ELSE IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
  346. CALL TRACTI(SI,EPST,SIG,EPS,LTRAC,2,IBI)
  347. IF(IBI.EQ.1) THEN
  348. KERRE=75
  349. GOTO 1000
  350. ENDIF
  351. C* Modele de CHABOCHE (prise en compte ecrouissage)
  352. ELSE IF (INPLAS.EQ.7 .OR. INPLAS.EQ.12) THEN
  353. RMmRR = (RM - R0) * EXP(-B*EPST)
  354. SI = RM - RMmRR
  355. ENDIF
  356.  
  357. C-----------------------------------------------------------------------
  358. C CALCUL DE LA CONTRAINTE EQUIVALENTE SEQ
  359. C-----------------------------------------------------------------------
  360. * attention en contraintes planes on se declare en 3D
  361. * rien besoin de faire dans vonmis0 car ifourb n'est pas utilisé
  362. * et les contraintes sont dimensionnées à 6
  363. SEQ=VONMIS0(SX,NSTRSS,MFR1,IFOURB,EP1,ALFAH)
  364.  
  365. C-----------------------------------------------------------------------
  366. C LE CRITERE EST-IL VERIFIE
  367. C-----------------------------------------------------------------------
  368. PHI=SEQ-SI
  369. NITER=0
  370. PETI=1.1D0*0.5D0*PRECIS*SEQ
  371. CALL EPSPRE(SEQ,SI,PETI,ITRY)
  372. IF((ITRY.EQ.1).OR.(SEQ.LE.SI)) THEN
  373. * rien a faire on n'a pas plastifié
  374. IF(MFR1.EQ.7) THEN
  375. DO I=1,NCONT
  376. S(I)=S(I)/DIV(I)
  377. ENDDO
  378. ENDIF
  379. DO I=1,NCONT
  380. SIGF(I)=S(I)
  381. DEFP(I)=0.D0
  382. ENDDO
  383. IF(MFR1.EQ.9) THEN
  384. DEFP(7)=0.D0
  385. DEFP(8)=0.D0
  386. SIGF(7)=S(7)
  387. SIGF(8)=S(8)
  388. ENDIF
  389.  
  390. VARF(1)=VAR0(1)
  391. IF(INPLAS.EQ.4.OR.INPLAS.EQ.7) THEN
  392. DO I=1,NSTRSS
  393. VARF(I+1)=VAR0(I+1)
  394. ENDDO
  395. ELSE IF(INPLAS.EQ.12) THEN
  396. DO I=1,2*NSTRSS
  397. VARF(I+1)=VAR0(I+1)
  398. ENDDO
  399. ELSE IF(INPLAS.EQ.87) THEN
  400. DO I=1,NSTRSS
  401. VARF(I+1)=DEPST(I)
  402. ENDDO
  403. ENDIF
  404. RETURN
  405. ENDIF
  406.  
  407. C-----------------------------------------------------------------------
  408. C ON A PLASTIFIE
  409. C-----------------------------------------------------------------------
  410. cri0= si * 1.e-8
  411. PHI0=PHI
  412. SI0=SI
  413. RR=0.D0
  414.  
  415. DO I=1,NCONT
  416. DSIG(I)=0.D0
  417. DEPSP(I)=0.D0
  418. DSPHER1(I)=0.D0
  419. DSPHER2(I)=0.D0
  420. ENDDO
  421.  
  422. C-----------------------------------------------------------------------
  423. C DEBUT DE LA BOUCLE D'ITERATIONS INTERNES
  424. C-----------------------------------------------------------------------
  425. sx1in=sx(1)
  426. sx2in=sx(2)
  427. sx3in= sx(3)
  428. s1in=s(1)
  429. s2in=s(2)
  430.  
  431. iderin=0
  432. 10 NITER=NITER+1
  433.  
  434. phi= seq - si
  435.  
  436. C---------CALCUL DE W1=DF/D(SIGMA)--------------------------------------
  437.  
  438. C---------ELEMENTS MASSIFS----------------------------------------------
  439.  
  440. IF(MFR1.EQ.1) THEN
  441.  
  442. F(1)=(2.D0*SX(1)-SX(2)-SX(3))/3.D0
  443. F(2)=(2.D0*SX(2)-SX(1)-SX(3))/3.D0
  444. F(3)=(2.D0*SX(3)-SX(1)-SX(2))/3.D0
  445. DO I=4,NSTRSS
  446. F(I)=SX(I)
  447. ENDDO
  448. DO I=1,3
  449. W1(I)=1.5D0*F(I)/SEQ
  450. Z1(I)=W1(I)
  451. ENDDO
  452. DO I=4,NCONT
  453. W1(I)=3.D0*F(I)/SEQ
  454. Z1(I)=1.5D0*F(I)/SEQ
  455. ENDDO
  456.  
  457. C---------COQUES MINCES-------------------------------------------------
  458.  
  459. ELSE IF(MFR1.EQ.3.OR.MFR1.EQ.9) THEN
  460.  
  461. IF(IFOURB.GE.1) THEN
  462. W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1)
  463. W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1)
  464. W1(3)=3.D0*SX(3)/(SEQ*EP1)
  465. W1(4)=3.D0*WORK(2)*(2.D0*SX(4)-SX(5))/(SEQ*EP1*EP1)
  466. W1(5)=3.D0*WORK(2)*(2.D0*SX(5)-SX(4))/(SEQ*EP1*EP1)
  467. W1(6)=18.D0*WORK(2)*SX(6)/(SEQ*EP1*EP1)
  468. ELSE
  469. W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1)
  470. W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1)
  471. W1(3)=3.D0*WORK(2)*(2.D0*SX(3)-SX(4))/(SEQ*EP1*EP1)
  472. W1(4)=3.D0*WORK(2)*(2.D0*SX(4)-SX(3))/(SEQ*EP1*EP1)
  473. ENDIF
  474.  
  475.  
  476. C---------COQUES EPAISSES-----------------------------------------------
  477. ELSE IF(MFR1.EQ.5) THEN
  478. F(1)=(2.D0*SX(1)-SX(2))/3.D0
  479. F(2)=(2.D0*SX(2)-SX(1))/3.D0
  480. DO I=3,5
  481. F(I)=SX(I)
  482. ENDDO
  483. DO I=1,2
  484. W1(I)=1.5D0*F(I)/SEQ
  485. Z1(I)=W1(I)
  486. ENDDO
  487. DO I=3,5
  488. W1(I)=3.D0*F(I)/SEQ
  489. Z1(I)=1.5D0*F(I)/SEQ
  490. ENDDO
  491.  
  492. C---------POUTRES-------------------------------------------------------
  493.  
  494. ELSE IF(MFR1.EQ.7) THEN
  495.  
  496. DO I=1,NCONT
  497. DO J=1,NCONT
  498. DDA(I,J)=0.D0
  499. ENDDO
  500. ENDDO
  501. DDA(1,1)=YUNG
  502. DDA(4,4)=0.5*YUNG/(1.+XNU)
  503. DDA(5,5)=YUNG
  504. DDA(6,6)=YUNG
  505. W1(1)=SX(1)/SEQ
  506. W1(2)=0.D0
  507. W1(3)=0.D0
  508. W1(4)=SX(4)/SEQ
  509. W1(5)=SX(5)/SEQ
  510. W1(6)=SX(6)/SEQ
  511. ENDIF
  512.  
  513. IF(MFR1.EQ.7) THEN
  514. DO I=1,NCONT
  515. r_z = 0.D0
  516. DO J=1,NCONT
  517. r_z=r_z+DDA(I,J)*W1(J)
  518. ENDDO
  519. W2(I)=r_z
  520. ENDDO
  521. ELSE
  522. IF(mfr.eq.1.and. ifourb.eq.-2) then
  523. DO I=1,NCONT
  524. r_z = 0.D0
  525. DO J=1,NCONT
  526. r_z=r_z+DDA(I,J)*W1(J)
  527. ENDDO
  528. W2(I)=r_z
  529. ENDDO
  530. else
  531. DO I=1,NCONT
  532. r_z = 0.D0
  533. DO J=1,NCONT
  534. r_z=r_z+DDAUX(I,J)*W1(J)
  535. ENDDO
  536. W2(I)=r_z
  537. ENDDO
  538. endif
  539. ENDIF
  540. COEF=0.D0
  541. DO I=1,NCONT
  542. COEF=COEF+W1(I)*W2(I)
  543. ENDDO
  544.  
  545. C-----------------------------------------------------------------------
  546. C PLASTICITE PARFAITE, ECROUISSAGE ISOTROPE ET CINEMATIQUE ZIEGLER
  547. C-----------------------------------------------------------------------
  548.  
  549. IF(INPLAS.EQ.1.OR.INPLAS.EQ.4.OR.INPLAS.EQ.5
  550. $ .OR.INPLAS.EQ.87) THEN
  551. CALL TRACTI(PENTE,EPST,SIG,EPS,LTRAC,1,IBI)
  552.  
  553. IF(IBI.EQ.1) THEN
  554. KERRE=75
  555. GOTO 1000
  556. ENDIF
  557.  
  558. IF(INPLAS.EQ.1) THEN
  559. RP=0.D0
  560. C=0.D0
  561. ELSE IF(INPLAS.EQ.4) THEN
  562. RP=0.D0
  563. ELSE IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
  564. RP=PENTE
  565. C=0.D0
  566. ENDIF
  567.  
  568. DENOM=COEF+C+RP
  569. DELTA=PHI/DENOM
  570. DMU=C*DELTA/SEQ
  571.  
  572. DO I=1,NCONT
  573. DSIG(I)=-DELTA*W2(I)
  574. DSPHER1(I)=DMU*SX(I)
  575. ENDDO
  576.  
  577. * Cas des contraintes planes en massif
  578. if(mfr.eq.1.and.ifourb.eq.-2) then
  579.  
  580.  
  581. bb= abs(dsig(3)+ s(3) )
  582. r_z = dsig(3) * cte_cp
  583. sx(3)= sx3in - dsig(3)
  584. sx(1)= sx1in - r_z
  585. sx(2)= sx2in - r_z
  586. SEQ=VONMIS0(SX,NSTRSS,MFR1,IFOURB,EP1,ALFAH)
  587. s(3)= - dsig(3)
  588. s(1)= s1in - r_z
  589. s(2)= s2in - r_z
  590. if( bb.gt.cri0) then
  591. if(iderin.eq.0) then
  592. niter=niter - 1
  593. endif
  594. iderin=iderin+1
  595. if(iderin.gt.50) then
  596. write(ioimp,*) ' probleme dans iterations internes'
  597. KERRE=2
  598. GO TO 1000
  599. endif
  600. go to 10
  601. endif
  602. DMU=C*DELTA/SEQ
  603. DO I=1,NCONT
  604. DSPHER1(I)=DMU*SX(I)
  605. ENDDO
  606. endif
  607. iderin=0
  608. DP=DELTA
  609. DR=RP*DP
  610.  
  611. ELSE
  612.  
  613. C-----------------------------------------------------------------------
  614. C MODELE DE CHABOCHE
  615. C-----------------------------------------------------------------------
  616.  
  617. C---------UNIQUEMENT POUR LES ELEMENTS MASSIFS--------------------------
  618.  
  619. XPRO1=0.D0
  620. XPRO2=0.D0
  621. DO I=1,NCONT
  622. XPRO1=XPRO1+W1(I)*SPHER1(I)
  623. XPRO2=XPRO2+W1(I)*SPHER2(I)
  624. ENDDO
  625.  
  626. FIP=1.D0+(PSI-1.D0)*EXP(-OME*EPST)
  627.  
  628. DENOM=COEF+(A1*C1+A2*C2)*FIP-C1*XPRO1-C2*XPRO2+B*RMmRR
  629. DELTA=PHI/DENOM
  630.  
  631. DO I=1,NCONT
  632. DSIG(I)=-DELTA*W2(I)
  633. DSPHER1(I)=(2.D0*A1*FIP*Z1(I)/3.D0-SPHER1(I))*C1*DELTA
  634. DSPHER2(I)=(2.D0*A2*FIP*Z1(I)/3.D0-SPHER2(I))*C2*DELTA
  635. ENDDO
  636.  
  637. DR=B* RMmRR *DELTA
  638. DP=DELTA
  639. ENDIF
  640.  
  641. RR=RR+DR
  642. EPST=EPST+DP
  643.  
  644. IF(MFR1.EQ.3.OR.MFR1.EQ.9) THEN
  645. IF(IFOURB.GE.1) THEN
  646. DO I=1,3
  647. DSIG(I)=DSIG(I)*EP1
  648. ENDDO
  649. DO I=4,6
  650. DSIG(I)=EP1*EP1*DSIG(I)/(6.D0*WORK(2))
  651. ENDDO
  652. ELSE
  653. DSIG(1)=DSIG(1)*EP1
  654. DSIG(2)=DSIG(2)*EP1
  655. DSIG(3)=EP1*EP1*DSIG(3)/(6.D0*WORK(2))
  656. DSIG(4)=EP1*EP1*DSIG(4)/(6.D0*WORK(2))
  657. ENDIF
  658. ENDIF
  659. C mise à jour des contraintes
  660. DO I=1,NCONT
  661. S(I)=S(I)+DSIG(I)
  662. SPHER1(I)=SPHER1(I)+DSPHER1(I)
  663. SPHER2(I)=SPHER2(I)+DSPHER2(I)
  664. SPHER(I)=SPHER1(I)+SPHER2(I)
  665. SX(I)=S(I)-SPHER(I)
  666. ENDDO
  667. if(ifourb.eq.-2.and.mfr.eq.1) then
  668. s(3)=0.d0
  669. endif
  670.  
  671. SEQ=VONMIS0(SX,NSTRSS,MFR1,IFOURB,EP1,ALFAH)
  672.  
  673. C---------CONTRAINTES PLANES--------------------------------------------
  674.  
  675. IF(IFOURB.EQ.-2) THEN
  676.  
  677. IF(MFR1.EQ.1) THEN
  678. F(1)=(2.D0*SX(1)-SX(2)-SX(3))/3.D0
  679. F(2)=(2.D0*SX(2)-SX(1)-SX(3))/3.D0
  680. F(3)=(2.D0*SX(3)-SX(1)-SX(2))/3.D0
  681. DO I=4,NSTRSS
  682. F(I)=SX(I)
  683. ENDDO
  684. DO I=1,3
  685. W1(I)=1.5D0*F(I)/SEQ
  686. ENDDO
  687. DO I=4,NSTRSS
  688. W1(I)=3.D0*F(I)/SEQ
  689. ENDDO
  690.  
  691. ELSE IF(MFR1.EQ.3.OR.MFR1.EQ.9) THEN
  692. AUX=EP1*EP1*EP1*EP1
  693. W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1)
  694. W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1)
  695. W1(3)=18.D0*ALFAH*(2.D0*SX(3)-SX(4))/(SEQ*AUX)
  696. W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(3))/(SEQ*AUX)
  697. ENDIF
  698.  
  699. DO I=1,NSTRSS
  700. DEPSP(I)=DEPSP(I)+DELTA*W1(I)
  701. ENDDO
  702. ENDIF
  703.  
  704. C-----------------------------------------------------------------------
  705. C TEST
  706. C CALCUL DE LA NOUVELLE VALEUR DE PHI
  707. C-----------------------------------------------------------------------
  708. IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
  709. CALL TRACTI(SI,EPST,SIG,EPS,LTRAC,2,IBI)
  710. C* Modele de CHABOCHE (prise en compte ecrouissage)
  711. ELSE IF (INPLAS.EQ.7 .OR. INPLAS.EQ.12) THEN
  712. RMmRR = (RM - R0) * EXP(-B*EPST)
  713. SI = RM - RMmRR
  714. ELSE
  715. SI=RR+SI0
  716. ENDIF
  717. PHI=SEQ-SI
  718.  
  719. PETI=1.E-7
  720. APHI=ABS(PHI)
  721. APHI0=ABS(PHI0)
  722. TEST=PETI*APHI0
  723. IF(NITER.GT.50) THEN
  724. if(itracb.eq.0) then
  725. itracb=1
  726. go to 2222
  727. endif
  728. KERRE=2
  729. GO TO 1000
  730. ENDIF
  731. IF(APHI.LE.TEST) THEN
  732.  
  733. IF(MFR1.EQ.7) THEN
  734. DO I=1,NCONT
  735. S(I)=S(I)/DIV(I)
  736. ENDDO
  737. ENDIF
  738.  
  739. C---------TOUTES FORMULATIONS SAUF CONTRAINTES PLANES-------------------
  740.  
  741. IF(IFOURB.NE.-2) THEN
  742. DO I=1,NCONT
  743. DS(I)=S(I)-SIGB(I)
  744. ENDDO
  745. CALL EPSIG0(DS,DDEPSE,MFR1,IFOURB,YUNG,XNU,WORK,NSTRSS)
  746. DO I=1,NCONT
  747. DEPSE(I)=DEPST(I)+DDEPSE(I)
  748. DEPSP(I)=DEPST(I)-DEPSE(I)
  749. ENDDO
  750. ENDIF
  751.  
  752. DO I=1,NSTRSS
  753. SIGF(I)=S(I)
  754. DEFP(I)=DEPSP(I)
  755. ENDDO
  756.  
  757. C---------COQUES AVEC CISAILLEMENT TRANSVERSE---------------------------
  758.  
  759. IF(MFR1.EQ.9) THEN
  760. DEFP(7)=0.D0
  761. DEFP(8)=0.D0
  762. SIGF(7)=SIGB(7)
  763. SIGF(8)=SIGB(8)
  764. ENDIF
  765.  
  766. VARF(1)=EPST
  767. IF(INPLAS.EQ.4.OR.INPLAS.EQ.7.OR.INPLAS.EQ.12) THEN
  768. DO I=1,NSTRSS
  769. VARF(I+1)=SPHER1(I)
  770. ENDDO
  771. IF(INPLAS.EQ.12) THEN
  772. DO I=1,NSTRSS
  773. VARF(NSTRSS+1+I)=SPHER2(I)
  774. ENDDO
  775. ENDIF
  776. ENDIF
  777. IF(INPLAS.EQ.87) THEN
  778. DO I=1,NSTRSS
  779. VARF(1+I)=DEPST(I)
  780. ENDDO
  781. ENDIF
  782. KERRE=0
  783. RETURN
  784.  
  785. ELSE
  786. sx1in=sx(1)
  787. sx2in=sx(2)
  788. s1in=s(1)
  789. s2in=s(2)
  790. GOTO 10
  791. ENDIF
  792. C ENDIF
  793.  
  794. 1000 CONTINUE
  795. RETURN
  796. END
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  

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