Télécharger coml7.eso

Retour à la liste

Numérotation des lignes :

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

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