Télécharger coml7.eso

Retour à la liste

Numérotation des lignes :

coml7
  1. C COML7 SOURCE JK148537 26/08/26 21:15:11 12627
  2. SUBROUTINE COML7(iqmod,wrk52,wrk53,wrk54,IB,igau,
  3. & wrk2,mwrkxe,wrk3,wrk7,wrk8,wrk9,wrk91,iretou,
  4. & wr13,wr14,ecou,iecou,necou,xecou,ifus)
  5.  
  6. *-----------------------------------------------------------------------
  7. * lois locales en MECANIQUE et POREUX
  8. * decrites au point d integration
  9. *-----------------------------------------------------------------------
  10. IMPLICIT INTEGER(I-N)
  11. IMPLICIT REAL*8(A-H,O-Z)
  12.  
  13. -INC PPARAM
  14. -INC CCOPTIO
  15. -INC CCGEOME
  16. -INC CCHAMP
  17.  
  18. -INC SMLREEL
  19. -INC SMMODEL
  20. -INC SMELEME
  21. -INC SMINTE
  22. -INC SMCOORD
  23.  
  24. -INC HNBRHEL
  25.  
  26. * segment deroulant le mcheml
  27. -INC DECHE
  28.  
  29. -INC TECOU
  30.  
  31. SEGMENT WRK2
  32. REAL*8 TRAC(LTRAC)
  33. ENDSEGMENT
  34. *
  35. SEGMENT WRK3
  36. REAL*8 WORK(LW),WORK2(LW2)
  37. ENDSEGMENT
  38. *
  39. SEGMENT MWRKXE
  40. REAL*8 XE(3,NBNN)
  41. ENDSEGMENT
  42. *
  43. SEGMENT ENDO0
  44. REAL*8 ENDO(LENDO),RAPP(LENDO)
  45. ENDSEGMENT
  46. *
  47. SEGMENT WRK7
  48. REAL*8 F(NCOURB,2),W(NCOURB),TRUC(NCOURB)
  49. ENDSEGMENT
  50. *
  51. SEGMENT WRK8
  52. REAL*8 DD(NSTRS,NSTRS),DDV(NSTRS,NSTRS),DDINV(NSTRS,NSTRS)
  53. REAL*8 DDINVp(NSTRS,NSTRS)
  54. ENDSEGMENT
  55. *
  56. SEGMENT WRK9
  57. REAL*8 YOG(NYOG),YNU(NYNU),YALFA(NYALFA),YSMAX(NYSMAX)
  58. REAL*8 YN(NYN),YM(NYM),YKK(NYKK),YALFA1(NYALF1)
  59. REAL*8 YBETA1(NYBET1),YR(NYR),YA(NYA),YKX(NYKX),YRHO(NYRHO)
  60. REAL*8 SIGY(NSIGY)
  61. INTEGER NKX(NNKX)
  62. ENDSEGMENT
  63. *
  64. SEGMENT WRK91
  65. REAL*8 YOG1(NYOG1),YNU1(NYNU1),YALFT1(NYALFT1),YSMAX1(NYSMAX1)
  66. REAL*8 YN1(NYN1),YM1(NYM1),YKK1(NYKK1),YALF2(NYALF2)
  67. REAL*8 YBET2(NYBET2),YR1(NYR1),YA1(NYA1),YQ1(NYQ1),YRHO1(NYRHO1)
  68. REAL*8 SIGY1(NSIGY1)
  69. ENDSEGMENT
  70. *
  71. c mistral :
  72. SEGMENT WR13
  73. REAL*8 PDILT(NPDILT),PNBRE(NPNBRE),PCOHI(NPCOHI),PECOU(NPECOU)
  74. REAL*8 PEDIR(NPEDIR),PRVCE(NPRVCE),PECRX(NPECRX),PDVDI(NPDVDI)
  75. REAL*8 PCROI(NPCROI)
  76. REAL*8 PINCR(NPINCR)
  77. ENDSEGMENT
  78.  
  79. c fluendo3D
  80. SEGMENT WR14
  81. INTEGER INLVIA(NBVIA)
  82. ENDSEGMENT
  83.  
  84. REAL*8 CRIGI(12),CMASS(12),XCAR(1)
  85.  
  86. * moterr(1:6) = 'COML7 '
  87. * moterr(7:15) = 'element '
  88. * interr(1) = ib
  89. * interr(2) = igau
  90. * call erreur(-329)
  91.  
  92. imodel = iqmod
  93. *---------------------------------------------------------------------
  94. * ecoulement selon les modeles
  95. *---------------------------------------------------------------------
  96. c
  97. NBPGAU = NBGS
  98. NVARI = NVART
  99. NSTRSL = iecou.NSTRSS
  100. JNPLAS = INPLAS
  101. JMFR = iecou.MFRbi
  102.  
  103. C======================================================================
  104. C MODELE ELASTIQUE LINEAIRE
  105. C======================================================================
  106. C write(6,*) 'COML7 : IFUS =',IFUS
  107. IF (JNPLAS.EQ.0.OR.IFUS.EQ.1) THEN
  108. * barres et poutres
  109. IF (JMFR.EQ.7.OR.JMFR.EQ.13) THEN
  110. IF (CMATE.EQ.'SECTION ') THEN
  111. IPM = int(xmat(1))
  112. IPC = int(xmat(2))
  113. MLREEL = NINT(XMAT(3))
  114. IF(MLREEL.EQ.0)THEN
  115. CALL FRIGIE(IPM,IPC,CRIGI,CMASS)
  116. ELSE
  117. SEGACT, MLREEL
  118. CALL BIFLX1(PROG(1),NSTRS,CRIGI)
  119. SEGDES, MLREEL
  120. ENDIF
  121. ENDIF
  122. ENDIF
  123. c
  124. CALL CALSIG(DEPST,DDAUX,NSTRSL,CMATE,VALMAT,VALCAR,N2EL,N2PTEL,
  125. 1 MFR1,IFOURB,IB,IGAU,EPAIST,NBPGAU,MELE,NPINT,NBGMAT,
  126. 2 NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK,ROTHOO,
  127. 3 DDHOMU,CRIGI,DSIGT,IRTD)
  128.  
  129. IF (IRTD.EQ.1) THEN
  130. DO 10 IC=1,NSTRSL
  131. SIGF(IC)=SIG0(IC)+DSIGT(IC)
  132. 10 CONTINUE
  133.  
  134. XVAR = 1.D0
  135. IF (IFUS.EQ.1) XVAR = 0.D0
  136.  
  137. DO 20 IC=1,NVARI
  138. VARF(IC) = XVAR*VAR0(IC)
  139. 20 CONTINUE
  140.  
  141. IF (IFUS.EQ.1) THEN
  142. NDEIN = EPIN0(/1)
  143. C write(6,*) 'COML7 : NDEIN =',NDEIN
  144. DO 21 IC=1,NDEIN
  145. EPINF(IC) = EPIN0(IC)
  146. DEFP(IC) = 0.D0
  147. 21 CONTINUE
  148. ENDIF
  149.  
  150. ELSE
  151. KERRE=69
  152. ENDIF
  153.  
  154. RETURN
  155. ENDIF
  156.  
  157. *---------------------------------------------------------------------
  158. * appel ccoin0 et ccoinc
  159. * mfr1 <- MFR , nstrss <- nstrs , wrk52 <- wrk0
  160. * CCOTRA <- COTRAC , xcarb <- XCAR
  161. *---------------------------------------------------------------------
  162. C
  163. C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  164. GOTO(301,300,303,304,305,300,307,300,300,300,300,312,300,300,315,
  165. $ 300,317,300,319,320,321,322,323,324,325,300,300,300,300,300,
  166. * 31
  167. $ 300,300,300,300,300,300,300,300,300,300,300,300,343,344,345,
  168. $ 300,300,300,300,350,351,300,353,300,300,300,300,300,300,300,
  169. * 61
  170. $ 361,300,363,300,300,300,300,300,300,370,300,300,300,300,300,
  171. $ 376,377,300,300,300,300,382,300,384,385,386,387,300,300,390,
  172. * 91
  173. $ 300,300,300,394,395,300,300,300,300,400,401,402,403,300,405,
  174. $ 300,407,300,300,300,411,412,413,300,300,300,300,300,300,420,
  175. * 121
  176. $ 421,422,300,300,300,300,300,300,300,430,300,300,300,300,300,
  177. $ 436,437,438,439,300,300,300,300,300,300,300,300,300,300,300,
  178. * 151
  179. $ 300,300,300,300,300,300,300,300,300,300,300,300,300,300,440,
  180. $ 300,300,300,300,300,300,300,300,300,300,300,300,300,300,440,
  181. * 181 <---Sellier-------> 192
  182. $ 300,300,300,300,300,300,487,488,489,490,491,440,300,300,300
  183. $ ) JNPLAS
  184. C
  185. C======================================================================
  186. 300 CONTINUE
  187. WRITE(IOIMP,*) ' ERREUR D AIGUILLAGE COML7 '
  188. CALL ERREUR(5)
  189. RETURN
  190. C
  191. C======================================================================
  192. C MODELES PLASTIQUES VIA CCOINC OU CCOIN0
  193. C======================================================================
  194. C MODELE PLASTIQUE PARFAIT
  195. 301 CONTINUE
  196. KERRE = 0
  197. IF (MATE.EQ.4.AND.(JMFR.EQ.1.OR.JMFR.EQ.31)
  198. & .AND.IDIM.EQ.3) THEN
  199. r_z = XMAT(9)
  200. ELSE
  201. r_z = XMAT(5)
  202. ENDIF
  203. IF (r_z.LE.0.D0) KERRE = 33
  204. NCOURB = 2
  205. TRAC(1) = r_z
  206. TRAC(3) = r_z
  207. TRAC(2) = 0.D0
  208. TRAC(4) = 1.D9
  209. GO TO 800
  210. C
  211. C -----------------------------------------------------------------
  212. C MODELE PLASTIQUE DRUCKER_PARFAIT
  213. 303 CONTINUE
  214. c
  215. c cas du modele de drucker-prager parfait
  216. c les donnees sont les limites en traction et en compression
  217. c
  218. IMAPLA=5
  219. KERRE = 0
  220. DEN = ABS(XMAT(6)) + XMAT(5)
  221. IF (DEN.EQ.0.D0) THEN
  222. KERRE=48
  223. ELSE
  224. XMAT(7) = 2.0D0*ABS(XMAT(6))*XMAT(5)/DEN
  225. XMAT(5) = (ABS(XMAT(6)) - XMAT(5))/DEN
  226. XMAT(6) = 1.D0
  227. XMAT(8)=XMAT(5)
  228. XMAT(9)=XMAT(6)
  229. XMAT(10)=XMAT(5)
  230. XMAT(11)=XMAT(6)
  231. XMAT(12)=XMAT(7)
  232. XMAT(13)=0.D0
  233. c
  234. c petits tests sur les donnees
  235. IF(XMAT(10)/(XMAT(11)+1.D-20).GT.
  236. & XMAT(5)*1.01/(XMAT(6)+1.D-20)
  237. & .OR.XMAT(12).GT.XMAT(7)*1.01 ) THEN
  238. KERRE = 48
  239. ENDIF
  240. ENDIF
  241. GO TO 800
  242. C
  243. C -----------------------------------------------------------------
  244. C MODELE PLASTIQUE CINEMATIQUE
  245. 304 CONTINUE
  246. c
  247. c cas de la plasticite cinematique bilineaire
  248. c
  249. IF(XMAT(5).EQ.0.D0) THEN
  250. KERRE=33
  251. ELSE
  252. ICINE=1
  253. NCOURB=2
  254. TRAC(1)=XMAT(5)
  255. TRAC(2)=0.D0
  256. TRAC(4)=1.D9
  257. TRAC(3)=XMAT(5)+XMAT(6)*TRAC(4)
  258. ENDIF
  259. GOTO 800
  260. C
  261. C -----------------------------------------------------------------
  262. C MODELES PLASTIQUE ISOTROPE ET ELASTIQUE NON LINEAIRE
  263. 305 CONTINUE
  264. 387 CONTINUE
  265. c
  266. c cas de la plasticite isotrope ecrouissable
  267. c
  268. c on recupere la courbe de traction
  269. c
  270. nccor=ncourb
  271. CALL CCOTRA(WRK52,WRK2,NCcor,WRK53)
  272. ncourb=nccor
  273. GO TO 800
  274. C
  275. C -----------------------------------------------------------------
  276. C MODELE PLASTIQUE CHABOCHE1
  277. 307 CONTINUE
  278. KERRE = 0
  279. ICINE = 1
  280. IMAPLA= 4
  281. GO TO 800
  282. C
  283. C -----------------------------------------------------------------
  284. C MODELE PLASTIQUE CHABOCHE2
  285. 312 CONTINUE
  286. KERRE = 0
  287. ICINE = 1
  288. IMAPLA= 4
  289. GO TO 800
  290. C
  291. C -----------------------------------------------------------------
  292. C MODELE PLASTIQUE DRUCKER_PRAGER
  293. 315 CONTINUE
  294. IMAPLA=5
  295. c
  296. c petits tests sur les donnees
  297. c
  298. IF(XMAT(10)/(XMAT(11)+1.D-20).GT.
  299. 1 XMAT(5)*1.01/(XMAT(6)+1.D-20)
  300. 2 .OR.XMAT(12).GT.XMAT(7)*1.01 ) THEN
  301. KERRE = 48
  302. ELSE
  303. KERRE = 0
  304. c
  305. c permutations pour ecoinc
  306. c
  307. DO 30 I=5,7
  308. WW=XMAT(I)
  309. XMAT(I)=XMAT(I+5)
  310. XMAT(I+5)=WW
  311. 30 CONTINUE
  312. ENDIF
  313. GO TO 800
  314. C
  315. C -----------------------------------------------------------------
  316. C MODELE PLASTIQUE_ENDOM PSURY
  317. 351 CONTINUE
  318. C
  319. SEGINI ENDO0
  320. c cas de la plasticite isotrope ecrouissable avec un
  321. c endommagement de type P/Y
  322. c
  323. c on recupere la courbe de traction et la courbe de début d'endommagement
  324. nccor=ncourb
  325. CALL CCOEND(wrk52,wrk53,WRK2,ENDO0,NCcor,NENDO,NRAPP)
  326. ncourb=nccor
  327. IF (VAR0(7).GE.1.D-10) THEN
  328. DO 110 I=1,NSTRS
  329. SIG0(I)=SIG0(I)/VAR0(7)
  330. 110 CONTINUE
  331. ENDIF
  332. C
  333. C -----------------------------------------------------------------
  334. 800 CONTINUE
  335. IF (KERRE .NE. 0) RETURN
  336. ** write(6,*) 'coml7 icara en 373',icara
  337. DO 40 IC=1,ICARA
  338. WORK(IC)=XCARB(IC)
  339. 40 CONTINUE
  340. ** write(6,*) 'work',(work(ic),ic=1,icara)
  341. BID(1)=0.D00
  342. BID(2)=0.D00
  343. BID(3)=0.D00
  344.  
  345. IF ((JNPLAS .EQ. 1 .OR.JNPLAS .EQ. 4 .OR.
  346. & JNPLAS .EQ. 5 .OR.JNPLAS .EQ. 7 .OR.
  347. & JNPLAS .EQ. 12.OR.JNPLAS .EQ. 87 ) .AND.
  348. & (JMFR .EQ. 1 .OR. JMFR .EQ. 3 .OR.
  349. & JMFR .EQ. 5 .OR. JMFR .EQ. 7 .OR.
  350. & JMFR .EQ. 9 .OR. JMFR .EQ. 31) .AND.
  351. & (CMATE.NE.'UNIDIREC')) THEN
  352. c
  353. nccor=ncourb
  354. iforb=ifourb
  355.  
  356. CALL CCOIN0(wrk52,wrk53,wrk54,wrk2,wrk3,IB,IGAU,
  357. & NBPGAU,NCcor,IFORB,iecou)
  358. ncourb=nccor
  359. ifourb=iforb
  360. c
  361. ELSE
  362. c
  363. CALL CCOINC(wrk52,wrk53,wrk54,wrk2,wrk3,IB,IGAU,
  364. & NBPGAU,ecou,necou,iecou)
  365. C
  366. C Modele d'endommagement P/Y : calcul des contraintes endommagees
  367. IF (JNPLAS.EQ.51) THEN
  368. CALL PSURY(ENDO,NENDO,NVARI,NSTRS,MFR1,DEPST,XMAT,VAR0,RAPP,
  369. & NRAPP,SIG0,SIGF,VARF,NMATT,DEFP,KERRE)
  370. SEGSUP ENDO0
  371. ENDIF
  372. C
  373. ENDIF
  374. C
  375. RETURN
  376. C
  377. C======================================================================
  378. C MODELE PLASTIQUE ZERILI (Modele de Zerili-Armstrong)
  379. C======================================================================
  380. 350 CONTINUE
  381. c on recupere le pas de temps dt : voir comval
  382. c kich : fixe dt = 0. pour plasticite
  383. dtk1 = dt
  384. dt = 0.d0
  385. c
  386. IF (KERRE .EQ. 0) THEN
  387. ** write(6,*) 'coml7 icara en 424',icara
  388. DO 1124 IC=1,ICARA
  389. WORK(IC)=xcarb(IC)
  390. 1124 CONTINUE
  391. BID(1)=0.D00
  392. BID(2)=0.D00
  393. BID(3)=0.D00
  394. CALL CZERIL(wrk52,wrk53,wrk54,wrk2,wrk3,IB,IGAU,
  395. & NBPGAU,necou,ecou,iecou,xecou)
  396. ENDIF
  397. dt = dtk1
  398. RETURN
  399. C
  400. C======================================================================
  401. C MODELES PLASTIQUE INPLAS 111, 112 et 113
  402. C======================================================================
  403. 411 CONTINUE
  404. 412 CONTINUE
  405. 413 CONTINUE
  406. C Calcula incremento de tensiones trial, DSIGT
  407. call CALSIG(DEPST,DDAUX,NSTRSL,CMATE,VALMAT,VALCAR,
  408. . N2EL,N2PTEL,MFR1,IFOURB,IB,IGAU,EPAIST,
  409. . NBPGAU,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,
  410. . XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD)
  411. nescri =0
  412. nues =6
  413. nitmax =25
  414. precis =1.E-10
  415. C
  416. C MODELE PLASTIQUE MRS_LADE
  417. IF (JNPLAS.eq.111) THEN
  418. C mrs-lade requiere siempre derivacion numerica
  419. nnumer=3
  420. deltax=2.D0**(int(log10(1.D-6)/log10(2.D0)))
  421. call eco_MRSMAC(SIG0,VAR0,DSIGT,SIGF,VARF,DEFP,IPLAST,
  422. . NSTRSL,XMAT,KERRE,PRECIS,NITMAX,nescri,
  423. . nues,nnumer,deltax,kdummy)
  424. C
  425. C MODELE PLASTIQUE J2
  426. ELSE IF (JNPLAS.eq.112) THEN
  427. call eco_j2(SIG0,VAR0,DSIGT,SIGF,VARF,DEFP,IPLAST,
  428. . NSTRSL,XMAT,KERRE,PRECIS,NITMAX,nescri,
  429. . nues,kdummy)
  430. C
  431. C MODELE PLASTIQUE RH_COULOMB (Rounded Hyperbolic Mohr-Coulomb)
  432. ELSE IF (JNPLAS.eq.113) THEN
  433. call eco_rhmc(SIG0,VAR0,DSIGT,SIGF,VARF,DEFP,IPLAST,
  434. . NSTRSL,XMAT,KERRE,PRECIS,NITMAX,nescri,
  435. . nues,kdummy)
  436. ENDIF
  437. IF (KERRE.EQ.1) THEN
  438. c write(*,*) ' Nonconvergence c7 at elem: ', ib,' gauss:',igau
  439. KERRE=99
  440. ENDIF
  441. RETURN
  442. C======================================================================
  443. C MODELES VISCOPLASTIQUE ET FLUAGE VIA CCONST
  444. C======================================================================
  445. C MODELE VISCOPLASTIQUE GUIONNET
  446. 317 continue
  447. C MODELE FLUAGE NORTON
  448. 319 continue
  449. C MODELE FLUAGE BLACKBURN
  450. 320 continue
  451. C MODELE FLUAGE POLYNOMIAL
  452. 321 continue
  453. C MODELE FLUAGE RCCMR-316
  454. 322 continue
  455. C MODELE FLUAGE RCCMR-304
  456. 323 continue
  457. C MODELE FLUAGE LEMAITRE
  458. 324 continue
  459. C MODELE VISCOPLASTIQUE ONERA
  460. 325 continue
  461. C MODELE VISCOPLASTIQUE POUDRE_A
  462. 344 continue
  463. C MODELE VISCOPLASTIQUE POUDRE_B
  464. 345 continue
  465. C MODELE VISCOPLASTIQUE OHNO
  466. 353 continue
  467. C MODELE FLUAGE BLACKBURN_2
  468. 361 continue
  469. C MODELE VISCOPLASTIQUE DDI
  470. 363 continue
  471. C MODELE VISCOPLASTIQUE KOCKS
  472. 370 continue
  473. C MODELE VISCOPLASTIQUE NOUAILHAS_A
  474. 376 continue
  475. C MODELE VISCOPLASTIQUE NOUAILHAS_B
  476. 377 continue
  477. C MODELE FLUAGE COMETE
  478. 384 continue
  479. C MODELE FLUAGE CCPL
  480. 385 continue
  481. C MODELE FLUAGE X11
  482. 386 continue
  483. C MODELE FLUAGE SODERBERG
  484. 402 continue
  485. C MODELE VISCOPLASTIQUE GATT_MONERIE
  486. 407 continue
  487. C MODELE VISCOPLASTIQUE VISCODD
  488. 430 continue
  489. C MODELE VISCOPLASTIQUE CHAB_SINH_R
  490. 436 continue
  491. C MODELE VISCOPLASTIQUE CHAB_SINH_X
  492. 437 continue
  493. C MODELE VISCOPLASTIQUE CHAB_NOR_R
  494. 438 continue
  495. C MODELE VISCOPLASTIQUE CHAB_NOR_X
  496. 439 continue
  497. C MODELE VISCOPLASTIQUE CHABOCHE
  498. 440 continue
  499. C
  500. TETA1 = ture0(1)
  501. TETA2 = turef(1)
  502. IF (JNPLAS.EQ.44) THEN
  503. IF (VAR0(NVARI).EQ.0.0) VAR0(NVARI)=XMAT(20)
  504. ELSE IF (JNPLAS.EQ.45) THEN
  505. IF (VAR0(NVARI).EQ.0.0) THEN
  506. VAR0(NVARI-2)=XMAT(20)
  507. VAR0(NVARI-1)=XMAT(21)
  508. VAR0(NVARI)=XMAT(27)
  509. ENDIF
  510. ENDIF
  511. FI1 = 0.D0
  512. FI2 = 0.D0
  513. IF (JNPLAS.EQ.107) THEN
  514. nexo = exova0(/1)
  515. do 50 inex = 1,nexo
  516. if ((nomexo(inex) .eq.'DFIS ').and.
  517. & (conexo(inex)(1:LCONMO).eq.CONM(1:LCONMO))) then
  518. fi1 = exova0(inex)
  519. fi2 = exova1(inex)
  520. goto 2001
  521. endif
  522. 50 continue
  523. 2001 continue
  524. ENDIF
  525.  
  526. if (wrk7.eq.0) then
  527. segini wrk7
  528. else
  529. if (f(/1).ne.ncourb) segadj wrk7
  530. endif
  531. if (wrk9.eq.0) then
  532. segini wrk9
  533. else
  534. if (YOG(/1).ne.NYOG.or.YNU(/1).ne.NYNU.or.YALFA(/1).ne.NYALFA
  535. > .or.YSMAX(/1).ne.NYSMAX.or.YN(/1).ne.NYN.or.YM(/1).ne.NYM.or.
  536. > YKK(/1).ne.NYKK.or.YALFA1(/1).ne.NYALF1.or.YBETA1(/1).ne.NYBET1
  537. > .or.YR(/1).ne.NYR.or.YA(/1).ne.NYA.or.YKX(/1).ne.NYKX.or.
  538. > YRHO(/1).ne.NYRHO.or.SIGY(/1).ne.NSIGY.or.NKX(/1).ne.NNKX)
  539. > segadj wrk9
  540. endif
  541. if (wrk91.eq.0) then
  542. segini wrk91
  543. else
  544. if (YOG1(/1).ne.NYOG1 .or. YNU1(/1).ne.NYNU1 .or.
  545. > YALFT1(/1).ne.NYALFT1 .or.
  546. > YSMAX1(/1).ne.NYSMAX1.or.YN1(/1).ne.NYN1.or.
  547. > YM1(/1).ne.NYM1.or.YKK1(/1).ne.NYKK1.or.YALF2(/1).ne.NYALF2.or.
  548. > YBET2(/1).ne.NYBET2.or.YR1(/1).ne.NYR1.or.YA1(/1).ne.NYA1.or.
  549. > YQ1(/1).ne.NYQ1.or.YRHO1(/1).ne.NYRHO1.or.SIGY1(/1).ne.NSIGY1)
  550. > segadj wrk91
  551. endif
  552. c
  553. iforb=ifourb
  554. nccor = ncourb
  555.  
  556. CALL CCONST(wrk52,wrk53,wrk54,WRK7,WRK8,WRK9,WRK91,
  557. 1 NVARI,NSSINC,INV,IFORB,TETA1,TETA2,FI1,FI2,
  558. 4 TLIFE,NCcor,IB,IGAU,NBPGAU,KERREU1,iecou,xecou)
  559. c
  560. ifourb=iforb
  561. ncourb=nccor
  562. IF (MFR1.EQ.17.AND.JNPLAS.EQ.19) THEN
  563. IF (KERREU1.NE.0.AND.NSSINC.EQ.1) THEN
  564. CALL ERREUR(KERREU1)
  565. ENDIF
  566. ENDIF
  567. DTOPTI = MIN(DTOPTI,DTT)
  568. NINCMA = MAX(NINCMA,NSSINC)
  569. NCOMP = NCOMP + 1
  570. TSOM = TSOM + DTT
  571. NSOM = NSOM + NSSINC
  572. NINV = NINV + INV
  573. TCAR = TCAR + DTT* DTT
  574. IF(KERRE.NE.0.AND.KERRE.NE.99) THEN
  575. KERR1=1
  576. ENDIF
  577. RETURN
  578. C
  579. C======================================================================
  580. C MODELE VISCOPLASTIQUE PARFAIT
  581. C======================================================================
  582. 343 CONTINUE
  583. icarbi=icara
  584. dtbi=dt
  585. iforb=ifourb
  586. nlmatb=nelmat
  587. nbgmab=nbgmat
  588. JMFR = mfr1
  589. CALL PRVPAR(SIG0,NSTRSL,DEPST,VAR0,XMAT,NMATT,XCAR,ICARbi,NVARI,
  590. 1 SIGF,VARF,DEFP,JMFR,DDAUX,CMATE,VALMAT,VALCAR,N2EL,
  591. 2 N2PTEL,NBPGAU,IFORB,IB,IGAU,EPAIST,MELE,NPINT,
  592. 3 NBGMAb,NLMATb,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK,
  593. 4 ROTHOO,DDHOMU,CRIGI,DSIGT,KERRE,DTbi)
  594. dt=dtbi
  595. ifourb=iforb
  596. nelmat=nlmatb
  597. nbgmat=nbgmab
  598. mfr1=JMFR
  599. IND = 0
  600. RETURN
  601. C
  602. C======================================================================
  603. C MODELE VISCOPLASTIQUE VISK2
  604. C======================================================================
  605. 382 continue
  606. * ELSE IF ( JNPLAS .EQ. 82 ) THEN
  607. icarbi=icara
  608. dtbi=dt
  609. iforb=ifourb
  610. nlmatb=nelmat
  611. nbgmab=nbgmat
  612. JMFR = mfr1
  613. CALL PRVIK2(SIG0,NSTRSL,DEPST,VAR0,XMAT,NMATT,XCAR,ICARbi,NVARI,
  614. 1 SIGF,VARF,DEFP,JMFR,DDAUX,CMATE,VALMAT,VALCAR,N2EL,
  615. 2 N2PTEL,NBPGAU,IFORB,IB,IGAU,EPAIST,MELE,NPINT,
  616. 3 NBGMAb,NLMATb,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK,
  617. 4 ROTHOO,DDHOMU,CRIGI,DSIGT,KERRE,DTbi)
  618. dt=dtbi
  619. ifourb=iforb
  620. nelmat=nlmatb
  621. nbgmat=nbgmab
  622. mfr1=JMFR
  623. IND = 0
  624. RETURN
  625.  
  626. C======================================================================
  627. C MODELE VISCOPLASTIQUE VISCOHINT
  628. C======================================================================
  629. 390 CONTINUE
  630. * ELSE IF (JNPLAS .EQ. 90) THEN
  631. CALL VISHIN(SIG0,NSTRSL,DEPST,VAR0,NVARI,XMAT,NMATT,XCAR,SIGF,
  632. & VARF,DEFP,PRECIS,MFR1,KERRE,DT)
  633.  
  634. IND =1
  635. RETURN
  636. C
  637. C======================================================================
  638. C MODELE VISCOPLASTIQUE MISTRAL
  639. C======================================================================
  640. 394 CONTINUE
  641. * ELSE IF (JNPLAS.EQ.94) THEN
  642. FI1 = 0.D0
  643. FI2 = 0.D0
  644. nexo = exova0(/1)
  645. do 60 inex = 1,nexo
  646. if ((nomexo(inex) .eq.'FI ').and.
  647. & (conexo(inex)(1:LCONMO).eq. CONM(1:LCONMO))) then
  648. fi1 = exova0(inex)
  649. fi2 = exova1(inex)
  650. goto 2002
  651. endif
  652. 60 continue
  653. 2002 continue
  654. CALL CMISC1(wrk52,wrk53,NPDILT,NPNBRE,NPCOHI,NPECOU,
  655. & NPEDIR,NPRVCE,NPECRX,NPDVDI,NPCROI,NPINCR)
  656.  
  657. IF (WR13 .EQ. 0) SEGINI,WR13
  658. IF (NPDILT.NE.PDILT(/1) .OR. NPNBRE.NE.PNBRE(/1) .OR.
  659. & NPCOHI.NE.PCOHI(/1) .OR. NPECOU.NE.PECOU(/1) .OR.
  660. & NPEDIR.NE.PEDIR(/1) .OR. NPRVCE.NE.PRVCE(/1) .OR.
  661. & NPECRX.NE.PECRX(/1) .OR. NPDVDI.NE.PDVDI(/1) .OR.
  662. & NPCROI.NE.PCROI(/1) .OR. NPINCR.NE.PINCR(/1)) SEGADJ,WR13
  663.  
  664. CALL CMISC2(wrk52,wrk53,NPDILT,NPNBRE,NPCOHI,NPECOU,
  665. & NPEDIR,NPRVCE,NPECRX,NPDVDI,NPCROI,NPINCR,WR13)
  666. NDPI = nint(PNBRE(1))
  667. NDVP = nint(PNBRE(2))
  668. NXX = nint(PNBRE(3))
  669. NPSI = nint(PNBRE(4))
  670. TETA1 = ture0(1)
  671. TETA2 = turef(1)
  672. CALL MISTRL(TEMP0,TETA1,FI1, SIG0, VAR0, IFOURB, NSTRS,DT,
  673. & TETA2,FI2,DEPST, valmat,TXR,IDIM,
  674. & PDILT,NDPI,NDVP,NXX,NPSI,
  675. & PCOHI,PECOU,PEDIR,PRVCE,PECRX,PDVDI, PCROI,
  676. & NPINCR,PINCR, SIGF,VARF,EPINF)
  677. C SEGSUP WR13
  678. IND = 1
  679. RETURN
  680. C
  681. C======================================================================
  682. C MODELE FLUAGE BPEL_RELAX
  683. C======================================================================
  684. 395 CONTINUE
  685. * ELSE IF ( JNPLAS .EQ. 95 ) THEN
  686. icarbi=icara
  687. JMFR=mfr1
  688. iforb=ifourb
  689. nbgmab=nbgmat
  690. nlmatb=nelmat
  691. dtbi=dt
  692. CALL ECBPEL(SIG0,NSTRSL,DEPST,VAR0,XMAT,NMATT,xcarb,ICARbi,
  693. 1 NVARI,SIGF,VARF,DEFP,JMFR,DDAUX,CMATE,VALMAT,
  694. 2 VALCAR,N2EL,N2PTEL,NBPGAU,IFORB,IB,IGAU,EPAIST,
  695. 3 MELE,NPINT,NBGMAb,NLMATb,SECT,LHOOK,TXR,XLOC,XGLOB,
  696. 4 D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,KERRE,DTbi)
  697. dt=dtbi
  698. ifourb=iforb
  699. nelmat=nlmatb
  700. nbgmat=nbgmab
  701. mfr1=JMFR
  702. icara=icarbi
  703. IND = 0
  704. RETURN
  705.  
  706. C======================================================================
  707. C MODELES BETON_URGC
  708. C======================================================================
  709. C MODELE PLASTIQUE BETON_URGC (DEBRANCHE POUR LE MOMENT GOTO 300)
  710. 399 CONTINUE
  711. C MODELE VISCOPLASTIQUE BETON_URGC
  712. 400 CONTINUE
  713. C MODELE FLUAGE BETON_URGC
  714. 401 CONTINUE
  715. C MODELE PLASTIQUE_ENDOM BETON_URGC
  716. 420 CONTINUE
  717. C MODELE VISCOPLASTIQUE BETON_URGC_ENDO
  718. 422 CONTINUE
  719. * ELSE IF ((JNPLAS.GE.99.AND.JNPLAS.LE.101).OR.
  720. * 1 (JNPLAS.EQ.120).OR.(JNPLAS.EQ.122)) THEN
  721. c
  722. xlcar = bid(1)
  723. TETA1 = ture0(1)
  724. TETA2 = turef(1)
  725. c modele BET_URGC : CONTRAINTES PLANES,
  726. c DEFORMATION PLANES ET AXISYMETRIE
  727. if (jnplas.eq.100) inurgc = 1
  728. C modele BETON_URGC ELASTO PLASTIQUE: CONTRAINTES PLANES,
  729. C DEFORMATION PLANES ET AXISYMETRIE
  730. if (jnplas.eq.99) inurgc = 0
  731. C modele BETON_URGC VISCO ELASTO PLASTIQUE : CONTRAINTES PLANES,
  732. C DEFORMATION PLANES ET AXISYMETRIE
  733. if (jnplas.eq.101) inurgc = 2
  734. C modele BETON_URGC PLASTIQUE ENDOMMAGEABLE : CONTRAINTES PLANES,
  735. C DEFORMATION PLANES ET AXISYMETRIE
  736. if (jnplas.eq.120) inurgc = 3
  737. C modele BETON_URGC_ENDO VISCOPLASTIQUE ENDOMMAGEABLE : CONTRAINTES PLANES,
  738. C DEFORMATION PLANES ET AXISYMETRIE
  739. if (jnplas.eq.122) inurgc = 4
  740.  
  741. iforb=ifourb
  742. dtbi=dt
  743. CALL CURGCS(wrk52,wrk53,wrk54,MWRKXE,NSTRSL,IFORB,DTbi,IB,IGAU,
  744. & xlcar,inurgc,TETA1,TETA2)
  745. ifourb=iforb
  746. dt=dtbi
  747. RETURN
  748. C
  749. C======================================================================
  750. C MODELE PLASTIQUE_ENDON BETON_INSA
  751. C======================================================================
  752. 421 CONTINUE
  753. * ELSE IF (JNPLAS.EQ.121) THEN
  754. c
  755. xlcar = bid(1)
  756. C modele BETON_URGC PLASTIQUE ENDOMMAGEABLE : 3D
  757.  
  758. iforb=ifourb
  759. dtbi=dt
  760. CALL bet3D(wrk52,wrk53,wrk54,MWRKXE,NSTRSL,IFORB,DTbi,IB,IGAU,
  761. & xlcar)
  762. ifourb=iforb
  763. dt=dtbi
  764. RETURN
  765. C
  766. C======================================================================
  767. C MODELES SELLIER
  768. C======================================================================
  769. C MODELE VISCOPLASTIQUE FLUENDO3D DE SELLIER
  770. 487 CONTINUE
  771. C MODELE VISCOPLASTIQUE INCLUSION3D DE SELLIER
  772. 488 CONTINUE
  773. C MODELE VISCOPLASTIQUE ENDO3D DE SELLIER
  774. 489 CONTINUE
  775. C MODELE VISCOPLASTIQUE FLUISO3D DE SELLIER
  776. 490 CONTINUE
  777. C MODELE VISCOPLASTIQUE FLUORTHO3D DE SELLIER
  778. 491 CONTINUE
  779. C
  780. C RECUPERATION DES TEMPERATURES
  781. TETA1b = ture0(1)
  782. TETA2b = turef(1)
  783. c formulation
  784. iforb=ifourb
  785. c pas de temps
  786. dtbi=dt
  787. c nbr de variables internes
  788. nvarib=nvari
  789. c nbre de noeuds ds l element
  790. nbnnb=NBNNBI
  791. c dimension espace
  792. idimb=idim
  793. c temperature de reference
  794. trefb=TREFA
  795. c coordonnees des neouds
  796. C ENTREE : XE : tableau de REAL*8 de dimensions (3,NBNN),
  797. C coordonnees des noeuds de l'element
  798. C Ce tableau a ete rempli par la routine DOXE
  799. C appelee au prealable
  800. c do insb=1,nbnnb
  801. c print*,'xel(',1,insb,')=',xe(1,insb)
  802. c print*,'xel(',2,insb,')=',xe(2,insb)
  803. c print*,'xel(',3,insb,')=',xe(3,insb)
  804. c end do
  805. c read*
  806. c print*,'endo3d dans coml7',teta1,teta2,'endo3d'
  807. c print*,'dans coml7'
  808.  
  809. *AM 03/04/20
  810. if(WR14.EQ.0) then
  811. NBVIA = 0
  812. else
  813. NBVIA=INLVIA(/1)
  814. c print*,'NBVIA = ',NBVIA
  815. c do i=1,NBVIA
  816. c print*, 'I' ,i, 'INLVIA ' ,INLVIA(i)
  817. c end do
  818. endif
  819. * fin AM
  820. * sellier
  821. IF (JNPLAS.EQ.187) THEN
  822. *jk148537 2026
  823. if (istep.eq.0) then
  824. NMAT3D = nmatt + NB_PARA_HELM
  825. else
  826. NMAT3D = nmatt
  827. endif
  828. CALL cflu3d(WRK52,WRK53,WRK54,MWRKXE,WR14,nbnnb,idimb,
  829. c Iecou,xecou,
  830. # teta1b,teta2b,nvarib,NSTRSL,iforb,dtbi,trefb,NMAT3D)
  831. ELSE IF (JNPLAS.EQ.188) THEN
  832. NMAT3D = nmat
  833. CALL cinc3d(WRK52,WRK53,WRK54,MWRKXE,nbnnb,idimb,
  834. c Iecou,xecou,
  835. # teta1b,teta2b,nvarib,NSTRSL,iforb,dtbi,NMAT3D)
  836. ELSE IF (JNPLAS.EQ.189) THEN
  837. CALL cndo3d(WRK52,WRK53,WRK54,MWRKXE,WR14,nbnnb,idimb,
  838. c Iecou,xecou,
  839. # teta1b,teta2b,nvarib,NSTRSL,iforb,dtbi,trefb)
  840. ELSE IF (JNPLAS.EQ.190) THEN
  841. c print*, 'coml7'
  842. CALL cflui3d(WRK52,WRK53,WRK54,MWRKXE,WR14,nbnnb,idimb,
  843. c Iecou,xecou,
  844. # teta1b,teta2b,nvarib,NSTRSL,iforb,dtbi,trefb)
  845. ELSE IF (JNPLAS.EQ.191) THEN
  846. c print*, 'coml7'
  847. CALL cfluo3d(WRK52,WRK53,WRK54,MWRKXE,WR14,nbnnb,idimb,
  848. c Iecou,xecou,
  849. # teta1b,teta2b,nvarib,NSTRSL,iforb,dtbi,trefb)
  850. ENDIF
  851. ifourb=iforb
  852. dt=dtbi
  853. nvari=nvarib
  854. xecou.TREFA=trefb
  855. RETURN
  856.  
  857. C======================================================================
  858. C MODELE VISCOPLASTIQUE LEMENDO
  859. C======================================================================
  860. 403 CONTINUE
  861. * ELSE IF (jnplas.eq.103) THEN
  862. iforb=ifourb
  863. nbgmab=nbgmat
  864. nlmatb=nelmat
  865. CALL CFLUE2(wrk52,wrk53,wrk54,wrk2,wrk3,IB,IGAU,NBPGAU,NBGMAb,
  866. & NLMATb,IFORB)
  867.  
  868. RETURN
  869.  
  870. C======================================================================
  871. C MODELE VISCOPLASTIQUE FLUNOR2
  872. C======================================================================
  873. 405 CONTINUE
  874. * ELSE IF (jnplas.eq.105) THEN
  875. iforb=ifourb
  876. nbgmab=nbgmat
  877. nlmatb=nelmat
  878. CALL CFLUN2(wrk52,wrk53,wrk54,wrk2,wrk3,IB,IGAU,NBPGAU,NBGMAb,
  879. & NLMATb,IFORB)
  880. RETURN
  881.  
  882. C======================================================================
  883. END
  884.  
  885.  
  886.  
  887.  

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