Télécharger ecoinc.eso

Retour à la liste

Numérotation des lignes :

ecoinc
  1. C ECOINC SOURCE OF166741 25/11/04 21:15:45 12349
  2. SUBROUTINE ECOINC(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL,
  3. . N2PTEL,VARIN0,VAREX0,VAREXF,XMAT,PRECIS,WORK,CARAC,TRAC,
  4. . SIGF,VARINF,DEFP,KERRE, IB,IGAU,NSTRS,EPAIST,MELE,NPINT,
  5. . NBPGAU, SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK,
  6. . ROTHOO,DDHOMU,CRIGI,DSIGT,INPLAS)
  7. IMPLICIT INTEGER(I-N)
  8. IMPLICIT REAL*8(A-H,O-Z)
  9. C---------------------------------------------------------------------
  10. C ECOULEMENT PLASTIQUE POUR UN POINT
  11. C D 'APRES INCA
  12. C---------------------------------------------------------------------
  13. C
  14. C EN ENTREE :
  15. C
  16. C SIG0 CONTRAINTES AU DEBUT DU PAS
  17. C DEPST INCREMENT DE DEFORMATIONS TOTALES
  18. C ( THERMIQUE ENLEVEE )
  19. C VARIN0 VARIABLES INTERNES DEDUT DU PAS
  20. C VAREX0 VARIABLES EXTERNES DEBUT DU PAS
  21. C VAREXF VARIABLES EXTERNES FIN DU PAS
  22. C XMAT COEFFICIENTS DU MATERIAU
  23. C PRECIS PRECISION POUR ITERATIONS INTERNES
  24. C CARAC DES CARACTERISTIQUES
  25. C TRAC COURBE DE TRACTION
  26. C MFR INDICE DE FORMULATION
  27. C NSTRS NOMBRE DE CONTRAINTES CA2000
  28. C INPLAS NUMERO DU MODELE DE PLASTICITE
  29. * DDAUX = MATRICE DE HOOKE ELASTIQUE
  30. * CMATE = NOM DU MATERIAU
  31. * VALMAT= TABLEAU DE CARACTERISTIQUES DU MATERIAU
  32. * VALCAR= TABLEAU DE CARACTERISTIQUES GEOMETRIQUES
  33. * N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE
  34. * N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE
  35. * IFOU = OPTION DE CALCUL
  36. * IB = NUMERO DE L ELEMENT COURANT
  37. * IGAU = NUMERO DU POINT COURANT
  38. * EPAIST= EPAISSEUR
  39. * NBPGAU= NBRE DE POINTS DE GAUSS
  40. * MELE = NUMERO DE L ELEMENT FINI
  41. * NPINT = NBRE DE POINTS D INTEGRATION
  42. * NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES
  43. * NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES
  44. * SECT = SECTION
  45. * LHOOK = TAILLE DE LA MATRICE DE HOOKE
  46. * TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI = TABLEAUX UTILISES
  47. * UTILISES POUR LE CALCUL DE LA MATRICE DE HOOKE
  48. C
  49. C EN SORTIE :
  50. C
  51. C SIGF CONTRAINTES A LA FIN DU PAS
  52. C VARINF VARIABLES INTERNES FIN DU PAS
  53. C DEFP INCR. DE DEFORMATIONS PLASTIQUES
  54. C KERRE CODE D'ERREUR
  55. C = 0 SI TOUT OK
  56. C = 99 SI FORMULATION NON DISPONIBLE
  57. C EN PLASTICITE
  58. C = 1 SI DEPS EST NEGATIF
  59. C = 2 SI NOMBRE MAX D'ITERATIONS INTERNES DEPASSE
  60. C EN FLUAGE
  61. C = 3 DIMINUER LE PAS ( FLUAGE RUNGE )
  62. C = 4 DEPS EST NEGATIF
  63. C = 5 PAS DE CONVERGENCE INTERNE ( ANCIEN NSTOP=0 )
  64. C = 6 MATRICE SINGULIERE DANS CHAFLU
  65. C EN PLUS
  66. C = 7 PROBLEME DANS LES CARACT DU TUYAU
  67. C = 49 PB DANS LES ITER. INTERNES DRUCKER-PRAGER
  68. C = 51 PB DANS LES ITER. INTERNES DRUCKER-PRAGER
  69. C = 52 PB DANS LES ITER. INTERNES DRUCKER-PRAGER
  70. C = 53 PB DANS LES ITER. INTERNES DRUCKER-PRAGER
  71. C = 75 PB AVEC LA COURBE DE TRACTION
  72. C
  73. C-----------------------------------------------------------------------
  74. C VARIABLES PASSEES PAR LES COMMON ECOU ET NECOU
  75. C
  76. C IFOUR INDICE DU TYPE DE PROBLEME
  77. C -2 CONTRAINTES PLANES
  78. C -1 DEFORMATIONS PLANES
  79. C 0
  80. C N SERIE DE FOURIER
  81. C IMAPLA INDICE DE MATERIAU PLASTIQUE
  82. C 0 MATERIAU ELASTIQUE
  83. C 4 MODELE DE CHABOCHE
  84. C 5 MODELE DE DRUCKER-PRAGER
  85. C 7 MODELE DE ROUSSELIER
  86. C ITYP TYPE DE FORMULATION MECANIQUE
  87. C ITYP=1 CAS DES ELEMENTS MASSIFS
  88. C ITYP=2 CAS DES COQUES
  89. C ITYP=3 CAS DES MEMBRANES
  90. C ITYP=4 CAS DES CABLES ET DES BARRES
  91. C ITYP=5 CAS QUELCONQUE
  92. C ITYP=6 CAS DES CONTRAINTES PLANES
  93. C ITYP=7 CAS DES COQUES A NU=0. OU CONTRAINTES PLANES
  94. C ITYP=8 CAS DES MEMBRANES A NU=0. OU CONTRAINTES PLANES C ITYP=9 CAS DES COQUES EPAISSES
  95. C ITYP=10 CAS DES JOINTS
  96. C ITYP=11 CAS DES POUTRES
  97. C ITYP=12 CAS DES TUYAUX
  98. C ITYP=13 CAS DES COQUES AVEC CISAILLEMENT TRANSVERSE
  99. C IPLAST 1 SI ON A PLASTIFIE , 0 SINON
  100. C ICINE = 1 ECROUISSAGE CINEMATIQUE ( CHABOCHE COMPRIS )
  101. C JFLUAG = 1 ON FLUE AVEC SIGMA
  102. C JFLUAG = 2 ON FLUE AVEC (SIG-X)
  103. C LFLUAG = 0 ON ECROUIT EN CAS DE FLUAGE
  104. C LFLUAG = 1 ON N'ECROUIT PAS EN CAS DE FLUAGE
  105. C JNTRIN = 0 LE TEMPS INTRINSEQUE EST LE TEMPS REEL
  106. C JNTRIN = 1 ON EVOLUE LE TEMPS INTRINSEQUE EN PLASTICITE ET FLUAGE
  107. C JNTRIN = 2 ON N'EVOLUE LE TEMPS INTRINSEQUE QU'EN FLUAGE
  108. C JNTRIN = 3 ON EST EN PLASTICITE ISOCHRONE
  109. C
  110. C TETI = TEMPERATURE AU DEBUT DU PAS
  111. C TET = TEMPERATURE A LA FIN DU PAS
  112. C-----------------------------------------------------------------------
  113.  
  114. -INC PPARAM
  115. -INC CCOPTIO
  116. -INC CECOU
  117. COMMON/ECOU/TEST,ALFAH,
  118. 1 HPAS,TEMPS,COVNMS(6),VECPRO(9),VALPRO(6),
  119. 2 CVNMSD(12),STOT(6),SIGEL(6),DSIGP(6),SIGT(6),W1(6),W2(6),
  120. 1 DALPHA(6),EPSPLA(6),E(12),XINV(3),
  121. 2 SIPLAD(6),DSIGP0(6),TET,TETI
  122. C
  123. DIMENSION SIG0(*),DEPST(*),SIGF(*),VARIN0(*),VARINF(*),XMAT(*),
  124. . VAREX0(*),VAREXF(*),DEFP(*),CARAC(*),TRAC(*),WORK(*)
  125. DIMENSION SIGMA(6),DSIGMA(6),SPHER(6),AUXIL(6),COEF(40)
  126. DIMENSION DIV(7),SIGFIN(6),DEFPLA(6),DSIGT(*)
  127. DIMENSION TABID(6),TABID2(6)
  128. DIMENSION DDAUX(LHOOK,*),TXR(IDIM,*),CRIGI(*)
  129. DIMENSION VALMAT(*),VALCAR(*),DDHOMU(LHOOK,*)
  130. DIMENSION XLOC(3,3),XGLOB(3,3)
  131. DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*)
  132. CHARACTER*8 CMATE
  133.  
  134. REAL*8 DDOT
  135. EXTERNAL DDOT
  136. C ZZZZZZZZZZZZZZZZZZZZZZZ
  137. C DIMENSIONS A REVOIR
  138. C ZZZZZZZZZZZZZZZZZZZZZ
  139. DIMENSION DHOOK(1),SIG(130),EPS(130),EI(1)
  140. DIMENSION ORMAT(1),ANORM(1)
  141. DIMENSION DSIGZE(6),DETFNO(1)
  142. DATA ITMAX/15/
  143. DATA PI4,R33,R22/0.785398164D0,1.732050808D0,1.414213562D0/
  144. DATA A,B,C,D/.577350269D0,.7071067814D0,.4082482904D0,
  145. . -0.8164965808D0/
  146. DATA A1/1.D0/
  147. DATA A2/.5D0/
  148. DATA A3/3.D0/
  149. DATA COEF/0.D0,1.5D0,1.5D0,3.D0,3.D0,3.D0,0.5D0,1.5D0,3.D0,0.5D0,
  150. . 1.5D0,3.D0,0.D0,0.D0,1.D0,0.D0,0.D0,0.D0,1.D0,
  151. . 1.D0,1.D0,2.D0,2.D0,2.D0,0.5D0,1.5D0,0.D0,3.D0,
  152. . 1.D0,0.D0,0.D0,1.D0,1.D0,1.D0,0.5D0,1.5D0,0.D0,3.D0,3.D0,3.D0/
  153. DATA XRF/0.0001D0/
  154. C-----------------------------------------------------------------------
  155. C CONVENTION DE REMPLISSAGE DES MEMOIRES
  156. C-----------------------------------------------------------------------
  157. C
  158. C XMAT(1) MODULE D'YOUNG
  159. C XMAT(2) COEFFICIENT DE POISSON
  160. C
  161. C TRAC(1 A 2*NCOURB) COURBE DE TRACTION
  162. C CARAC( " +1) ALFAH POUR COQUES PLASTICITE GLOBALE
  163. C CARAC( " +..) DONNEES POUR CRITERE POUTRES GLOBALES
  164. C
  165. C MODELE ISOTROPE
  166. C VARIN0(1) EPS*
  167. C
  168. C MODELE CINEMATIQUE LINEAIRE
  169. C VARIN0(1) EPS*
  170. C VARIN0(2) A VARIN0(1+IBOU) DEPLACEMENT DE LA SPHERE
  171. C
  172. C MODELE CHABOCHE
  173. C XMAT(5) .... COEFFICIENTS A,C,...
  174. C VARIN0(1) EPS*
  175. C VARIN0(2) A VARIN0(1+IBOU) DEPLACEMENT DE LA SPHERE 1
  176. C VARIN0(2+IBOU) A VARIN0(1+2*IBOU) " " " " 2
  177. C ICENT2 = 1 SI ON A 2 CENTRES
  178. C
  179. C MODELE DRUCKER-PRAGER
  180. C XMAT(5) .... XMAT(13) = LES CONSTANTES DU MODELE
  181. C VARIN0(1) EPS*
  182. C
  183. C MODELE ROUSSELIER
  184. C
  185. C MODELE DE CYCLAGE
  186. C
  187. C MODELE A TEMPS INTRINSEQUE ( FLUAGE ET PLASTICITE ISOCHRONE )
  188. C VARIN0(.) TIMEXI TEMPS INTRINSEQUE DE DEBUT DE PAS
  189. C
  190. C--------------------------------------------------------------------
  191. C REMPLISSAGE
  192. C-----------------------------------------------------------------------
  193. YUNG=XMAT(1)
  194. XNU =XMAT(2)
  195. C
  196. CZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  197. C REMPLISSAGE A ACTUALISER SELON LES MODELES
  198. CZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  199. CZZZZZZZZZZZZZZZZZZZZZZ
  200. C VARIABLES A RECUPERER
  201. CZZZZZZZZZZZZZZZZZZZZZZ
  202. C ORMAT MATERIAU ORTHOTROPE DANS XMAT
  203. C ANORM A VOIR DANS XMAT OU DANS VARIN
  204. C EPENT DANS VARIN
  205. C VECPRO,VALPRO DANS XMAT
  206. C COVNMS,CVNMSD DANS XMAT ( SELON LES CAS )
  207. C
  208. C IT DANS VAREXT
  209. C EPSFLU DANS VARINT
  210. C SIG,EPS DANS XMAT
  211. C DETFNO DANS VARIN ????
  212. C DSIGZE DANS VARIN ( POUR FLUAGE RELAX )
  213. C SIPLAD DANS VARIN ( POUR FLUAGE RELAX ) ...
  214. C ... ( CE SONT LES DEFORMATIONS OU CONTRAINTES (A VOIR) PLASTIQUES
  215. C AU DEBUT DU PAS )
  216. C TEMPS , HPAS DANS VAREXT
  217. C TET,TETI DANS VAREXT
  218. C
  219. EPSM1=VARIN0(1)
  220. TIMEXI=VARIN0(1)
  221. DPSM1=VARIN0(1)
  222. DPSM2=VARIN0(1)
  223. EPENT=VARIN0(1)
  224. EPSFLU=VARIN0(1)
  225. DETFNO(1)=VARIN0(1)
  226. DSIGZE(1)=VARIN0(1)
  227. TEMPS0=VAREX0(1)
  228. IT=nint(VAREX0(3))
  229. TEMPS=VAREXF(1)
  230. TETI=VAREX0(2)
  231. TET =VAREXF(2)
  232. DO I=1,NCOURB
  233. SIG(I)=TRAC(2*I-1)
  234. EPS(I)=TRAC(2*I)
  235. ENDDO
  236. ORMAT(1)=XMAT(1)
  237. DHOOK(1)=XMAT(1)
  238. C----------------------------------------------------------------------
  239. C INITIALISATIONS
  240. C----------------------------------------------------------------------
  241. KERRE=0
  242. JA=1
  243. JC=1
  244. IA=1
  245. C
  246. C PETIT TEST SUR NU POUR CERTAINS CAS
  247. C
  248. IF(MFR.EQ.3.AND.IFOURB.EQ.-2.AND.XNU.NE.0.D0) THEN
  249. KERRE=38
  250. RETURN
  251. ENDIF
  252. CZZZZZZZZZZZZZ
  253. C PROVISOIRE
  254. CZZZZZZZZZZZZ
  255. ANORM(1)=XMAT(5)
  256. ICENT2=0
  257. IF(INPLAS.EQ.12.OR.INPLAS.EQ.13) ICENT2=1
  258. IF(INPLAS.EQ.7) NUMCHA=1
  259. IF(INPLAS.EQ.11) NUMCHA=2
  260. IF(INPLAS.EQ.12) NUMCHA=3
  261. IF(INPLAS.EQ.13) NUMCHA=4
  262. C
  263. TEST=0.5D00*PRECIS
  264. HPAS=TEMPS-TEMPS0
  265. MCOD=1
  266. *
  267. * CALCUL DE DSIGT
  268. *
  269. CALL CALSIG(DEPST,DDAUX,NSTRS,CMATE,VALMAT,VALCAR,
  270. 1 N2EL,N2PTEL,MFR,IFOURB,IB,IGAU,EPAIST,
  271. 2 NBPGAU,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,
  272. 3 XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD)
  273. *
  274. IF(IRTD.NE.1) THEN
  275. KERRE=69
  276. GOTO 1000
  277. ENDIF
  278. *
  279. * TRAITEMENT DES COQ2 ET MASSIF 2D EN CAS DE MATERIAU
  280. * UNIDIRECTIONNEL
  281. *
  282. * LES VARIABLES INTERNES SONT DANS LE REPERE UNIDIRECTIONNEL
  283. * ON SE LIMITE AU CAS AXISYMETRIQUE ?
  284. *
  285. IF (CMATE.EQ.'UNIDIREC'.AND.INPLAS.NE.0) THEN
  286. IF(MELE.EQ.44.OR.(MFR.EQ.1.AND.IFOURB.LE.0)) THEN
  287. APHI=0.D0
  288. *
  289. * CAS MASSIF : ON AJOUTE L'ANGLE DU REPERE
  290. * DE L'ELEMENT AVEC LE REPERE GLOBAL
  291. *
  292. IF(MFR.EQ.1) APHI=ATAN2(TXR(2,1),TXR(1,1))
  293. DO 1996 I=1,NSTRS
  294. TABID(I)=SIG0(I)
  295. TABID2(I)=DSIGT(I)
  296. 1996 CONTINUE
  297. ANG = ATAN2(XMAT(4),XMAT(3)) + APHI
  298. CALL CHREP2(TABID,SIG0,ANG,NSTRS,MFR,1,KERRE)
  299. CALL CHREP2(TABID2,DSIGT,ANG,NSTRS,MFR,1,KERRE)
  300. IF(KERRE.NE.0) RETURN
  301. ELSEIF(MFR.EQ.1.AND.IFOURB.EQ.2) THEN
  302. DO 996 I=1,NSTRS
  303. TABID(I)=SIG0(I)
  304. TABID2(I)=DSIGT(I)
  305. 996 CONTINUE
  306. CALL CHREP3(TABID,SIG0,XMAT,TXR,NSTRS,1,1,KERRE)
  307. CALL CHREP3(TABID2,DSIGT,XMAT,TXR,NSTRS,1,1,KERRE)
  308.  
  309. ENDIF
  310. ENDIF
  311. *
  312. iecou=0
  313. inecou=0
  314. CALL VISAVI(SIG0,DSIGT,VARIN0,SIGMA,DSIGMA,SPHER,AUXIL,
  315. . SIGF,DEFP,VARINF,SIGFIN,DEFPLA,
  316. . DSIGZE,ICENT2,MCOD,IBOU,MFR,NSTRS,CARAC,CMATE
  317. > ,iecou,inecou)
  318.  
  319. IF(ITYP.EQ.0) THEN
  320. KERRE=99
  321. RETURN
  322. ENDIF
  323. C-----------------------------------------------------------------------
  324. EI(1)=YUNG
  325. UNSYG=1.D00/YUNG
  326. U5SNU=1.5D00/(1.D00+XNU)
  327. U5DMU=U5SNU*YUNG
  328. SREF=YUNG*XRF
  329. IPLAST=0
  330. LCGDF=36
  331. LPLUS=6
  332. ITER=1
  333. LAPOIN=0
  334. C
  335. C CAS DES COQUES EN GLOBAL - ON RECUPERE LE ALFAH
  336. C
  337. ALFAH=1.D0
  338. IF(ITYP.EQ.2) ALFAH=CARAC(2)**2
  339. IF(ITYP.EQ.7) ALFAH=CARAC(2)**2
  340. UNALF=0.D0
  341. IF(ALFAH.GE.1.D-12) UNALF=1.D0/ALFAH
  342. C
  343. C CAS DES BARRES ET DES CABLES
  344. C
  345. IF(ITYP.EQ.4) THEN
  346. DIV(1)=1.D0
  347. DIV(2)=1.D0
  348. DIV(3)=1.D0/CARAC(1)
  349. ENDIF
  350. C
  351. C CAS DES POUTRES
  352. C
  353. IF(ITYP.NE.11) GO TO 841
  354. DIV(1)=1.D0/CARAC(4)
  355. DIV(2)=1.D0
  356. DIV(3)=1.D0
  357. DIV(4)=CARAC(10)/CARAC(1)
  358. DIV(5)=CARAC(11)/CARAC(2)
  359. DIV(6)=CARAC(12)/CARAC(3)
  360. IF(DIV(4).EQ.0.D0) DIV(4)=1.D-10/SQRT(CARAC(1)*CARAC(4))
  361. IF(DIV(5).EQ.0.D0) DIV(5)=1.D-10/SQRT(CARAC(2)*CARAC(4))
  362. IF(DIV(6).EQ.0.D0) DIV(6)=1.D-10/SQRT(CARAC(3)*CARAC(4))
  363. GO TO 761
  364. 841 CONTINUE
  365. C
  366. C CAS DES TUYAUX
  367. C
  368. IF(ITYP.NE.12) GO TO 842
  369. EPAIS=CARAC(1)
  370. REXT=CARAC(2)
  371. RMOY=REXT-EPAIS*0.5D0
  372. RACO=CARAC(3)
  373. GAM=1.D0
  374. XK=1.D0
  375. IF(RACO.EQ.0.D0) GO TO 765
  376. XLAM=RMOY*RMOY/EPAIS/RACO
  377. XK=1.65D0*XLAM
  378. IF(XK.LT.1.D0) XK=1.D0
  379. GAM=0.8888888888888889D0*(XLAM)**0.6666666666666667D0
  380. IF(GAM.LT.1.D0) GAM=1.D0
  381. 765 CONTINUE
  382. C
  383. C NB 23/09/98
  384. C VALEURS PAR DEFAUT POUR LES CFFX CFMX CFMY
  385. C CFMZ CFPR ( COEFFICIENTS POUR CALCULER LES
  386. C CONTRAINTES DE MEMBRANE, TORSION, FLEXIONS
  387. C DANS LE PLAN, HORS PLAN ET CIRCONFERENTIELLE
  388. C DUE A LA PRESSION )
  389. C POUR L'INSTANT PAS DE CONTRAINTE CIRCONFERENTIELLE
  390. C DUE A LA PRESSION ON N'UTILISE DONC PAS DIV(7)
  391. C
  392. C
  393. DIV(1)=1.D0
  394. DIV(2)=1.D0
  395. DIV(3)=1.D0
  396. DIV(4)=R33
  397. DIV(5)=PI4*GAM
  398. DIV(6)=DIV(5)
  399. DIV(7)=0.D0
  400. IF(IDIM.EQ.2) THEN
  401. PRES1=CARAC(6)
  402. CISA1=CARAC(7)
  403. IXCAR1=12
  404. IDEB1=8
  405. ELSE IF(IDIM.EQ.3) THEN
  406. PRES1=CARAC(7)
  407. CISA1=CARAC(8)
  408. IXCAR1=13
  409. IDEB1=9
  410. ENDIF
  411. C
  412. JDIV1=2
  413. DO 1515 IBA=IDEB1,IXCAR1
  414. JDIV1=JDIV1+1
  415. VCAR1=CARAC(IBA)
  416. IF (VCAR1.NE.-1.D0) DIV(JDIV1)=CARAC(IBA)
  417. 1515 CONTINUE
  418. C
  419. C NB 23/09/98
  420. C TRANSFERT DE CFFX DANS DIV(1) ET REMISE A
  421. C 1.D0 DE DIV(3)
  422. C
  423. DIV(1) = DIV(3)
  424. DIV(3)=1.D0
  425. C
  426. VX=CARAC(4)
  427. VY=CARAC(5)
  428. VZ=CARAC(6)
  429. CALL TUYCAR(CARAC,CISA1,VX,VY,VZ,KERRE,2)
  430. IF(KERRE.EQ.0) GO TO 843
  431. KERRE=7
  432. RETURN
  433. 843 CONTINUE
  434. C
  435. C NB 23/09/98
  436. C DIVISION DE DIV(5) ET DIV(6) PAR XK
  437. C CAR TUYCAR SORT LES INERTIES MODIFIEES
  438. C POUR LE CALCUL DES DEFORMATIONS PAR EPSIG
  439. C
  440. DIV(5)=DIV(5)/XK
  441. DIV(6)=DIV(6)/XK
  442. C
  443. DIV(1)=DIV(1)/CARAC(4)
  444. DIV(4)=DIV(4)*RMOY/CARAC(1)
  445. DIV(5)=DIV(5)*RMOY/CARAC(2)
  446. DIV(6)=DIV(6)*RMOY/CARAC(3)
  447. 761 CONTINUE
  448. E(1)=YUNG
  449. E(2)=0.D0
  450. E(3)=0.D0
  451. E(4)=YUNG*1.5D0/(1.D0+XNU)
  452. E(5)=YUNG
  453. E(6)=YUNG
  454. 842 CONTINUE
  455. C
  456. IF(ICINE.EQ.0.OR.JFLUAG.EQ.1) GO TO 204
  457. C
  458. C ON EST EN CINEMATIQUE ( PLASTIQUE OU FLUAGE )
  459. C DANS CE CAS ON FLUE AVEC SIGMA-ALPHA QUE L'ON CALCULE
  460. C
  461. DO IBA=1,IBOU
  462. SIGMA(IBA)=SIGMA(IBA)-SPHER(IBA)
  463. ENDDO
  464. 204 CONTINUE
  465. C
  466. IF(JNTRIN.EQ.0) GO TO 830
  467. TIMEXF=TIMEXI
  468. GO TO 831
  469. 830 TIMEXI=TEMPS-HPAS
  470. TIMEXF=TEMPS
  471. 831 CONTINUE
  472. IF(ITYP.NE.11.AND.ITYP.NE.12.AND.ITYP.NE.4) GO TO 844
  473. DO IBA=1,IBOU
  474. SIGMA(IBA)=SIGMA(IBA)*DIV(IBA)
  475. IF(ICINE.EQ.0) GO TO 845
  476. IF(JFLUAG.EQ.1.AND.LFLUAG.EQ.1) GO TO 845
  477. SPHER(IBA)=SPHER(IBA)*DIV(IBA)
  478. 845 CONTINUE
  479. DSIGMA(IBA)=DSIGMA(IBA)*DIV(IBA)
  480. ENDDO
  481. 844 CONTINUE
  482. DO IBA=1,IBOU
  483. STOT(IBA)=SIGMA(IBA)+DSIGMA(IBA)
  484. ENDDO
  485. C----------------------------------------------------------------------
  486. C CALCUL DE LA LIMITE ELASTIQUE
  487. C----------------------------------------------------------------------
  488. IF(LFLUAG.EQ.1) GO TO 261
  489. IF(IMAPLA.NE.4) GO TO 262
  490. BPSTAR=EPSM1
  491. ICOD=1
  492. CALL CHALIM(BPSTAR,SELAS,XMAT,TET,ICOD,
  493. . BID,BID,BID,BID,BID1,BID2,BI3,BI4,BI5,BI6,IBID,IBID,NUMCHA)
  494. GO TO 261
  495. 262 IF(IMAPLA.NE.5) GO TO 263
  496. * REMPLACEMENT XMAT(7) PAR XMAT(12) AM 8/3/90
  497. * TEST SELON EPSM1 AM 28/1/91
  498. IF(EPSM1.EQ.0.D0) THEN
  499. SELAS = XMAT(12)
  500. ELSE
  501. SELAS = XMAT(7) + EPSM1 * XMAT(13)
  502. *
  503. * AM 24/5/93 TEST SUR SELAS
  504. *
  505. IF( SELAS.LT.0.D0) THEN
  506. SELAS = 0.D0
  507. ENDIF
  508. *
  509. ENDIF
  510. GO TO 261
  511. 263 CONTINUE
  512. EPSTAR=EPSM1
  513. IF(ICINE.EQ.1) EPSTAR=0.D0
  514. CALL TRACTI(SELAS,EPSTAR,SIG,EPS,NCOURB,2,izz)
  515. IF(izz.EQ.1) THEN
  516. KERRE=75
  517. GOTO 1000
  518. ENDIF
  519. *
  520. 261 CONTINUE
  521. CZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  522. C A VOIR CE QU'IL Y A DANS ANORM
  523. CZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  524. IF(IMAPLA.EQ.7) COVNMS(1)=ANORM(2*JC-1)
  525. IF(IMAPLA.EQ.7.AND.IT.EQ.1) ANORM(2*JC)=1.D-20
  526. *
  527. * SI MATERIAU DRUCKER PRAGER ON CHERCHE LE CRITERE
  528. * AVEC LEQUEL ON DOIT FAIRE LA PROJECTION ET LE CRITERE
  529. IXMAT=5
  530. IF(IMAPLA.EQ.5.AND.EPSM1.EQ.0.D0) IXMAT=10
  531. CALL CKRIT(IMAPLA,STOT,ITYP,XMAT(IXMAT),ALFAH,COVNMS,XINV,SSTAR)
  532. SJ1=XINV(1)
  533. SJ2=XINV(2)
  534. IF(IMAPLA.EQ.0) GO TO 3
  535. IF(JFLUAG.NE.0) GO TO 4
  536. C---------------------------------------------------------------------
  537. C A T'ON DEPASSE LA LIMITE ELASTIQUE
  538. C---------------------------------------------------------------------
  539. PETI=1.1D00*TEST*SSTAR
  540. CALL EPSPRE(SSTAR,SELAS,PETI,ITRY)
  541. IF(ITRY.EQ.0.AND.SSTAR.GT.SELAS) GO TO 4
  542. C----------------------------------------------------------------------
  543. C ON N'A PAS PLASTIFIE
  544. C----------------------------------------------------------------------
  545. 3 CONTINUE
  546. IF(ITYP.EQ.11.OR.ITYP.EQ.12.OR.ITYP.EQ.4) THEN
  547. DO IBA=1,IBOU
  548. IF(ICINE.NE.0) SPHER(IBA)=SPHER(IBA)/DIV(IBA)
  549. STOT(IBA)=STOT(IBA)/DIV(IBA)
  550. ENDDO
  551. ENDIF
  552. DO IBA=1,IBOU
  553. SIGFIN(IBA)=STOT(IBA)
  554. DEFPLA(IBA)=0.D0
  555. DSIGMA(IBA)=0.D0
  556. ENDDO
  557. STARF=SSTAR
  558. EPST=EPSM1
  559. GO TO 31
  560. C----------------------------------------------------------------------
  561. C ON A PLASTIFIE
  562. C----------------------------------------------------------------------
  563. 4 CONTINUE
  564. IPLAST=1
  565. PENTE=0.D0
  566. SLOPE=0.D0
  567. DO IBA=1,IBOU
  568. W1(IBA)=SIGMA(IBA)
  569. ENDDO
  570. CALL CKRIT(IMAPLA,W1,ITYP,XMAT(5),ALFAH,COVNMS,XINV,S0)
  571. EPSTAR=EPSM1
  572. C
  573. C EN FLUAGE SI ON LA VITESSE DE FLUAGE NE DEPEND QUE
  574. C DU EPSILON EQUIVALENT DE FLUAGE CUMULE ON VA LE LIRE DANS EPSFLU
  575. C
  576. IF(JFLUAG.NE.0.AND.IFLUPL.EQ.1) EPSTAR=EPSFLU
  577. EPSIN=EPSTAR
  578. SEL=0.D0
  579. SPLA=1.D0
  580. IF(JFLUAG.NE.0) GO TO 70
  581. CALL SIGELP(SIGMA,DSIGMA,SIGEL,DSIGP,STOT,PETI,
  582. . ITYP,SEL,SPLA,IBOU,S0,SELAS,XMAT(5),COVNMS,ALFAH,
  583. . IMAPLA,SSTAR)
  584. CALL SHIFTD(SIGEL,DALPHA,IBOU)
  585. GO TO 2333
  586. C
  587. 70 CONTINUE
  588. C
  589. DO IBA=1,IBOU
  590. SIGEL(IBA)=SIGMA(IBA)+SEL*DSIGMA(IBA)
  591. DALPHA(IBA)=SIGEL(IBA)
  592. DSIGP(IBA)=SPLA*DSIGMA(IBA)
  593. ENDDO
  594. 2333 CONTINUE
  595. DTIMEX=SPLA*HPAS
  596. IF(JNTRIN.EQ.1.OR.JNTRIN.EQ.3) TIMEXF=TIMEXI+DTIMEX
  597. C
  598. C CALCUL DES PENTES
  599. C
  600. IF(ABS(SPLA).LT.0.95D00) IELPLA=0
  601. IF(ICYCL.NE.1) GO TO 71
  602. C
  603. C CAS DES MODELES DE CYCLAGE
  604. C
  605. CALL NORMAL(A1,A2,A3,SIGEL,W1,ALFAH,SELAS,IBOU,ITYP)
  606. CZZZZZZZZZZZZZZZZZZZZZZ
  607. C ON RECUPERE LA NORMALE DE LA DERNIERE SORTIE
  608. CZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  609. DO IBA=1,IBOU
  610. W2(IBA)=ANORM(IBA)
  611. ENDDO
  612. C
  613. C CALCUL DU PRODUIT SCALAIRE DE LA NORMALE AU POINT OU ON SORT
  614. C AVEC LA DERNIERE NORMALE OU ON EST SORTI
  615. C
  616. X=DDOT(IBOU,W1,1,W2,1)
  617. C ON STOCKE LA NORMALE
  618. DO IBA=1,IBOU
  619. ANORM(IBA)=W1(IBA)
  620. ENDDO
  621. CZZZZZZZZZZZZZZZZZZZZZZZ
  622. C IL FAUDRA LA STOCKER DANS VARINF AU LIEU DE ANORM
  623. CZZZZZZZZZZZZZZZZZZZZZZZZZ
  624. C
  625. C CALCUL DU EPSI AVEC QUOI CALCULER LA PENTE
  626. C
  627. EPSEN=0.5D00*(X+1.D00)*EPENT
  628. EPSIN=EPSEN
  629. 71 CONTINUE
  630. IF(JFLUAG.EQ.0) GO TO 40
  631. IF(IMAPLA.EQ.4) GO TO 5
  632. C
  633. C INITIALISATIONS POUR LE FLUAGE
  634. C QUEL EST LE EPSILON CUMULE DE FLUAGE
  635. C
  636. SLOPE=0.D0
  637. PENTE=0.D0
  638. IF(ICINE.EQ.0) GO TO 5
  639. IF(JFLUAG.EQ.2) GO TO 40
  640. C
  641. C CAS CINE + FLUAGE : CALCUL DE LA PENTE A LA COURBE DE TRACTION
  642. C
  643. IF(ICINE.EQ.2) EPSIN=EPS(NCOURB)
  644. CALL TRACTI(PENTE,EPSIN,SIG,EPS,NCOURB,1,izz)
  645. IF (izz.EQ.1) THEN
  646. KERRE=75
  647. GOTO 1000
  648. ENDIF
  649. *
  650. GO TO 5
  651. 40 CONTINUE
  652. IF(IMAPLA.EQ.5.OR.IMAPLA.EQ.4) GO TO 5
  653. C
  654. C CALCUL DE LA PENTE DE LA COURBE DE TRACTION AU POINT X-EPSTAR
  655. C
  656. SLOPE=0.D0
  657. CALL TRACTI(PENTE,EPSIN,SIG,EPS,NCOURB,1,izz)
  658. IF(izz.EQ.1) THEN
  659. KERRE=75
  660. GOTO 1000
  661. ENDIF
  662. *
  663. IF(ICINE.EQ.0) GO TO 5
  664. 6 SLOPE=PENTE
  665. PENTE=0.
  666. PANTIN=SLOPE
  667. IF(ICINE.EQ.1) GO TO 5
  668. EPSIN=EPS(NCOURB)
  669. CALL TRACTI(PANTIN,EPSIN,SIG,EPS,NCOURB,1,izz)
  670. IF(izz.EQ.1) THEN
  671. KERRE=75
  672. GOTO 1000
  673. ENDIF
  674. *
  675. PENTE=SLOPE-PANTIN
  676. SLOPE=PANTIN
  677. 5 CONTINUE
  678. IF(IMAPLA.NE.4) GO TO 5621
  679. C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  680. C MODELE CHABOCHE
  681. C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  682. iecou=0
  683. inecou=0
  684. IF(JFLUAG.EQ.0)
  685. . CALL CHABOK(YUNG,XNU,IA,EI,
  686. . XMAT,SPHER,JA,IBOU,SI,DEPS,EPST,EPSTAR,WORK,KERRE,SN,
  687. . AUXIL,NUMCHA,iecou,inecou)
  688. IF(JFLUAG.NE.0)
  689. . CALL CHAFLU(YUNG,XNU,IA,EI,SSTAR,
  690. 1 XMAT,SPHER,IBOU,SI,DEPS,EPST,EPSTAR,WORK,
  691. 2 AUXIL,DPSM1,DPSM2,KERRE,NUMCHA,iecou,inecou)
  692. IF(KERRE.NE.0) RETURN
  693. IF(JFLUAG.NE.0.AND.IMAPLA.EQ.4) GO TO 689
  694. IF(IMAPLA.EQ.4) GO TO 570
  695. 5621 CONTINUE
  696. IF(IMAPLA.NE.5) GO TO 9997
  697.  
  698. C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  699. C MODELE DRUCKER-PRAGER - PRELIMINAIRES
  700. C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  701. C ON EST DANS LE CAS DU MATERIAU DRUCKER-PRAGER.ON VA FAIRE UN
  702. C TEST POUR SAVOIR SI L'ON DOIT PROJETER AU SOMMET DU CONE ET
  703. C EVENTUELLEMENT FAIRE CETTE PROJECTION.
  704. C DANS CETTE VERSION,LE TEST CONSISTE A SAVOIR SI L'ETAT DE
  705. C CONTRAINTES CALCULE ELASTIQUEMENT SE TROUVE D'UN COTE OU DE
  706. C L'AUTRE D'UN PLAN ORTHOGONAL A L'AXE ET PASSANT PAR LE SOMMET
  707. C DU CONE,PUIS A SAVOIR SI L'ON EST A L'INTERIEUR OU A
  708. C L'EXTERIEUR DU CONE DES NORMALES AU CRITERE DE DRUCKER.
  709. C ON CALCULE LE I1 QUI DELIMITE LES DEUX REGIONS ET ON LE
  710. C COMPARE AVEC LE PREMIER INVARIANT DU TENSEUR CALCULE ELASTIQUEMENT
  711. C
  712. C SNN=XMAT(7)+XMAT(13)*EPSTAR
  713. * AM 24/5/93 TEST SUR SNN
  714. *
  715. * IF( SNN*XMAT(7).LT.0.D0) THEN
  716. * SNN=0.D0
  717. * XMAT(13)=0.D0
  718. * ENDIF
  719. C
  720. C MILL 17/3/93
  721. C SI XMAT(5)=0. PAS DE TEST PAR RAPPORT AU SOMMET
  722. C
  723. C IF(XMAT(5).EQ.0.D0) GO TO 99970
  724. C
  725. C XI1LIM=SNN/XMAT(5)
  726. C IF(SJ1.LE.XI1LIM) GO TO 99970
  727. C
  728. C ON TESTE ENSUITE PAR RAPPORT AU CONE DES NORMALES
  729. C
  730. C TESTDR=-XMAT(9)*SJ1/(2.D0*XMAT(8))+SJ2+XI1LIM*XMAT(9)/
  731. C . (2.D0*XMAT(8)*XMAT(5))
  732. C IF(TESTDR.GT.0.D00)GO TO 99970
  733. C
  734. C ON EST MAINTENANT DANS LE CAS OU L'ON DOIT PROJETER AU SOMMET
  735. C
  736. C CALL SOMDRU(IBOU,SI,DEPS,EPST,EPSTAR,SNN,XMAT(5),YUNG,XNU,KERRE)
  737. C IF(KERRE.NE.0) RETURN
  738. C LAPOIN=1
  739. C GO TO 570
  740. 99970 CONTINUE
  741. CALL SHIFTD(DHOOK,WORK(109),36)
  742. iecou=0
  743. inecou=0
  744. CALL PRJDRU(SSTAR,SELAS,PENTE,IBOU,SI,DEPS,EPST,EPSTAR,ITER,
  745. . SN,WORK(109),WORK,WORK(37),WORK(73),XMAT(5),YUNG,
  746. . XNU,LAPOIN,KERRE,iecou,inecou)
  747. IF(KERRE.NE.0) RETURN
  748. GO TO 570
  749. C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  750. C MODELE ROUSSELIER
  751. C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  752. 9997 IF(IMAPLA.EQ.7) THEN
  753. CALL FISSUR
  754. C CALL FISSUR(YUNG,XNU,U5DMU,XMAT(5),A,B,C,ANORM,
  755. C 1 JC,SIG,EPS,SELAS,SSTAR,IBOU,JKI,PENTE,EPSTAR,EPST,ITMAX,COEF,
  756. C 1 IA,S0,SI,DEPS,SN,IMPRI)
  757. GO TO 570
  758. ENDIF
  759. C
  760. IF(IRELAX.EQ.0) GO TO 42
  761. DO IBA=1,IBOU
  762. SIPLAD(IBA)=0.D00
  763. DSIGP0(IBA)=DSIGZE(IBA)
  764. ENDDO
  765. 42 CONTINUE
  766. IF(JGRDEF.LE.1) GO TO 420
  767. C
  768. C INTEGRATION EN GRANDES DEFORMATIONS D N'EST PLUS ISOTROPE
  769. C ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  770. C A VOIR|||||||||||||||||||||||||
  771. CALL SHIFTD(DHOOK,WORK,36)
  772. RAI=DETFNO(1)
  773. CALL T6CDCT
  774. C CALL T6CDCT(CGDFNO((IA-1)*LCGDF+1),WORK,4,W1,RAI)
  775. CALL PRJGDF
  776. C CALL PRJGDF(SSTAR,SELAS,PENTE,IBOU,SI,DEPS,EPST,EPSTAR,
  777. C 1 ITER,SN,TET,WORK,WORK(37),WORK(73),PANTIN,TIMEXF,SIG,EPS,IA,
  778. C 1 WORK(109))
  779. CALL SHIFTD(W1,DEFPLA,6)
  780. CZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  781. GO TO 570
  782. 420 CONTINUE
  783. C----------------------------------------------------------------------
  784. C ECRITURE SOUS FORME DIAGONALE
  785. C DIAGONALISATION DE SIGEL ET DSIGP
  786. C----------------------------------------------------------------------
  787. NK=1
  788. CALL XYZDIA(DSIGP,SIGEL,W1,W2,A,B,C,D,ITYP,VECPRO)
  789. IF(IRELAX.NE.0)
  790. 1 CALL XYZDIA(SIPLAD,DSIGP0,W1,W2,A,B,C,D,ITYP,VECPRO)
  791. C
  792. GO TO (60,61,61,63,64,65,66,66,68,69,78,79,80),ITYP
  793. C
  794. 80 CONTINUE
  795. C CONTRAINTES PLANES AVEC TOUS LES CISAILLEMENTS
  796. C
  797. RAI=YUNG/(1.D0-XNU*XNU)
  798. E(1)=RAI*(1.D0+XNU)*0.5D0
  799. E(2)=RAI*(1.D0-XNU)*1.5D0
  800. E(3)=0.D0
  801. E(4)=E(2)
  802. E(5)=E(2)
  803. E(6)=E(2)
  804. JKI=34
  805. GO TO 615
  806. C
  807. 79 CONTINUE
  808. C TUYAUX
  809. 78 CONTINUE
  810. C POUTRES
  811. C LE REMPLISSAGE DE E EST FAIT EN AMONT
  812. C
  813. JKI=28
  814. GO TO 615
  815. 69 CONTINUE
  816. GO TO 640
  817. 68 CONTINUE
  818. GO TO 640
  819. 66 CONTINUE
  820. C COQUE OU MEMBRANE A NU =0 OU CP
  821. C
  822. RAI=YUNG
  823. DO IBA=1,6
  824. E(IBA)=0.D00
  825. ENDDO
  826. E(1)=RAI
  827. IF(ICINE.NE.0) E(1)=E(1)+SLOPE
  828. E(4)=E(1)*ALFAH
  829. W1(1)=DSIGP(1)/(E(1)+PENTE)
  830. IF(ITYP.EQ.7) THEN
  831. IF(ALFAH.NE.0.D0) THEN
  832. W1(4)=DSIGP(4)/(E(4)+PENTE)
  833. ELSE
  834. W1(4)=0.D0
  835. ENDIF
  836. ENDIF
  837. JKI=18
  838. DEPS=VNMISD(W1,ITYP,ALFAH,COVNMS)
  839. GO TO 640
  840. 65 CONTINUE
  841. C CONTRAINTES PLANES
  842. C
  843. RAI=YUNG/(1.D0-XNU*XNU)
  844. E(1)=RAI*(1.D0+XNU)*0.5D0
  845. E(2)=RAI*(1.D0-XNU)*1.5D0
  846. E(3)=0.D0
  847. E(4)=E(2)
  848. E(5)=E(3)
  849. E(6)=E(3)
  850. JKI=24
  851. GO TO 615
  852. 64 CONTINUE
  853. C MATER QUELCONQUE
  854. C
  855. JKI=18
  856. NK=1
  857. DO IBA=1,6
  858. E(IBA)=VALPRO(IBA)
  859. ENDDO
  860. IF(ICINE.EQ.0) GO TO 6401
  861. DO IBA=1,6
  862. E(IBA)=E(IBA)+SLOPE
  863. ENDDO
  864. 6401 CONTINUE
  865. DO 6406 IBA=1,6
  866. IF(E(IBA)+PENTE.EQ.0.D00) GO TO 6406
  867. W1(IBA)=DSIGP(IBA)/(E(IBA)+PENTE)
  868. 6406 CONTINUE
  869. DEPS=VNMISD(W1,ITYP,ALFAH,CVNMSD)
  870. GO TO 640
  871. C
  872. 61 RAI=YUNG/(1.D0-XNU*XNU)
  873. E(1)=RAI*(1.D0+XNU)*0.5D0
  874. E(2)=RAI*(1.D0-XNU)*1.5D0
  875. E(3)=E(2)
  876. E(4)=E(1)*ALFAH
  877. E(5)=E(2)*ALFAH
  878. E(6)=E(3)*ALFAH
  879. JKI=6
  880. 615 CONTINUE
  881. IF(ICINE.EQ.0) GOTO 610
  882. DO IK=1,6
  883. E(IK)=E(IK)+SLOPE
  884. ENDDO
  885. 610 CONTINUE
  886. IBO=2
  887. IF(ITYP.EQ.3.OR.ITYP.EQ.6) IBO=1
  888. IF(ITYP.NE.11.AND.ITYP.NE.12.AND.ITYP.NE.4) W1(3)=0.D0
  889. DO 614 I=1,IBOU
  890. IF(ITYP.EQ.6.AND.I.EQ.3) GO TO 614
  891. W1(I)=0.D0
  892. IF(PENTE+E(I).EQ.0.) GO TO 614
  893. W1(I)=DSIGP(I)/(E(I)+PENTE)
  894. 614 CONTINUE
  895. DEPS=VNMISD(W1,ITYP,ALFAH,COVNMS)
  896. GO TO 640
  897. C
  898. 63 E(3)=U5DMU/U5SNU
  899. IF(ICINE.NE.0) E(3)=E(3)+SLOPE
  900. NK=3
  901. JKI=12
  902. E(2)=0.D0
  903. E(1)=0.D0
  904. E(4)=0.D0
  905. E(5)=0.D0
  906. E(6)=0.D0
  907. DEPS=DSIGP(3)/(E(3)+PENTE)
  908. GO TO 640
  909. C
  910. 60 CONTINUE
  911. JKI=0
  912. E(1)=0.D0
  913. DO I=2,6
  914. E(I)=U5DMU
  915. ENDDO
  916. IF(ICINE.EQ.0) GO TO 603
  917. DO I=1,6
  918. E(I)=E(I)+SLOPE
  919. ENDDO
  920. 603 CONTINUE
  921. EMU=PENTE+U5DMU
  922. RAI=YUNG
  923. IF(IMAPLA.EQ.5) EMU=U5DMU+3*XMAT(5)*XMAT(5)*RAI/(1.D0-2.D0*XNU)
  924. DEPS=(SSTAR-SELAS)/EMU
  925. C
  926. 640 CONTINUE
  927. C
  928. IF(JFLUAG.NE.0) GO TO 41
  929. C-----------------------------------------------------------------------
  930. C PLASTICITE - PROJECTION SUR LA SURFACE DE CHARGE
  931. C-----------------------------------------------------------------------
  932. iecou=0
  933. inecou=0
  934. CALL PROJVM(SIG,EPS,EPST,EPSTAR,DEPS,PENTE,SN,PANTIN,
  935. 1 SELAS,ITER,SO,SSTAR,SI,NK,IBOU,COEF,JKI,KERRE,iecou,inecou)
  936. C
  937. GO TO 57
  938. C-----------------------------------------------------------------------
  939. C FLUAGE
  940. C-----------------------------------------------------------------------
  941. 41 CONTINUE
  942. iecou=0
  943. inecou=0
  944. CALL FLUAGE(ITER,EPSTAR,S0,EPST,SSTAR,SI,DPSM1,DPSM2,
  945. . IBOU,DEPS,ICONV,TIMEXI,TIMEXF,YUNG,KERRE,iecou,inecou)
  946. IF(KERRE.EQ.0) GO TO 8693
  947. CZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  948. C TESTER KERRE EN SORTIE DE FLUAGE
  949. C ON RECUPERE AUUSI ICONV EN SORTIE
  950. CZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  951. 8693 CONTINUE
  952. 689 CONTINUE
  953. C-----------------------------------------------------------------------
  954. C ON STOKE LE EPS DE FLUAGE DANS EPSFLU DANS TOUS LES CAS
  955. C-----------------------------------------------------------------------
  956. EPSFLU=EPST
  957. C ON CALCULE LE EPSILON INELASTIQUE CUMULE
  958. C
  959. EPST=EPSM1
  960. IF(LFLUAG.EQ.1) GO TO 414
  961. C ON ECROUIT LE RAYON DE LA SURFACE DE CHARGE
  962. C
  963. EPST=DEPS+EPSM1
  964. 414 CONTINUE
  965. IF(IMAPLA.EQ.4) GO TO 570
  966. IF(ICINE.EQ.0) GO TO 413
  967. IF(LFLUAG.EQ.1) GO TO 57
  968. C CAS CINEMATIQUE
  969. C
  970. SLIM=SELAS
  971. GO TO 57
  972. 413 CONTINUE
  973. C CAS ISOTROPE
  974. C
  975. IF(LFLUAG.EQ.1) GO TO 57
  976. C ON CHERCHE LE NOUVEAU RAYON DE LA SPHERE
  977. C
  978. CALL TRACTI(SF,EPST,SIG,EPS,NCOURB,2,izz)
  979. IF (izz.EQ.1) THEN
  980. KERRE=75
  981. GOTO 1000
  982. ENDIF
  983. *
  984. SLIM=SF
  985. C
  986. 57 CONTINUE
  987. C
  988. C----------------------------------------------------------------------
  989. C RETOUR AUX AXES X Y Z
  990. C----------------------------------------------------------------------
  991. CALL DIAXYZ(ITYP,SIGT,SIGEL,VECPRO,IBO,A,B,C,B1,B2)
  992. IF(JFLUAG.EQ.0) GO TO 10
  993. IF((IT.EQ.1.AND.IRELAX.EQ.0).OR.(ICONV.NE.0.AND.IRELAX.NE.0))
  994. . CALL DIAXYZ(ITYP,DSIGP,STOT,VECPRO,IBO,A,B,C,B1,B2)
  995. 10 CONTINUE
  996. C-----------------------------------------------------------------------
  997. C TRAITEMENT FINAL
  998. C-----------------------------------------------------------------------
  999. 570 CONTINUE
  1000. EPSM1F=EPST
  1001. IF(ICYCL.EQ.1) EPENTF=EPSEN+DEPS
  1002. IF(IMAPLA.NE.7) GO TO 9100
  1003. CZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  1004. C VOIR SI ON A BESOIN DE SIGT
  1005. CZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  1006. DO IBA=1,IBOU
  1007. SIGT(IBA)=SIGT(IBA)-W1(IBA)
  1008. ENDDO
  1009. 9100 CONTINUE
  1010. IF(ICINE.EQ.0) GO TO 913
  1011. IF(LFLUAG.EQ.1) GO TO 913
  1012. IF(JFLUAG.EQ.1) GO TO 94
  1013. IF(IMAPLA.EQ.4) GO TO 90
  1014. C----------------------------------------------------------------------
  1015. C CAS CINEMATIQUE - CALCUL DE DALPHA
  1016. C----------------------------------------------------------------------
  1017. Z=PANTIN*DEPS/SELAS
  1018. IF(Z.LT.0.01D00) GO TO 910
  1019. EZZ=1.D0-EXP(-Z)
  1020. Z=1.D0-EZZ/Z
  1021. EZZ=EZZ/(1.D0-Z)
  1022. Z=Z/(1.D0-Z)
  1023. DO 91 IBA=1,IBOU
  1024. DALPHA(IBA)=DALPHA(IBA)*EZZ+Z*(SIGEL(IBA)-DALPHA(IBA))
  1025. 91 CONTINUE
  1026. GO TO 90
  1027. 910 DO 911 IBA=1,IBOU
  1028. DALPHA(IBA)=Z*0.5D0*(DALPHA(IBA)+SIGEL(IBA))
  1029. 911 CONTINUE
  1030. GO TO 90
  1031. 94 CONTINUE
  1032. IF(IMAPLA.EQ.4) GO TO 913
  1033. CALL MOVCEN(PENTE,DEPS,SELAS,JA,IBOU,DALPHA,SIGMA,SPHER,SIGEL)
  1034. 90 CONTINUE
  1035. 913 CONTINUE
  1036. C----------------------------------------------------------------------
  1037. C CAS CINEMATIQUE COORDONNEES DU NOUVEAU CENTRE DE LA SPHERE
  1038. C----------------------------------------------------------------------
  1039. IF(ICINE.EQ.0) GO TO 29
  1040. C
  1041. C MODELE CHABOC MISE A JOUR DE SPHER DANS CHABOC
  1042. C SPHER CONTIENT LA SOMME DES DEPLACEMENTS DES SPHERES
  1043. C
  1044. IF(IMAPLA.EQ.4) GO TO 29
  1045. IF(LFLUAG.EQ.1.AND.JFLUAG.NE.0) GO TO 29
  1046. DO IBA=1,IBOU
  1047. SPHER(IBA)=SPHER(IBA)+DALPHA(IBA)
  1048. ENDDO
  1049. 29 CONTINUE
  1050. C-----------------------------------------------------------------------
  1051. C CALCUL DU SIGMA FINAL ET DE LA NOUVELLE LIMITE ELASTIQUE
  1052. C-----------------------------------------------------------------------
  1053. IF(ITYP.NE.11.AND.ITYP.NE.12.AND.ITYP.NE.4) GO TO 846
  1054. DO IBA=1,IBOU
  1055. STOT(IBA)=STOT(IBA)/DIV(IBA)
  1056. IF(ICINE.EQ.0) GO TO 847
  1057. IF(LFLUAG.EQ.1.AND.JFLUAG.NE.0) GO TO 847
  1058. SPHER(IBA)=SPHER(IBA)/DIV(IBA)
  1059. DALPHA(IBA)=DALPHA(IBA)/DIV(IBA)
  1060. 847 CONTINUE
  1061. SIGEL(IBA)=SIGEL(IBA)/DIV(IBA)
  1062. ENDDO
  1063. 846 CONTINUE
  1064. DO IBA=1,IBOU
  1065. SIGFIN(IBA)=SIGEL(IBA)
  1066. ENDDO
  1067. STARF=SI
  1068. IF(JFLUAG.EQ.0) SLIMF=SN
  1069. IF(JNTRIN.NE.0) EPENTF=TIMEXF
  1070. C
  1071. IF(DEPS.LT.0.D00) KERRE=1
  1072. C CALCUL DU NOUVEAU SIGMAP
  1073. DO IBA=1,IBOU
  1074. DSIGMA(IBA)=STOT(IBA)-SIGEL(IBA)
  1075. ENDDO
  1076. IF(ICINE.EQ.0) GO TO 240
  1077. IF(JFLUAG.EQ.1) GO TO 240
  1078. IF(LFLUAG.EQ.1) GO TO 240
  1079. DO IBA=1,IBOU
  1080. DSIGMA(IBA)=DSIGMA(IBA)-DALPHA(IBA)
  1081. ENDDO
  1082. 240 CONTINUE
  1083. *
  1084. IF(ITYP.EQ.6.AND.IMAPLA.EQ.5.AND.LAPOIN.EQ.0) THEN
  1085. DO IBA=1,IBOU
  1086. DEFPLA(IBA)=EPSPLA(IBA)
  1087. ENDDO
  1088. EPST=EPSM1 + VONEPS(DEFPLA,ITYP,ALFAH,COVNMS)
  1089. GO TO 31
  1090. ENDIF
  1091. CZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  1092. C ATTENTION LE EPSIG NE MARCHE QUE POUR CERTAINS CAS
  1093. CZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  1094. CALL EPSIG(DSIGMA,DEFPLA,IFOURB,YUNG,XNU,ITYP,ORMAT,CARAC)
  1095. IF(ITYP.EQ.6.AND.IMAPLA.NE.5) DEFPLA(3)=-DEFPLA(1)-DEFPLA(2)
  1096. 31 CONTINUE
  1097. C-----------------------------------------------------------------------
  1098. C REMPLISSAGE
  1099. C-----------------------------------------------------------------------
  1100. VARINF(1)=EPST
  1101. CZZZZZZZZZZZ
  1102. C PROVISOIRE
  1103. CZZZZZZZZZZZ
  1104. IF(JFLUAG.EQ.1) VARINF(1)=EPSFLU
  1105. IF(ICINE.EQ.0) GO TO 280
  1106. C ON CALCULE LA VRAIE CONTRAINTE EN CINEMATIQUE
  1107. DO 281 IBA=1,IBOU
  1108. IF(JFLUAG.EQ.1) GO TO 284
  1109. SIGFIN(IBA)=SIGFIN(IBA)+SPHER(IBA)
  1110. 284 IF(LFLUAG.EQ.1) GO TO 281
  1111. IF(ICENT2.NE.0) SPHER(IBA)=SPHER(IBA)-AUXIL(IBA)
  1112. 281 CONTINUE
  1113. 280 CONTINUE
  1114. *
  1115. * MISE A 0. DES COMPOSANTES NON CALCULEES SI ITYP=8
  1116. *
  1117. IF(ITYP.EQ.8.AND.IBOU.LT.NSTRS) THEN
  1118. DO 285 IBA=2,NSTRS
  1119. DEFPLA(IBA)=0.D0
  1120. SIGFIN(IBA)=0.D0
  1121. IF(ICENT2.NE.0) SPHER(IBA)=0.D0
  1122. 285 CONTINUE
  1123. ENDIF
  1124. *
  1125. MCOD=2
  1126. iecou=0
  1127. inecou=0
  1128. CALL VISAVI(SIG0,DSIGT,VARIN0,SIGMA,DSIGMA,SPHER,AUXIL,
  1129. . SIGF,DEFP,VARINF,SIGFIN,DEFPLA,
  1130. . DSIGZE,ICENT2,MCOD,IBOU,MFR,NSTRS,CARAC,CMATE,
  1131. . iecou,inecou)
  1132. C
  1133. C RETRAITEMENT POUR LES COQ2 ET MASSIFS EN MATERIAU
  1134. C UNIDIRECTIONNEL
  1135. C
  1136.  
  1137. IF (CMATE.EQ.'UNIDIREC'.AND.INPLAS.NE.0) THEN
  1138. IF(MELE.EQ.44.OR.(MFR.EQ.1.AND.IFOURB.LE.0)) THEN
  1139. DO 1997 I=1,NSTRS
  1140. TABID(I)=SIGF(I)
  1141. TABID2(I)=DEFP(I)
  1142. 1997 CONTINUE
  1143. CALL CHREP2(TABID,SIGF,-ANG,NSTRS,MFR,1,KERRE)
  1144. CALL CHREP2(TABID2,DEFP,-ANG,NSTRS,MFR,2,KERRE)
  1145. IF(KERRE.NE.0) RETURN
  1146. ELSEIF(MFR.EQ.1.AND.IFOURB.EQ.2) THEN
  1147. DO 997 I=1,NSTRS
  1148. TABID(I)=SIGF(I)
  1149. TABID2(I)=DEFP(I)
  1150. 997 CONTINUE
  1151. CALL CHREP3(TABID,SIGF,XMAT,TXR,NSTRS,1,2,KERRE)
  1152. CALL CHREP3(TABID2,DEFP,XMAT,TXR,NSTRS,2,2,KERRE)
  1153. ENDIF
  1154. ENDIF
  1155. *
  1156. 1000 RETURN
  1157. END
  1158.  
  1159.  
  1160.  

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