Télécharger urgcst.eso

Retour à la liste

Numérotation des lignes :

urgcst
  1. C URGCST SOURCE CB215821 17/11/30 21:17:23 9639
  2. SUBROUTINE URGCST(WRK0,WRK1,WRK4,NSTRSS,NCOMAT,
  3. 1 KERRE,MELE,IFOUR,NCARR,MFR,DT,TEMP0,
  4. 2 CMATE,IB,IGAU,HCAR,IVIS)
  5. C---------------------------------------------------------------------
  6. C PLASTICITE MODELE BETON
  7. C
  8. C ENTREES
  9. C SIG0(NSTRS) = CONTRAINTES INITIALES
  10. C NSTRS = NOMBRE DE CONTRAINTES
  11. C DEPST(NSTRS) = INCREMENT DE DEFORMATIONS TOTALES
  12. C VAR0(NVARI) = VARIABLES INTERNES DEBUT
  13. C VAR0( 1 ) = IFIS :Indicateur de fissuration (0 1 2)
  14. C VAR0( 2 ) = ANGL :Angle de fissuration
  15. C VAR0( 3 ) = IPLA :Indicateur d'etat en bicompres. (0 1 2 3)
  16. C VAR0( 4 ) = SIG1 :Force d écrouissage de traction
  17. C VAR0( 5 ) = SIG2 :Force d écrouissage de compression
  18. C VAR0( 6 ) = EPS1 :Variable d écrouissage de traction
  19. C VAR0( 7 ) = EPS2 :Variable d écrouissage de compression
  20. C VAR0( 8 ) = TDEF :Taux de déformation
  21. C VAR0( 9 ) = TCON :Taux de contrainte
  22. C VAR0( 10 ) = SIGP(1):Contrainte plastique en mode
  23. C viscoplastique
  24. C VAR0( 11 ) = SIGP(2):
  25. C VAR0( 12 ) = SIGP(3):
  26. C VAR0( 13 ) = SIGP(4):
  27. C VAR0( 14 ) = DPSTV1 :Variable d'écrouissage plastique
  28. C en mode viscoplastique
  29. C VAR0( 15 ) = DPSTV2 :
  30. C VAR0( 16 ) = SIGV1 :Force d ecrouissage de traction
  31. C en mode viscoplastique
  32. C VAR0( 17 ) = SIGV2 :Force d ecrouissage de compression
  33. C en mode viscoplastique
  34. C
  35. C XMAT(NCOMAT) = COMPOSANTES DE MATERIAU
  36. C NCOMAT = NOMBRE DE COMPOSANTES DE MATERIAU
  37. C SORTIES
  38. C SIGF(NSTRS) = CONTRAINTES FINALES
  39. C VARF(NVARI) = VARIABLES INTERNES FINALES
  40. C KERRE = 0 TOUT OK
  41. C---------------------------------------------------------------------
  42. C
  43. C IFOUR INDICE DU TYPE DE PROBLEME
  44. C -2 CONTRAINTES PLANES
  45. C -1 DEFORMATIONS PLANES
  46. C 0 AXISYMETRIQUE
  47. C 1 SERIE DE FOURIER
  48. C 2 TRIDIMENSIONNEL
  49. C---------------------------------------------------------------------
  50. C COMPOSANTES DE MATERIAU
  51. C=====================================================================
  52. C YOUN : Module d'Young
  53. C XNU : Coeficient de Poisson
  54. C RHO : Masse volumique (Facultatif)
  55. C ALPH : Coeficient de dilation thermique (Facultatif)
  56. C ALFA : Resis. tract. simple / resis. compr. simple
  57. C BETA : Resis. compr. biax. / resis. compr. simple (Modele de NADAI)
  58. C RB : Resis. compr. simple
  59. C GFC : Energie de rupt en compression
  60. C GFT : Energie de rupt en traction
  61. C ETA : parametre de viscosite
  62. C ICT : Choix de la courbe de traction (Calibrage)
  63. C ICC : Choix de la courbe de compression (Calibrage)
  64. C
  65. C IVIS : Modele visqueux ou non
  66. C 0 : non visqueux
  67. C 1 : visqueux
  68. C 2 : viscoélastoplastique
  69. C
  70. C IMOD : Choix du modele Beton
  71. C 1 = Modele BETON_INSA ( Von MISES + Sigma Max en trac.)
  72. C Rheologie 2D
  73. C 2 = Modele BETON_INSA ( Von MISES + Sigma Max en trac.)
  74. C Rheologie 3D
  75. C 3 = Modele BETON_INSA ( Druck Prager + Sigma Max en trac.)
  76. C Rheologie 2D
  77. C 4 = Modele BETON_INSA ( Druck Prager + Sigma Max en trac.)
  78. C Rheologie 3D
  79. C ITER : nombre d'iterations internes admissibles
  80. C---------------------------------------------------------------------
  81. C
  82. IMPLICIT INTEGER(I-N)
  83. IMPLICIT REAL*8(A-H,O-Z)
  84.  
  85. SEGMENT WRK0
  86. REAL*8 XMAT(NCXMAT)
  87. ENDSEGMENT
  88. SEGMENT WRK1
  89. REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
  90. REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  91. REAL*8 DEFP(NSTRS),XCAR(ICARA)
  92. ENDSEGMENT
  93. SEGMENT WRK4
  94. REAL*8 XE(3,NBNN)
  95. ENDSEGMENT
  96.  
  97. SEGMENT BETJEF
  98. REAL*8 AA,BETA,RB,ALFA,YOUN,XNU,GFC,GFT,CAR,ETA,TDEF,
  99. & TCON,DPSTF1,DPSTF2,TETA,PDT
  100. INTEGER ICT,ICC,IMOD,IVISS,ITER,
  101. & ISIM,IBB,IGAU1,IZON
  102. ENDSEGMENT
  103. SEGMENT VISCO
  104. REAL*8 DPSTV1,DPSTV2,SIGV1,SIGV2
  105. ENDSEGMENT
  106. SEGMENT BETFLU
  107. REAL*8 DATCOU,TP0,E28,TAU1
  108. INTEGER NBRC,NCOE,NTPS,NTZERO,IFLU,MC,NC
  109. ENDSEGMENT
  110. *
  111. CHARACTER*(*) CMATE
  112. CHARACTER*40 FMT,TITRE
  113. DIMENSION SIR(9,4),EPST(4),SIGP(4)
  114. DIMENSION D(6,6),D1(6,6),STRN(6)
  115. DIMENSION EPSR(9),SIGR(9),VART(200),VV(36),SIGMF(6)
  116. DIMENSION CODU(9,9)
  117. C
  118. * COMMON /DBETJEF/AA,BETA,RB,ALFA,YOUN,XNU,GFC,GFT,CAR,ETA,TDEF,
  119. * & TCON,DPSTF1,DPSTF2,TETA,PDT,ICT,ICC,IMOD,IVISS,ITER,
  120. * & ISIM,IBB,IGAU1,IZON
  121. * COMMON /VISCO/ DPSTV1,DPSTV2,SIGV1,SIGV2
  122. * COMMON /DBETFLU/DATCOU,TP0,E28,TAU1,NBRC,NCOE,NTPS,NTZERO,IFLU,
  123. * & MC,NC
  124. C
  125.  
  126. NBNN=XE(/2)
  127. NVARI=VAR0(/1)
  128. SEGINI BETJEF
  129. SEGINI VISCO
  130. SEGINI BETFLU
  131. PDT = DT
  132. TP0=TEMP0
  133. CAR = HCAR
  134. C
  135. C TEST DE CONSISTANCE DES DONNEES
  136. C
  137. YOUN = 0.D0
  138. XNU = 0.D0
  139. RHO = 0.D0
  140. ALPH = 0.D0
  141. ALFA = 0.D0
  142. BETA = 0.D0
  143. RB = 0.D0
  144. GFC = 0.D0
  145. GFT = 0.D0
  146. ETA = 0.D0
  147. ICT = 0
  148. ICC = 0
  149. ITER = 0
  150. IMOD = 0
  151. C
  152. AA=0.D0
  153. BB=0.D0
  154. DK1=0.D0
  155. DK2=0.D0
  156. CNC1=0.D0
  157. CNC1=0.D0
  158. CNT1=0.D0
  159. CNT2=0.D0
  160. C
  161. YOUN = XMAT( 1)
  162. XNU = XMAT( 2)
  163. RHO = XMAT( 3)
  164. ALPH = XMAT( 4)
  165. ALFA = XMAT( 5)
  166. BETA = XMAT( 6)
  167. RB = XMAT( 7)
  168. GFC = XMAT( 8)
  169. GFT = XMAT( 9)
  170. ICT = INT(REAL(XMAT(10)))
  171. ICC = INT(REAL(XMAT(11)))
  172. ITER = INT(REAL(XMAT(12)))
  173. IMOD = INT(REAL(XMAT(13)))
  174. IF (IVIS.EQ.1) THEN
  175. ETA = XMAT(14)
  176. ISIM = 1
  177. ENDIF
  178. IF (IVIS.EQ.2) THEN
  179. DATCOU = XMAT(14)
  180. NBRC = INT(REAL(XMAT(15)))
  181. E28=YOUN
  182. ENDIF
  183. C
  184. C---------------------------------------------------------------------
  185. C
  186. C CORRESPONDANCE DES VARIABLES POUR URGCST
  187. C
  188. CALL ZERO(D,6,6)
  189. CALL ZERO(D1,6,6)
  190. CALL ZERO(EPSR,9,1)
  191. CALL ZERO(VART,NVARI,1)
  192. CALL ZERO(SIGR,9,1)
  193. C
  194. IVISS = IVIS
  195. IBB = IB
  196. IGAU1 = IGAU
  197. EPAIST=1.D0
  198. NSTRS=NSTRSS
  199. IFOU=IFOUR
  200. *
  201. DO 1 I=1,NSTRS
  202. SIGR(I)=SIG0(I)/EPAIST
  203. * WRITE(*,*)'SIG0',I,'=',SIG0(I)
  204. STRN(I)=DEPST(I)
  205. * WRITE(*,*)'DEPST',I,'=',DEPST(I)
  206. 1 CONTINUE
  207. *
  208. IF((MELE.EQ.28.OR.MFR.EQ.3).AND.NSTRSS.EQ.4) THEN
  209. NSTRS=3
  210. IFOU=-2
  211. SIGR(3)=SIG0(4)
  212. STRN(3)=DEPST(4)
  213. STRN(4)=DEPST(3)
  214. ENDIF
  215. *
  216. IF((NSTRS.EQ.4).AND.IFOUR.EQ.-2.AND.
  217. * (IMOD.NE.2.AND.IMOD.NE.4)) THEN
  218. NSTRS=3
  219. SIGR(3)=SIG0(4)
  220. STRN(3)=DEPST(4)
  221. STRN(4)=DEPST(3)
  222. ENDIF
  223. *
  224. DO 22 II=1,NVARI
  225. VART(II)=VAR0(II)
  226. 22 CONTINUE
  227. C------------------------------------------------------
  228. C INITIALISATION DES VARIABLES INTERNES
  229. C------------------------------------------------------
  230. IFISU = INT(REAL(VART(1)))
  231. ANGL = VART(2)
  232. IPLA = INT(REAL(VART(3)))
  233. SIG1= VART(4)
  234. SIG2= VART(5)
  235. DPSTF1 = VART(6)
  236. DPSTF2 = VART(7)
  237. IF (IVIS.EQ.1) THEN
  238. TDEF = VART( 8)
  239. TCON = VART( 9)
  240. SIGP(1) = VART(10)
  241. SIGP(2) = VART(11)
  242. SIGP(3) = VART(12)
  243. SIGP(4) = VART(13)
  244. DPSTV1 = VART(14)
  245. DPSTV2 = VART(15)
  246. SIGV1 = VART(16)
  247. SIGV2 = VART(17)
  248. ENDIF
  249. IF (IVIS.EQ.2) THEN
  250. MC = NBRC + 1
  251. DO 101 I1 = 1,MC
  252. DO 102 J1 = 1,NSTRS
  253. NV = NSTRS * (I1 - 1) + J1
  254. SIR(I1,J1) = VART(7 + NV)
  255. 102 CONTINUE
  256. 101 CONTINUE
  257. DO 121 I1 = 1,MC
  258. DO 122 J1 = 1,MC
  259. K = MC * (I1 - 1) + J1
  260. CODU(I1,J1) = VART(43 + K)
  261. 122 CONTINUE
  262. 121 CONTINUE
  263. ENDIF
  264. C -------------------------------------
  265. TETA=ANGL
  266. C---------------------------------------------------------------------
  267. C
  268. GO TO (10,10,30,40),NSTRS
  269. 10 CONTINUE
  270. KERRE=437
  271. WRITE(*,*) '!! ATTENTION DANS BETON NSTRS=',NSTRS
  272. STOP
  273. GO TO 1000
  274. C
  275. 40 CONTINUE
  276. C
  277. 30 CONTINUE
  278. C
  279. C---------------------------------------------------------------------
  280. C
  281. IF(IMOD.GE.1.AND.IMOD.LE.4) THEN
  282. * *-----------------------*
  283. * * MODELE URGC ST *
  284. * *-----------------------*
  285. *
  286. WRITE(*,*) 'PROGRAMMATION A CORRIGER!'
  287. STOP
  288. *** CALL BONE(SIGR,SIGMF,STRN,IPLA,IFISU,SIG1,SIG2
  289. *** A ,NSTRS,D,D1,IFOU,SIGP,EPST,SIR,CODU,
  290. *** A BETJEF,VISCO,BETFLU)
  291. C
  292. ELSE
  293. WRITE(*,*) '!! ATTENTION CE MODELE N EXISTE PAS (URGCST)'
  294. STOP
  295. RETURN
  296. ENDIF
  297. C---------------------------------------------------------------------
  298. C
  299. C
  300. IF((NSTRS.EQ.3).AND.IFOU.EQ.-2.AND.
  301. * (IMOD.NE.2.AND.IMOD.NE.4)) THEN
  302. SIGMF(4)=SIGMF(3)
  303. SIGMF(3)=0.D0
  304. ENDIF
  305. C
  306. IF((MELE.EQ.28.OR.MFR.EQ.3).AND.NSTRSS.EQ.3) THEN
  307. SIGMF(3)=0.D0
  308. SIGMF(4)=SIGMF(3)
  309. ENDIF
  310. C
  311. DO 2 I=1,NSTRSS
  312. SIGF(I)=SIGMF(I)
  313. 2 CONTINUE
  314. C
  315. C---------------------------------------------------------------------
  316. C
  317. VART( 1)=FLOAT(IFISU)
  318. VART( 2)=TETA
  319. VART( 3)=FLOAT(IPLA)
  320. VART( 4)=SIG1
  321. VART( 5)=SIG2
  322. VART( 6)=DPSTF1
  323. VART( 7)=DPSTF2
  324. K1 = 7
  325. IF (IVIS.EQ.1) THEN
  326. VART(8)=TDEF
  327. VART(9)=TCON
  328. VART(10)=SIGP(1)
  329. VART(11)=SIGP(2)
  330. VART(12)=SIGP(3)
  331. VART(13)=SIGP(4)
  332. VART(14)=DPSTV1
  333. VART(15)=DPSTV2
  334. VART(16)=SIGV1
  335. VART(17)=SIGV2
  336. K1 = 17
  337. ENDIF
  338. IF (IVIS.EQ.2) THEN
  339. MC = NBRC + 1
  340. DO 103 I1 = 1,MC
  341. DO 104 J1 = 1,NSTRS
  342. NV = NSTRS * (I1 - 1) + J1
  343. VART(7 + NV) = SIR(I1,J1)
  344. 104 CONTINUE
  345. 103 CONTINUE
  346. DO 123 I1 = 1,MC
  347. DO 124 J1 = 1,MC
  348. K = MC * (I1 - 1) + J1
  349. VART(43 + K) = CODU(I1,J1)
  350. 124 CONTINUE
  351. 123 CONTINUE
  352. K1=124
  353. ENDIF
  354. C
  355. GO TO (11,11,31,41),NSTRS
  356. 11 CONTINUE
  357. KERRE=437
  358. WRITE(*,*) '!! ATTENTION DANS BETON NSTRS=',NSTRS
  359. STOP
  360. GO TO 1000
  361. C
  362. 41 CONTINUE
  363. C
  364. 31 CONTINUE
  365. C
  366. C CONTRAINTES OU DEFORMATIONS PLANES
  367. C SANS CISAILLEMENTS TRANSVERSAL
  368. C
  369. L1=0
  370. DO 66 I1 = 1,NSTRS
  371. DO 67 J1 = 1,NSTRS
  372. L1=L1+1
  373. VV(L1) = D(J1,I1)
  374. 67 CONTINUE
  375. 66 CONTINUE
  376. *
  377. L1=0
  378. DO 62 I1 = 1,NSTRS
  379. DO 63 J1 = 1,NSTRS
  380. K=K1+(I1-1)*NSTRS+J1
  381. L1=L1+1
  382. VART(K)=VV(L1)
  383. 63 CONTINUE
  384. 62 CONTINUE
  385. C
  386. DO 23 II=1,NVARI
  387. VARF(II)=VART(II)
  388. 23 CONTINUE
  389. C
  390. C---------------------------------------------------------------------
  391. C
  392. 1000 CONTINUE
  393. SEGSUP BETJEF
  394. SEGSUP VISCO
  395. SEGSUP BETFLU
  396. C
  397. RETURN
  398. END
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  

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