Télécharger ecoin0.eso

Retour à la liste

Numérotation des lignes :

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

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