Télécharger ecoin0.eso

Retour à la liste

Numérotation des lignes :

  1. C ECOIN0 SOURCE GOUNAND 17/09/21 21:15:04 9553
  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. -INC CCOPTIO
  117. -INC CCREEL
  118. DIMENSION SIG0(*),SIG(130),EPS(130),SIGF(*),DEFP(*)
  119. DIMENSION DDAUX(LHOOK,*),VARIN0(*),VARINF(*),DEPST(*),TRAC(*)
  120. DIMENSION XMAT(*),VALMAT(*),VALCAR(*),DDHOMU(LHOOK,*)
  121. DIMENSION CARAC(*),DSIGT(*)
  122. DIMENSION S(8),SX(8),DS(8),DSIG(8),SPHER(8),SPHER1(8),SPHER2(8)
  123. DIMENSION DSPHER1(8),DSPHER2(8),DEPSE(8),DEPSP(8),DDEPSE(8)
  124. DIMENSION F(8),W1(8),W2(8),SIGB(8),Z1(8),DIV(8),DDA(8,8)
  125. DIMENSION TXR(IDIM,*),CRIGI(*),XLOC(3,3),XGLOB(3,3)
  126. DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*)
  127. CHARACTER*8 CMATE
  128.  
  129. C-----------------------------------------------------------------------
  130. DO I=1,NSTRS
  131. S(I)=0.D0
  132. SPHER(I)=0.D0
  133. SPHER1(I)=0.D0
  134. SPHER2(I)=0.D0
  135. ENDDO
  136. KERRE=0
  137. YUNG=XMAT(1)
  138. XNU=XMAT(2)
  139.  
  140. C---------CARACTERISTIQUES GEOMETRIQUES---------------------------------
  141. C
  142. C COQUES
  143. C
  144. ALFAH=1.D0
  145. IF(MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  146. EP1=CARAC(1)
  147. IF(MFR.NE.5) ALFAH=CARAC(2)**2
  148. ENDIF
  149.  
  150. C---------COEFFICIENTS CHABOCHE-----------------------------------------
  151.  
  152. IF(INPLAS.EQ.7) THEN
  153. A1=XMAT(5)
  154. C1=XMAT(6)
  155. SI=XMAT(7)
  156. PSI=XMAT(8)
  157. OME=XMAT(9)
  158. RM=XMAT(10)
  159. B=XMAT(11)
  160. A2=0.D0
  161. C2=0.D0
  162. ELSE IF(INPLAS.EQ.12) THEN
  163. A1=XMAT(5)
  164. C1=XMAT(6)
  165. A2=XMAT(7)
  166. C2=XMAT(8)
  167. SI=XMAT(9)
  168. PSI=XMAT(10)
  169. OME=XMAT(11)
  170. RM=XMAT(12)
  171. B=XMAT(13)
  172. ELSE
  173. DO I=1,LTRAC
  174. SIG(I)=TRAC(2*I-1)
  175. EPS(I)=TRAC(2*I)
  176. ENDDO
  177. ENDIF
  178.  
  179. EPST=VARIN0(1)
  180. C---------ECROUISSAGE CINEMATIQUE---------------------------------------
  181.  
  182. IF(INPLAS.EQ.4.OR.INPLAS.EQ.7.OR.INPLAS.EQ.12) THEN
  183. DO I=1,NSTRS
  184. SPHER1(I)=VARIN0(I+1)
  185. ENDDO
  186. IF(INPLAS.EQ.12) THEN
  187. DO I=1,NSTRS
  188. SPHER2(I)=VARIN0(NSTRS+1+I)
  189. ENDDO
  190. ENDIF
  191. DO I=1,NSTRS
  192. SPHER(I)=SPHER1(I)+SPHER2(I)
  193. ENDDO
  194. ENDIF
  195. C-----------------------------------------------------------------------
  196. C PREDICTEUR ELASTIQUE
  197. C S : CONTRAINTE
  198. C SPHER : VARIABLE D'ECROUISSAGE CINEMATIQUE
  199. C SX = S - X
  200. C-----------------------------------------------------------------------
  201.  
  202. * en elastique non lineaire on annule les contraintes initiales
  203. * mais on cumule les epsilons elastiques
  204. IF(INPLAS.EQ.87) THEN
  205. EPST=0.D0
  206. DO I=1,NSTRS
  207. SIG0(I)=0.D0
  208. DEPST(I)=DEPST(I) + VARIN0(I+1)
  209. ENDDO
  210. ENDIF
  211.  
  212. CALL CALSIG(DEPST,DDAUX,NSTRS,CMATE,VALMAT,VALCAR,
  213. & N2EL,N2PTEL,MFR,IFOURB,IB,IGAU,EPAIST,
  214. & NBPGAU,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,
  215. & XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD)
  216.  
  217. IF(IRTD.NE.1) THEN
  218. KERRE=69
  219. GOTO 1000
  220. ENDIF
  221.  
  222. DO I=1,NSTRS
  223. S(I)=SIG0(I)+DSIGT(I)
  224. SIGB(I)=S(I)
  225. SX(I)=S(I)-SPHER(I)
  226.  
  227. ENDDO
  228. C---------COQUES AVEC CT------------------------------------------------
  229. C ON NE TRAVAILLE QUE SUR LES 6 PREMIERES COMPOSANTES
  230.  
  231. IF(MFR.EQ.9) THEN
  232. NCONT=6
  233. ELSE
  234. NCONT=NSTRS
  235. ENDIF
  236.  
  237. C---------CAS DES POUTRES-----------------------------------------------
  238.  
  239. IF(MFR.EQ.7) THEN
  240. DIV(1)=1.D0/CARAC(4)
  241. DIV(2)=1.D0
  242. DIV(3)=1.D0
  243. DIV(4)=CARAC(10)/CARAC(1)
  244. DIV(5)=CARAC(11)/CARAC(2)
  245. DIV(6)=CARAC(12)/CARAC(3)
  246. IF(DIV(4).EQ.0.D0) DIV(4)=1.D-10/SQRT(CARAC(1)*CARAC(4))
  247. IF(DIV(5).EQ.0.D0) DIV(5)=1.D-10/SQRT(CARAC(2)*CARAC(4))
  248. IF(DIV(6).EQ.0.D0) DIV(6)=1.D-10/SQRT(CARAC(3)*CARAC(4))
  249. DO I=1,NCONT
  250. S(I)=S(I)*DIV(I)
  251. SX(I)=SX(I)*DIV(I)
  252. ENDDO
  253. ENDIF
  254.  
  255. C-----------------------------------------------------------------------
  256. C CALCUL DE LA LIMITE ELASTIQUE SI
  257. C-----------------------------------------------------------------------
  258.  
  259. IF(INPLAS.EQ.1.OR.INPLAS.EQ.4) THEN
  260. SI=TRAC(1)
  261. ELSE IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
  262. CALL TRACTI(SI,EPST,SIG,EPS,LTRAC,2,IBI)
  263. IF(IBI.EQ.1) THEN
  264. KERRE=75
  265. GOTO 1000
  266. ENDIF
  267. ENDIF
  268.  
  269. C-----------------------------------------------------------------------
  270. C CALCUL DE LA CONTRAINTE EQUIVALENTE SEQ
  271. C-----------------------------------------------------------------------
  272.  
  273. SEQ=VONMIS0(SX,NSTRS,MFR,IFOURB,EP1,ALFAH)
  274.  
  275. C-----------------------------------------------------------------------
  276. C LE CRITERE EST-IL VERIFIE
  277. C-----------------------------------------------------------------------
  278.  
  279. PHI=SEQ-SI
  280. NITER=0
  281. PETI=1.1D0*0.5D0*PRECIS*SEQ
  282. CALL EPSPRE(SEQ,SI,PETI,ITRY)
  283. IF((ITRY.EQ.1).OR.(SEQ.LE.SI)) THEN
  284.  
  285. IF(MFR.EQ.7) THEN
  286. DO I=1,NCONT
  287. S(I)=S(I)/DIV(I)
  288. ENDDO
  289. ENDIF
  290. DO I=1,NCONT
  291. SIGF(I)=S(I)
  292. DEFP(I)=0.D0
  293. ENDDO
  294. IF(MFR.EQ.9) THEN
  295. DEFP(7)=0.D0
  296. DEFP(8)=0.D0
  297. SIGF(7)=S(7)
  298. SIGF(8)=S(8)
  299. ENDIF
  300.  
  301. VARINF(1)=VARIN0(1)
  302. IF(INPLAS.EQ.4.OR.INPLAS.EQ.7) THEN
  303. DO I=1,NSTRS
  304. VARINF(I+1)=VARIN0(I+1)
  305. ENDDO
  306. ELSE IF(INPLAS.EQ.12) THEN
  307. DO I=1,2*NSTRS
  308. VARINF(I+1)=VARIN0(I+1)
  309. ENDDO
  310. ELSE IF(INPLAS.EQ.87) THEN
  311. DO I=1,NSTRS
  312. VARINF(I+1)=DEPST(I)
  313. ENDDO
  314. ENDIF
  315. RETURN
  316. ENDIF
  317. 231 CONTINUE
  318. C-----------------------------------------------------------------------
  319. C ON A PLASTIFIE
  320. C-----------------------------------------------------------------------
  321.  
  322. PHI0=PHI
  323. SI0=SI
  324. RR=0.D0
  325.  
  326. DO I=1,NCONT
  327. DSIG(I)=0.D0
  328. DEPSP(I)=0.D0
  329. DSPHER1(I)=0.D0
  330. DSPHER2(I)=0.D0
  331. ENDDO
  332.  
  333. C-----------------------------------------------------------------------
  334. C DEBUT DE LA BOUCLE D'ITERATIONS INTERNES
  335. C-----------------------------------------------------------------------
  336.  
  337. 10 NITER=NITER+1
  338.  
  339. C---------CALCUL DE W1=DF/D(SIGMA)--------------------------------------
  340.  
  341. C---------ELEMENTS MASSIFS----------------------------------------------
  342.  
  343. IF(MFR.EQ.1) THEN
  344.  
  345. F(1)=(2.D0*SX(1)-SX(2)-SX(3))/3.D0
  346. F(2)=(2.D0*SX(2)-SX(1)-SX(3))/3.D0
  347. F(3)=(2.D0*SX(3)-SX(1)-SX(2))/3.D0
  348. DO I=4,NSTRS
  349. F(I)=SX(I)
  350. ENDDO
  351. DO I=1,3
  352. W1(I)=1.5D0*F(I)/SEQ
  353. Z1(I)=W1(I)
  354. ENDDO
  355. DO I=4,NSTRS
  356. W1(I)=3.D0*F(I)/SEQ
  357. Z1(I)=1.5D0*F(I)/SEQ
  358. ENDDO
  359.  
  360. C---------COQUES MINCES-------------------------------------------------
  361.  
  362. ELSE IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
  363.  
  364. AUX=EP1*EP1*EP1*EP1
  365.  
  366. IF(IFOURB.GE.1) THEN
  367. W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1)
  368. W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1)
  369. W1(3)=3.D0*SX(3)/(SEQ*EP1*EP1)
  370. W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(5))/(SEQ*AUX)
  371. W1(5)=18.D0*ALFAH*(2.D0*SX(5)-SX(4))/(SEQ*AUX)
  372. W1(6)=108.D0*ALFAH*SX(6)/(SEQ*AUX)
  373. ELSE
  374. W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1)
  375. W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1)
  376. W1(3)=18.D0*ALFAH*(2.D0*SX(3)-SX(4))/(SEQ*AUX)
  377. W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(3))/(SEQ*AUX)
  378. ENDIF
  379.  
  380. C---------COQUES EPAISSES-----------------------------------------------
  381.  
  382. ELSE IF(MFR.EQ.5) THEN
  383. F(1)=(2.D0*SX(1)-SX(2))/3.D0
  384. F(2)=(2.D0*SX(2)-SX(1))/3.D0
  385. DO I=3,5
  386. F(I)=SX(I)
  387. ENDDO
  388. DO I=1,2
  389. W1(I)=1.5D0*F(I)/SEQ
  390. Z1(I)=W1(I)
  391. ENDDO
  392. DO I=3,5
  393. W1(I)=3.D0*F(I)/SEQ
  394. Z1(I)=1.5D0*F(I)/SEQ
  395. ENDDO
  396.  
  397. C---------POUTRES-------------------------------------------------------
  398.  
  399. ELSE IF(MFR.EQ.7) THEN
  400.  
  401. DO I=1,NCONT
  402. DO J=1,NCONT
  403. DDA(I,J)=0.D0
  404. ENDDO
  405. ENDDO
  406. DDA(1,1)=YUNG
  407. DDA(4,4)=0.5D0*YUNG/(1.D0+XNU)
  408. DDA(5,5)=YUNG
  409. DDA(6,6)=YUNG
  410.  
  411. W1(1)=SX(1)/SEQ
  412. W1(2)=0.D0
  413. W1(3)=0.D0
  414. W1(4)=SX(4)/SEQ
  415. W1(5)=SX(5)/SEQ
  416. W1(6)=SX(6)/SEQ
  417. ENDIF
  418.  
  419. IF(MFR.EQ.7) THEN
  420. DO I=1,NCONT
  421. W2(I)=0.D0
  422. DO J=1,NCONT
  423. W2(I)=W2(I)+DDA(I,J)*W1(J)
  424. ENDDO
  425. ENDDO
  426. ELSE
  427. DO I=1,NCONT
  428. W2(I)=0.D0
  429. DO J=1,NCONT
  430. W2(I)=W2(I)+DDAUX(I,J)*W1(J)
  431. ENDDO
  432. ENDDO
  433. ENDIF
  434.  
  435. COEF=0.D0
  436. DO I=1,NCONT
  437. COEF=COEF+W1(I)*W2(I)
  438. ENDDO
  439.  
  440. C-----------------------------------------------------------------------
  441. C PLASTICITE PARFAITE, ECROUISSAGE ISOTROPE ET CINEMATIQUE ZIEGLER
  442. C-----------------------------------------------------------------------
  443.  
  444. IF(INPLAS.EQ.1.OR.INPLAS.EQ.4.OR.INPLAS.EQ.5
  445. $ .OR.INPLAS.EQ.87) THEN
  446. CALL TRACTI(PENTE,EPST,SIG,EPS,LTRAC,1,IBI)
  447. * WRITE(6,*) ' pente epst', pente,epst
  448. IF(IBI.EQ.1) THEN
  449. KERRE=75
  450. GOTO 1000
  451. ENDIF
  452.  
  453. IF(INPLAS.EQ.1) THEN
  454. RP=0.D0
  455. C=0.D0
  456. ELSE IF(INPLAS.EQ.4) THEN
  457. RP=0.D0
  458. ELSE IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
  459. RP=PENTE
  460. C=0.D0
  461. ENDIF
  462.  
  463. IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
  464. DENOM=COEF+C+(RP/EP1)
  465. ELSE
  466. DENOM=COEF+C+RP
  467. ENDIF
  468.  
  469. DELTA=PHI/DENOM
  470. DMU=C*DELTA/SEQ
  471.  
  472. DO I=1,NCONT
  473. DSIG(I)=-DELTA*W2(I)
  474. DSPHER1(I)=DMU*SX(I)
  475. ENDDO
  476. IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
  477. DP=DELTA/EP1
  478. ELSE
  479. DP=DELTA
  480. ENDIF
  481. DR=RP*DP
  482.  
  483. ELSE
  484.  
  485. C-----------------------------------------------------------------------
  486. C MODELE DE CHABOCHE
  487. C-----------------------------------------------------------------------
  488.  
  489. C---------UNIQUEMENT POUR LES ELEMENTS MASSIFS--------------------------
  490.  
  491. XPRO1=0.D0
  492. XPRO2=0.D0
  493. DO I=1,NCONT
  494. XPRO1=XPRO1+W1(I)*SPHER1(I)
  495. XPRO2=XPRO2+W1(I)*SPHER2(I)
  496. ENDDO
  497.  
  498. FIP=1.D0+(PSI-1.D0)*EXP(-OME*EPST)
  499.  
  500. DENOM=COEF+(A1*C1+A2*C2)*FIP-C1*XPRO1-C2*XPRO2+B*(RM-RR)
  501. DELTA=PHI/DENOM
  502.  
  503. DO I=1,NCONT
  504. DSIG(I)=-DELTA*W2(I)
  505. DSPHER1(I)=(2.D0*A1*FIP*Z1(I)/3.D0-SPHER1(I))*C1*DELTA
  506. DSPHER2(I)=(2.D0*A2*FIP*Z1(I)/3.D0-SPHER2(I))*C2*DELTA
  507. ENDDO
  508.  
  509. DR=B*(RM-RR)*DELTA
  510. DP=DELTA
  511. ENDIF
  512.  
  513. RR=RR+DR
  514. EPST=EPST+DP
  515. DO I=1,NCONT
  516. S(I)=S(I)+DSIG(I)
  517. SPHER1(I)=SPHER1(I)+DSPHER1(I)
  518. SPHER2(I)=SPHER2(I)+DSPHER2(I)
  519. SPHER(I)=SPHER1(I)+SPHER2(I)
  520. SX(I)=S(I)-SPHER(I)
  521. ENDDO
  522.  
  523. SEQ=VONMIS0(SX,NSTRS,MFR,IFOURB,EP1,ALFAH)
  524.  
  525. C---------CONTRAINTES PLANES--------------------------------------------
  526.  
  527. IF(IFOURB.EQ.-2) THEN
  528.  
  529. IF(MFR.EQ.1) THEN
  530. F(1)=(2.D0*SX(1)-SX(2)-SX(3))/3.D0
  531. F(2)=(2.D0*SX(2)-SX(1)-SX(3))/3.D0
  532. F(3)=(2.D0*SX(3)-SX(1)-SX(2))/3.D0
  533. DO I=4,NSTRS
  534. F(I)=SX(I)
  535. ENDDO
  536. DO I=1,3
  537. W1(I)=1.5D0*F(I)/SEQ
  538. ENDDO
  539. DO I=4,NSTRS
  540. W1(I)=3.D0*F(I)/SEQ
  541. ENDDO
  542. ELSE IF(MFR.EQ.3.OR.MFR.EQ.9) THEN
  543. AUX=EP1*EP1*EP1*EP1
  544. W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1)
  545. W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1)
  546. W1(3)=18.D0*ALFAH*(2.D0*SX(3)-SX(4))/(SEQ*AUX)
  547. W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(3))/(SEQ*AUX)
  548. ENDIF
  549.  
  550. DO I=1,NSTRS
  551. DEPSP(I)=DEPSP(I)+DELTA*W1(I)
  552. ENDDO
  553. ENDIF
  554.  
  555. C-----------------------------------------------------------------------
  556. C TEST
  557. C CALCUL DE LA NOUVELLE VALEUR DE PHI
  558. C-----------------------------------------------------------------------
  559. IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN
  560. CALL TRACTI(SI,EPST,SIG,EPS,LTRAC,2,IBI)
  561. ELSE
  562. SI=RR+SI0
  563. ENDIF
  564. PHI=SEQ-SI
  565.  
  566. PETI=1.D-7
  567. APHI=ABS(PHI)
  568. APHI0=ABS(PHI0)
  569. *sg TEST=PETI*APHI0
  570. TEST=max(PETI*APHI0,XZPREC*100.D0*SEQ)
  571.  
  572. IF(NITER.GT.50) THEN
  573. KERRE=2
  574. GO TO 1000
  575. ENDIF
  576.  
  577. IF(APHI.LE.TEST) THEN
  578.  
  579. IF(MFR.EQ.7) THEN
  580. DO I=1,NCONT
  581. S(I)=S(I)/DIV(I)
  582. ENDDO
  583. ENDIF
  584.  
  585. C---------TOUTES FORMULATIONS SAUF CONTRAINTES PLANES-------------------
  586.  
  587. IF(IFOURB.NE.-2) THEN
  588. DO I=1,NCONT
  589. DS(I)=S(I)-SIGB(I)
  590. ENDDO
  591. CALL EPSIG0(DS,DDEPSE,MFR,IFOURB,YUNG,XNU,CARAC,NSTRS)
  592. DO I=1,NCONT
  593. DEPSE(I)=DEPST(I)+DDEPSE(I)
  594. DEPSP(I)=DEPST(I)-DEPSE(I)
  595. ENDDO
  596. ENDIF
  597.  
  598. DO I=1,NSTRS
  599. SIGF(I)=S(I)
  600. DEFP(I)=DEPSP(I)
  601. ENDDO
  602.  
  603. C---------COQUES AVEC CISAILLEMENT TRANSVERSE---------------------------
  604.  
  605. IF(MFR.EQ.9) THEN
  606. DEFP(7)=0.D0
  607. DEFP(8)=0.D0
  608. SIGF(7)=SIGB(7)
  609. SIGF(8)=SIGB(8)
  610. ENDIF
  611.  
  612. VARINF(1)=EPST
  613. IF(INPLAS.EQ.4.OR.INPLAS.EQ.7.OR.INPLAS.EQ.12) THEN
  614. DO I=1,NSTRS
  615. VARINF(I+1)=SPHER1(I)
  616. ENDDO
  617. IF(INPLAS.EQ.12) THEN
  618. DO I=1,NSTRS
  619. VARINF(NSTRS+1+I)=SPHER2(I)
  620. ENDDO
  621. ENDIF
  622. ENDIF
  623. IF(INPLAS.EQ.87) THEN
  624. DO I=1,NSTRS
  625. VARINF(1+I)=DEPST(I)
  626. ENDDO
  627. * WRITE(6,*) ' sortie ecoin0'
  628. * WRITE(6,*) 'depst',(depst(I),i=1,nstrs)
  629. * WRITE(6,*) 'depsp',(depsp(i),i=1,nstrs)
  630. ENDIF
  631. KERRE=0
  632. RETURN
  633.  
  634. ELSE
  635. GOTO 10
  636. ENDIF
  637. C ENDIF
  638. 1000 RETURN
  639. END
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  

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