Télécharger ecoin0.eso

Retour à la liste

Numérotation des lignes :

ecoin0
  1. C ECOIN0 SOURCE PV 22/04/25 21:15:03 11344
  2. SUBROUTINE ECOIN0(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL,
  3. . N2PTEL,VARIN0,VAREX0,VAREXF,XMAT,PRECIS,WORK,CARAC,TRAC,
  4. . SIGF,VARINF,DEFP,KERRE,MFR,IB,IGAU,NSTRS,EPAIST,MELE,NPINT,
  5. . NBPGAU,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK,
  6. . ROTHOO,DDHOMU,CRIGI,DSIGT,INPLAS,LTRAC,IFOURB)
  7.  
  8.  
  9. C-----------------------------------------------------------------------
  10. C ECOULEMENT PLASTIQUE POUR UN POINT
  11. C ALGORITHME ORTIZ ET SIMO
  12. C
  13. C EN ENTREE :
  14. C
  15. C SIG0 CONTRAINTES AU DEBUT DU PAS
  16. C DEPST INCREMENT DE DEFORMATIONS TOTALES
  17. C ( THERMIQUE ENLEVEE )
  18. C VARIN0 VARIABLES INTERNES DEDUT DU PAS
  19. C VAREX0 VARIABLES EXTERNES DEBUT DU PAS
  20. C VAREXF VARIABLES EXTERNES FIN DU PAS
  21. C XMAT COEFFICIENTS DU MATERIAU
  22. C PRECIS PRECISION POUR ITERATIONS INTERNES
  23. C CARAC DES CARACTERISTIQUES
  24. C TRAC COURBE DE TRACTION
  25. C MFR INDICE DE FORMULATION
  26. C NSTRS NOMBRE DE CONTRAINTES CA2000
  27. C INPLAS NUMERO DU MODELE DE PLASTICITE
  28. C DDAUX = MATRICE DE HOOKE ELASTIQUE
  29. C CMATE = NOM DU MATERIAU
  30. C VALMAT= TABLEAU DE CARACTERISTIQUES DU MATERIAU
  31. C VALCAR= TABLEAU DE CARACTERISTIQUES GEOMETRIQUES
  32. C N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE
  33. C N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE
  34. C IFOU = OPTION DE CALCUL
  35. C IB = NUMERO DE L ELEMENT COURANT
  36. C IGAU = NUMERO DU POINT COURANT
  37. C EPAIST= EPAISSEUR
  38. C NBPGAU= NBRE DE POINTS DE GAUSS
  39. C MELE = NUMERO DE L ELEMENT FINI
  40. C NPINT = NBRE DE POINTS D INTEGRATION
  41. C NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES
  42. C NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES
  43. C SECT = SECTION
  44. C LHOOK = TAILLE DE LA MATRICE DE HOOKE
  45. C TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI = TABLEAUX UTILISES
  46. C UTILISES POUR LE CALCUL DE LA MATRICE DE HOOKE
  47. C
  48. C EN SORTIE :
  49. C
  50. C SIGF CONTRAINTES A LA FIN DU PAS
  51. C VARINF VARIABLES INTERNES FIN DU PAS
  52. C DEFP INCR. DE DEFORMATIONS PLASTIQUES
  53. C KERRE CODE D'ERREUR
  54. C = 0 SI TOUT OK
  55. C = 99 SI FORMULATION NON DISPONIBLE
  56. C EN PLASTICITE
  57. C = 1 SI DEPS EST NEGATIF
  58. C = 2 SI NOMBRE MAX D'ITERATIONS INTERNES DEPASSE
  59. C
  60. C IFOUR : OPTION DE CALCUL
  61. C
  62. C IFOUR = -3 DEFORMATION PLANE GENERALISEE
  63. C IFOUR = -2 CONTRAINTES PLANES
  64. C IFOUR = -1 DEFORMATIONS PLANES
  65. C IFOUR = 0 AXISYMETRIQUE
  66. C IFOUR = 1 SERIE DE FOURIER
  67. C IFOUR = 2 TRIDIMENSIONNEL
  68. C
  69. C MFR : NUMERO DE LA FORMULATION ELEMENT FINI
  70. C
  71. C MFR = 1 MASSIF
  72. C MFR = 3 COQUE
  73. C MFR = 5 COQUE EPAISSE
  74. C MFR = 7 POUTRE
  75. C MFR = 9 COQUE AVEC CISAILLEMENT TRANSVERSE
  76. C
  77. C INPLAS : NUMERO DU MODELE DE PLASTICITE
  78. C
  79. C INPLAS = 1 PARFAIT
  80. C INPLAS = 4 CINEMATIQUE
  81. C INPLAS = 5 ISOTROPE
  82. C INPLAS = 7 CHABOCHE1
  83. C INPLAS = 12 CHABOCHE2
  84. C
  85. C-----------------------------------------------------------------------
  86. C CONVENTION DE REMPLISSAGE DES MEMOIRES
  87. C-----------------------------------------------------------------------
  88. C
  89. C XMAT(1) MODULE D'YOUNG
  90. C XMAT(2) COEFFICIENT DE POISSON
  91. C
  92. C TRAC(1 A 2*LTRAC) COURBE DE TRACTION
  93. C CARAC( " +1) ALFAH POUR COQUES PLASTICITE GLOBALE
  94. C CARAC( " +..) DONNEES POUR CRITERE POUTRES GLOBALES
  95. C
  96. C MODELE ISOTROPE
  97. C VARIN0(1) EPS*
  98. C
  99. C MODELE CINEMATIQUE LINEAIRE
  100. C VARIN0(1) EPS*
  101. C VARIN0(2) A VARIN0(1+NSTRS) DEPLACEMENT DE LA SPHERE
  102. C
  103. C MODELE CHABOCHE
  104. C XMAT(5) .... COEFFICIENTS A,C,...
  105. C VARIN0(1) EPS*
  106. C VARIN0(2) A VARIN0(1+NSTRS) DEPLACEMENT DE LA SPHERE 1
  107. C VARIN0(2+NSTRS) A VARIN0(1+2*NSTRS) " " " " 2
  108. C
  109. C-----------------------------------------------------------------------
  110. C 20/09/2017 : modif SG critere de convergence trop serre
  111. C TEST=PETI*APHI0 + utilisation CCREEL
  112. C idem ccoin0.eso
  113.  
  114. IMPLICIT INTEGER(I-N)
  115. IMPLICIT REAL*8(A-H,O-Z)
  116.  
  117. -INC PPARAM
  118. -INC CCOPTIO
  119. -INC CCREEL
  120. DIMENSION SIG0(*),SIG(130),EPS(130),SIGF(*),DEFP(*)
  121. DIMENSION DDAUX(LHOOK,*),VARIN0(*),VARINF(*),DEPST(*),TRAC(*)
  122. DIMENSION XMAT(*),VALMAT(*),VALCAR(*),DDHOMU(LHOOK,*)
  123. DIMENSION CARAC(*),DSIGT(*)
  124. DIMENSION S(8),SX(8),DS(8),DSIG(8),SPHER(8),SPHER1(8),SPHER2(8)
  125. DIMENSION DSPHER1(8),DSPHER2(8),DEPSE(8),DEPSP(8),DDEPSE(8)
  126. DIMENSION F(8),W1(8),W2(8),SIGB(8),Z1(8),DIV(8),DDA(8,8)
  127. DIMENSION TXR(IDIM,*),CRIGI(*),XLOC(3,3),XGLOB(3,3)
  128. DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*)
  129. dimension varex0(*),varexf(*)
  130. CHARACTER*8 CMATE
  131.  
  132. C-----------------------------------------------------------------------
  133. DO I=1,NSTRS
  134. S(I)=0.D0
  135. SPHER(I)=0.D0
  136. SPHER1(I)=0.D0
  137. SPHER2(I)=0.D0
  138. ENDDO
  139. KERRE=0
  140. YUNG=XMAT(1)
  141. XNU=XMAT(2)
  142.  
  143. C---------CARACTERISTIQUES GEOMETRIQUES---------------------------------
  144. C
  145. C COQUES
  146. C
  147. ALFAH=1.D0
  148. IF(MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  149. EP1=CARAC(1)
  150. IF(MFR.NE.5) ALFAH=CARAC(2)**2
  151. ENDIF
  152.  
  153. C---------COEFFICIENTS CHABOCHE-----------------------------------------
  154.  
  155. IF(INPLAS.EQ.7) THEN
  156. A1=XMAT(5)
  157. C1=XMAT(6)
  158. SI=XMAT(7)
  159. PSI=XMAT(8)
  160. OME=XMAT(9)
  161. RM=XMAT(10)
  162. B=XMAT(11)
  163. A2=0.D0
  164. C2=0.D0
  165. ELSE IF(INPLAS.EQ.12) THEN
  166. A1=XMAT(5)
  167. C1=XMAT(6)
  168. A2=XMAT(7)
  169. C2=XMAT(8)
  170. SI=XMAT(9)
  171. PSI=XMAT(10)
  172. OME=XMAT(11)
  173. RM=XMAT(12)
  174. B=XMAT(13)
  175. ELSE
  176. DO I=1,LTRAC
  177. SIG(I)=TRAC(2*I-1)
  178. EPS(I)=TRAC(2*I)
  179. ENDDO
  180. ENDIF
  181.  
  182. EPST=VARIN0(1)
  183. C---------ECROUISSAGE CINEMATIQUE---------------------------------------
  184.  
  185. IF(INPLAS.EQ.4.OR.INPLAS.EQ.7.OR.INPLAS.EQ.12) THEN
  186. DO I=1,NSTRS
  187. SPHER1(I)=VARIN0(I+1)
  188. ENDDO
  189. IF(INPLAS.EQ.12) THEN
  190. DO I=1,NSTRS
  191. SPHER2(I)=VARIN0(NSTRS+1+I)
  192. ENDDO
  193. ENDIF
  194. DO I=1,NSTRS
  195. SPHER(I)=SPHER1(I)+SPHER2(I)
  196. ENDDO
  197. ENDIF
  198. C-----------------------------------------------------------------------
  199. C PREDICTEUR ELASTIQUE
  200. C S : CONTRAINTE
  201. C SPHER : VARIABLE D'ECROUISSAGE CINEMATIQUE
  202. C SX = S - X
  203. C-----------------------------------------------------------------------
  204.  
  205. * en elastique non lineaire on annule les contraintes initiales
  206. * mais on cumule les epsilons elastiques
  207. IF(INPLAS.EQ.87) THEN
  208. EPST=0.D0
  209. DO I=1,NSTRS
  210. SIG0(I)=0.D0
  211. DEPST(I)=DEPST(I) + VARIN0(I+1)
  212. ENDDO
  213. ENDIF
  214.  
  215. CALL CALSIG(DEPST,DDAUX,NSTRS,CMATE,VALMAT,VALCAR,
  216. & N2EL,N2PTEL,MFR,IFOURB,IB,IGAU,EPAIST,
  217. & NBPGAU,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,
  218. & XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD)
  219.  
  220. IF(IRTD.NE.1) THEN
  221. KERRE=69
  222. GOTO 1000
  223. ENDIF
  224.  
  225. DO I=1,NSTRS
  226. S(I)=SIG0(I)+DSIGT(I)
  227. SIGB(I)=S(I)
  228. SX(I)=S(I)-SPHER(I)
  229.  
  230. ENDDO
  231. C---------COQUES AVEC CT------------------------------------------------
  232. C ON NE TRAVAILLE QUE SUR LES 6 PREMIERES COMPOSANTES
  233.  
  234. IF(MFR.EQ.9) THEN
  235. NCONT=6
  236. ELSE
  237. NCONT=NSTRS
  238. ENDIF
  239.  
  240. C---------CAS DES POUTRES-----------------------------------------------
  241.  
  242. IF(MFR.EQ.7) THEN
  243. DIV(1)=1.D0/CARAC(4)
  244. DIV(2)=1.D0
  245. DIV(3)=1.D0
  246. DIV(4)=CARAC(10)/CARAC(1)
  247. DIV(5)=CARAC(11)/CARAC(2)
  248. DIV(6)=CARAC(12)/CARAC(3)
  249. IF(DIV(4).EQ.0.D0) DIV(4)=1.D-10/SQRT(CARAC(1)*CARAC(4))
  250. IF(DIV(5).EQ.0.D0) DIV(5)=1.D-10/SQRT(CARAC(2)*CARAC(4))
  251. IF(DIV(6).EQ.0.D0) DIV(6)=1.D-10/SQRT(CARAC(3)*CARAC(4))
  252. DO I=1,NCONT
  253. S(I)=S(I)*DIV(I)
  254. SX(I)=SX(I)*DIV(I)
  255. ENDDO
  256. ENDIF
  257.  
  258. C-----------------------------------------------------------------------
  259. C CALCUL DE LA LIMITE ELASTIQUE SI
  260. C-----------------------------------------------------------------------
  261.  
  262. IF(INPLAS.EQ.1.OR.INPLAS.EQ.4) THEN
  263. SI=TRAC(1)
  264. ELSE IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
  265. CALL TRACTI(SI,EPST,SIG,EPS,LTRAC,2,IBI)
  266. IF(IBI.EQ.1) THEN
  267. KERRE=75
  268. GOTO 1000
  269. ENDIF
  270. ENDIF
  271.  
  272. C-----------------------------------------------------------------------
  273. C CALCUL DE LA CONTRAINTE EQUIVALENTE SEQ
  274. C-----------------------------------------------------------------------
  275.  
  276. SEQ=VONMIS0(SX,NSTRS,MFR,IFOURB,EP1,ALFAH)
  277.  
  278. C-----------------------------------------------------------------------
  279. C LE CRITERE EST-IL VERIFIE
  280. C-----------------------------------------------------------------------
  281.  
  282. PHI=SEQ-SI
  283. NITER=0
  284. PETI=1.1D0*0.5D0*PRECIS*SEQ
  285. CALL EPSPRE(SEQ,SI,PETI,ITRY)
  286. IF((ITRY.EQ.1).OR.(SEQ.LE.SI)) THEN
  287.  
  288. IF(MFR.EQ.7) THEN
  289. DO I=1,NCONT
  290. S(I)=S(I)/DIV(I)
  291. ENDDO
  292. ENDIF
  293. DO I=1,NCONT
  294. SIGF(I)=S(I)
  295. DEFP(I)=0.D0
  296. ENDDO
  297. IF(MFR.EQ.9) THEN
  298. DEFP(7)=0.D0
  299. DEFP(8)=0.D0
  300. SIGF(7)=S(7)
  301. SIGF(8)=S(8)
  302. ENDIF
  303.  
  304. VARINF(1)=VARIN0(1)
  305. IF(INPLAS.EQ.4.OR.INPLAS.EQ.7) THEN
  306. DO I=1,NSTRS
  307. VARINF(I+1)=VARIN0(I+1)
  308. ENDDO
  309. ELSE IF(INPLAS.EQ.12) THEN
  310. DO I=1,2*NSTRS
  311. VARINF(I+1)=VARIN0(I+1)
  312. ENDDO
  313. ELSE IF(INPLAS.EQ.87) THEN
  314. DO I=1,NSTRS
  315. VARINF(I+1)=DEPST(I)
  316. ENDDO
  317. ENDIF
  318. RETURN
  319. ENDIF
  320. 231 CONTINUE
  321. C-----------------------------------------------------------------------
  322. C ON A PLASTIFIE
  323. C-----------------------------------------------------------------------
  324.  
  325. PHI0=PHI
  326. SI0=SI
  327. RR=0.D0
  328.  
  329. DO I=1,NCONT
  330. DSIG(I)=0.D0
  331. DEPSP(I)=0.D0
  332. DSPHER1(I)=0.D0
  333. DSPHER2(I)=0.D0
  334. ENDDO
  335.  
  336. C-----------------------------------------------------------------------
  337. C DEBUT DE LA BOUCLE D'ITERATIONS INTERNES
  338. C-----------------------------------------------------------------------
  339.  
  340. 10 NITER=NITER+1
  341.  
  342. C---------CALCUL DE W1=DF/D(SIGMA)--------------------------------------
  343.  
  344. C---------ELEMENTS MASSIFS----------------------------------------------
  345.  
  346. IF(MFR.EQ.1) THEN
  347.  
  348. F(1)=(2.D0*SX(1)-SX(2)-SX(3))/3.D0
  349. F(2)=(2.D0*SX(2)-SX(1)-SX(3))/3.D0
  350. F(3)=(2.D0*SX(3)-SX(1)-SX(2))/3.D0
  351. DO I=4,NSTRS
  352. F(I)=SX(I)
  353. ENDDO
  354. DO I=1,3
  355. W1(I)=1.5D0*F(I)/SEQ
  356. Z1(I)=W1(I)
  357. ENDDO
  358. DO I=4,NSTRS
  359. W1(I)=3.D0*F(I)/SEQ
  360. Z1(I)=1.5D0*F(I)/SEQ
  361. ENDDO
  362.  
  363. C---------COQUES MINCES-------------------------------------------------
  364.  
  365. ELSE IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
  366.  
  367. AUX=EP1*EP1*EP1*EP1
  368.  
  369. IF(IFOURB.GE.1) THEN
  370. W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1)
  371. W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1)
  372. W1(3)=3.D0*SX(3)/(SEQ*EP1*EP1)
  373. W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(5))/(SEQ*AUX)
  374. W1(5)=18.D0*ALFAH*(2.D0*SX(5)-SX(4))/(SEQ*AUX)
  375. W1(6)=108.D0*ALFAH*SX(6)/(SEQ*AUX)
  376. ELSE
  377. W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1)
  378. W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1)
  379. W1(3)=18.D0*ALFAH*(2.D0*SX(3)-SX(4))/(SEQ*AUX)
  380. W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(3))/(SEQ*AUX)
  381. ENDIF
  382.  
  383. C---------COQUES EPAISSES-----------------------------------------------
  384.  
  385. ELSE IF(MFR.EQ.5) THEN
  386. F(1)=(2.D0*SX(1)-SX(2))/3.D0
  387. F(2)=(2.D0*SX(2)-SX(1))/3.D0
  388. DO I=3,5
  389. F(I)=SX(I)
  390. ENDDO
  391. DO I=1,2
  392. W1(I)=1.5D0*F(I)/SEQ
  393. Z1(I)=W1(I)
  394. ENDDO
  395. DO I=3,5
  396. W1(I)=3.D0*F(I)/SEQ
  397. Z1(I)=1.5D0*F(I)/SEQ
  398. ENDDO
  399.  
  400. C---------POUTRES-------------------------------------------------------
  401.  
  402. ELSE IF(MFR.EQ.7) THEN
  403.  
  404. DO I=1,NCONT
  405. DO J=1,NCONT
  406. DDA(I,J)=0.D0
  407. ENDDO
  408. ENDDO
  409. DDA(1,1)=YUNG
  410. DDA(4,4)=0.5D0*YUNG/(1.D0+XNU)
  411. DDA(5,5)=YUNG
  412. DDA(6,6)=YUNG
  413.  
  414. W1(1)=SX(1)/SEQ
  415. W1(2)=0.D0
  416. W1(3)=0.D0
  417. W1(4)=SX(4)/SEQ
  418. W1(5)=SX(5)/SEQ
  419. W1(6)=SX(6)/SEQ
  420. ENDIF
  421.  
  422. IF(MFR.EQ.7) THEN
  423. DO I=1,NCONT
  424. W2(I)=0.D0
  425. DO J=1,NCONT
  426. W2(I)=W2(I)+DDA(I,J)*W1(J)
  427. ENDDO
  428. ENDDO
  429. ELSE
  430. DO I=1,NCONT
  431. W2(I)=0.D0
  432. DO J=1,NCONT
  433. W2(I)=W2(I)+DDAUX(I,J)*W1(J)
  434. ENDDO
  435. ENDDO
  436. ENDIF
  437.  
  438. COEF=0.D0
  439. DO I=1,NCONT
  440. COEF=COEF+W1(I)*W2(I)
  441. ENDDO
  442.  
  443. C-----------------------------------------------------------------------
  444. C PLASTICITE PARFAITE, ECROUISSAGE ISOTROPE ET CINEMATIQUE ZIEGLER
  445. C-----------------------------------------------------------------------
  446.  
  447. IF(INPLAS.EQ.1.OR.INPLAS.EQ.4.OR.INPLAS.EQ.5
  448. $ .OR.INPLAS.EQ.87) THEN
  449. CALL TRACTI(PENTE,EPST,SIG,EPS,LTRAC,1,IBI)
  450. * WRITE(6,*) ' pente epst', pente,epst
  451. IF(IBI.EQ.1) THEN
  452. KERRE=75
  453. GOTO 1000
  454. ENDIF
  455.  
  456. IF(INPLAS.EQ.1) THEN
  457. RP=0.D0
  458. C=0.D0
  459. ELSE IF(INPLAS.EQ.4) THEN
  460. RP=0.D0
  461. ELSE IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
  462. RP=PENTE
  463. C=0.D0
  464. ENDIF
  465.  
  466. IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
  467. DENOM=COEF+C+(RP/EP1)
  468. ELSE
  469. DENOM=COEF+C+RP
  470. ENDIF
  471.  
  472. DELTA=PHI/DENOM
  473. DMU=C*DELTA/SEQ
  474.  
  475. DO I=1,NCONT
  476. DSIG(I)=-DELTA*W2(I)
  477. DSPHER1(I)=DMU*SX(I)
  478. ENDDO
  479. IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
  480. DP=DELTA/EP1
  481. ELSE
  482. DP=DELTA
  483. ENDIF
  484. DR=RP*DP
  485.  
  486. ELSE
  487.  
  488. C-----------------------------------------------------------------------
  489. C MODELE DE CHABOCHE
  490. C-----------------------------------------------------------------------
  491.  
  492. C---------UNIQUEMENT POUR LES ELEMENTS MASSIFS--------------------------
  493.  
  494. XPRO1=0.D0
  495. XPRO2=0.D0
  496. DO I=1,NCONT
  497. XPRO1=XPRO1+W1(I)*SPHER1(I)
  498. XPRO2=XPRO2+W1(I)*SPHER2(I)
  499. ENDDO
  500.  
  501. FIP=1.D0+(PSI-1.D0)*EXP(-OME*EPST)
  502.  
  503. DENOM=COEF+(A1*C1+A2*C2)*FIP-C1*XPRO1-C2*XPRO2+B*(RM-RR)
  504. DELTA=PHI/DENOM
  505.  
  506. DO I=1,NCONT
  507. DSIG(I)=-DELTA*W2(I)
  508. DSPHER1(I)=(2.D0*A1*FIP*Z1(I)/3.D0-SPHER1(I))*C1*DELTA
  509. DSPHER2(I)=(2.D0*A2*FIP*Z1(I)/3.D0-SPHER2(I))*C2*DELTA
  510. ENDDO
  511.  
  512. DR=B*(RM-RR)*DELTA
  513. DP=DELTA
  514. ENDIF
  515.  
  516. RR=RR+DR
  517. EPST=EPST+DP
  518. DO I=1,NCONT
  519. S(I)=S(I)+DSIG(I)
  520. SPHER1(I)=SPHER1(I)+DSPHER1(I)
  521. SPHER2(I)=SPHER2(I)+DSPHER2(I)
  522. SPHER(I)=SPHER1(I)+SPHER2(I)
  523. SX(I)=S(I)-SPHER(I)
  524. ENDDO
  525.  
  526. SEQ=VONMIS0(SX,NSTRS,MFR,IFOURB,EP1,ALFAH)
  527.  
  528. C---------CONTRAINTES PLANES--------------------------------------------
  529.  
  530. IF(IFOURB.EQ.-2) THEN
  531.  
  532. IF(MFR.EQ.1) THEN
  533. F(1)=(2.D0*SX(1)-SX(2)-SX(3))/3.D0
  534. F(2)=(2.D0*SX(2)-SX(1)-SX(3))/3.D0
  535. F(3)=(2.D0*SX(3)-SX(1)-SX(2))/3.D0
  536. DO I=4,NSTRS
  537. F(I)=SX(I)
  538. ENDDO
  539. DO I=1,3
  540. W1(I)=1.5D0*F(I)/SEQ
  541. ENDDO
  542. DO I=4,NSTRS
  543. W1(I)=3.D0*F(I)/SEQ
  544. ENDDO
  545. ELSE IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
  546. AUX=EP1*EP1*EP1*EP1
  547. W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1)
  548. W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1)
  549. W1(3)=18.D0*ALFAH*(2.D0*SX(3)-SX(4))/(SEQ*AUX)
  550. W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(3))/(SEQ*AUX)
  551. ENDIF
  552.  
  553. DO I=1,NSTRS
  554. DEPSP(I)=DEPSP(I)+DELTA*W1(I)
  555. ENDDO
  556. ENDIF
  557.  
  558. C-----------------------------------------------------------------------
  559. C TEST
  560. C CALCUL DE LA NOUVELLE VALEUR DE PHI
  561. C-----------------------------------------------------------------------
  562. IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
  563. CALL TRACTI(SI,EPST,SIG,EPS,LTRAC,2,IBI)
  564. ELSE
  565. SI=RR+SI0
  566. ENDIF
  567. PHI=SEQ-SI
  568.  
  569. PETI=1.D-7
  570. APHI=ABS(PHI)
  571. APHI0=ABS(PHI0)
  572. *sg TEST=PETI*APHI0
  573. TEST=max(PETI*APHI0,XZPREC*100.D0*SEQ)
  574.  
  575. IF(NITER.GT.50) THEN
  576. KERRE=2
  577. GO TO 1000
  578. ENDIF
  579.  
  580. IF(APHI.LE.TEST) THEN
  581.  
  582. IF(MFR.EQ.7) THEN
  583. DO I=1,NCONT
  584. S(I)=S(I)/DIV(I)
  585. ENDDO
  586. ENDIF
  587.  
  588. C---------TOUTES FORMULATIONS SAUF CONTRAINTES PLANES-------------------
  589.  
  590. IF(IFOURB.NE.-2) THEN
  591. DO I=1,NCONT
  592. DS(I)=S(I)-SIGB(I)
  593. ENDDO
  594. CALL EPSIG0(DS,DDEPSE,MFR,IFOURB,YUNG,XNU,CARAC,NSTRS)
  595. DO I=1,NCONT
  596. DEPSE(I)=DEPST(I)+DDEPSE(I)
  597. DEPSP(I)=DEPST(I)-DEPSE(I)
  598. ENDDO
  599. ENDIF
  600.  
  601. DO I=1,NSTRS
  602. SIGF(I)=S(I)
  603. DEFP(I)=DEPSP(I)
  604. ENDDO
  605.  
  606. C---------COQUES AVEC CISAILLEMENT TRANSVERSE---------------------------
  607.  
  608. IF(MFR.EQ.9) THEN
  609. DEFP(7)=0.D0
  610. DEFP(8)=0.D0
  611. SIGF(7)=SIGB(7)
  612. SIGF(8)=SIGB(8)
  613. ENDIF
  614.  
  615. VARINF(1)=EPST
  616. IF(INPLAS.EQ.4.OR.INPLAS.EQ.7.OR.INPLAS.EQ.12) THEN
  617. DO I=1,NSTRS
  618. VARINF(I+1)=SPHER1(I)
  619. ENDDO
  620. IF(INPLAS.EQ.12) THEN
  621. DO I=1,NSTRS
  622. VARINF(NSTRS+1+I)=SPHER2(I)
  623. ENDDO
  624. ENDIF
  625. ENDIF
  626. IF(INPLAS.EQ.87) THEN
  627. DO I=1,NSTRS
  628. VARINF(1+I)=DEPST(I)
  629. ENDDO
  630. * WRITE(6,*) ' sortie ecoin0'
  631. * WRITE(6,*) 'depst',(depst(I),i=1,nstrs)
  632. * WRITE(6,*) 'depsp',(depsp(i),i=1,nstrs)
  633. ENDIF
  634. KERRE=0
  635. RETURN
  636.  
  637. ELSE
  638. GOTO 10
  639. ENDIF
  640. C ENDIF
  641. 1000 RETURN
  642. END
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  

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