Télécharger ccoinc.eso

Retour à la liste

Numérotation des lignes :

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

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