Télécharger cflu3d.eso

Retour à la liste

Numérotation des lignes :

cflu3d
  1. C CFLU3D SOURCE FD218221 24/02/07 21:15:03 11834
  2. c A.Sellier sept. 2010 11:55:47 CEST
  3. c revision sept. 2022
  4. SUBROUTINE cflu3d(WRK52,WRK53,WRK54,MWRKXE,WR14,
  5. # nbnb,idimb,teta13d,teta23d,nvarib,nstrsb,ifourb,dtb,trefb)
  6.  
  7. C WRK52,53,54 segments déclarés dans le common DECHE
  8.  
  9. C XMAT(NCOMAT) = COMPOSANTES DE MATERIAU
  10. C IVAL(NCOMAT) = INDICE DES COMPOSANTES DE MATERIAU
  11. C NCOMAT = NOMBRE DE COMPOSANTES DE MATERIAU
  12. C XCAR(ICARA) = CARACTERISTIQUES
  13. C MFR = NUMERO DE LA FORMULATION DE L'ELEMENT FINI
  14. C = 1 MASSIF
  15. C = 3 COQUE MINCE ( COQ2 , COQ3 ET DKT )
  16. C = 5 COQUE EPAISSE ( COQ6 , COQ8 )
  17. C = 7 POUTRE
  18. C = 9 COQUE MINCE AVEC CISAILLEMENT TRANSVERSE ( COQ4 ET DST )
  19. C = 11 LIQUIDE
  20. C = 13 TUYAU
  21. C = 15 LINESPRING
  22. C = 17 TUYAU FISSURE
  23. C = 19 RACCORD MASSIF
  24. C = 21 RACCORD COQUE
  25. C = 23 SURFACE LIBRE
  26. C = 25 MEMBRANE
  27. C = 27 UNIAXIALE
  28. C = 29 THERMIQUE
  29. C = 31 INCOMPRESSIBLES
  30. C = 33 POREUX
  31. C = 35 JOINT
  32. C = 37 HOMOGENEISE
  33. C = 39 TUYO
  34. C = 41 TUYAU ACOUSTIQUE PURE
  35. C = 43 RACCORD TUYAU FLUIDE
  36. c* DDAUX = MATRICE DE HOOKE ELASTIQUE
  37. c* NSTRS = NBRE DE COMPOSANTES DES DEFORMATIONS
  38. c* CMATE = NOM DU MATERIAU
  39. c* VALMAT= TABLEAU DE CARACTERISTIQUES DU MATERIAU
  40. c* VALCAR= TABLEAU DE CARACTERISTIQUES GEOMETRIQUES
  41. c* N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE
  42. c* N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE
  43. c* MFR = NUMERO DE LA FORMULATION
  44. c* IFOU = type de formulation
  45. c* IB = NUMERO DE L ELEMENT COURANT
  46. c* IGAU = NUMERO DU POINT COURANT
  47. c* EPAIST= EPAISSEUR
  48. c* NBPGAU= NBRE DE POINTS DE GAUSS
  49. c* MELE = NUMERO DE L ELEMENT FINI
  50. c* NPINT = NBRE DE POINTS D INTEGRATION
  51. c* NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES
  52. c* NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES
  53. c* SECT = SECTION
  54. c* LHOOK = TAILLE DE LA MATRICE DE HOOKE
  55. c* TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI = TABLEAUX UTILISES
  56. c* POUR LE CALCUL DE LA MATRICE DE HOOKE
  57. C-----------------------------------------------------------------------
  58. C VARIABLES PASSEES PAR LES COMMONS COPTIO , ECOU ET NECOU
  59. C
  60. C IFOUR INDICE DU TYPE DE PROBLEME
  61. C -3 DEFORMATIONS PLANES GENERALISEES
  62. C -2 CONTRAINTES PLANES
  63. C -1 DEFORMATIONS PLANES
  64. C 0 AXISYMETRIQUE
  65. C 1 SERIE DE FOURIER
  66. C 2 TRIDIMENSIONNEL
  67. C ITYP TYPE DE FORMULATION MECANIQUE
  68. C --------------- ATTENTION ---------------
  69. C IL EST ACTIF APRES L APPEL DE VISAVI
  70. C -----------------------------------------
  71. C ITYP=1 CAS DES ELEMENTS MASSIFS
  72. C ITYP=2 CAS DES COQUES
  73. C ITYP=3 CAS DES MEMBRANES
  74. C ITYP=4 CAS DES CABLES ET DES BARRES
  75. C ITYP=5 CAS QUELCONQUE
  76. C ITYP=6 CAS DES CONTRAINTES PLANES
  77. C ITYP=7 CAS DES COQUES A NU=0. OU CONTRAINTES PLANES
  78. C ITYP=8 CAS DES MEMBRANES A NU=0. OU CONTRAINTES PLANES
  79. C ITYP=9 CAS DES COQUES EPAISSES
  80. C ITYP=10 CAS DES JOINTS
  81. C ITYP=11 CAS DES POUTRES
  82. C ITYP=12 CAS DES TUYAUX
  83. C ITYP=13 CAS DES COQUES AVEC CISAILLEMENT TRANSVERSE
  84. C
  85. C ISTEP flag utilise pour separer les etapes dans un calcul non local
  86. C ISTEP=0 -----> calcul local
  87. C ISTEP=1 -----> calcul non local etape 1 on calcule les seuils
  88. C ISTEP=2 -----> calcul non local etape 2 on continue le calcul
  89. C a partir des seuils moyennes
  90. C ISTEP=3 ----->sous iteration de Helmholtz
  91. C ISTEP est défini par DEFINI.ESO
  92. C
  93. C EPIN0 déformations inélastiques initiales
  94. C EPINF déformations inélastiques finales
  95. C epst0 déformation totale initiale
  96. C EPSTF déformation totale finale
  97. C
  98. C-----------------------------------------------------------------------
  99. C SORTIES
  100. C SIGF(NSTRS) = CONTRAINTES FINALES
  101. C VARF(NVARI) = VARIABLES INTERNES FINALES
  102. C DEFP = DEFORMATIONS PLASTIQUES
  103. C KERRE = 0 TOUT OK
  104. C-----------------------------------------------------------------------
  105.  
  106.  
  107. IMPLICIT INTEGER(I-N)
  108. IMPLICIT REAL*8(A-H,O-Z)
  109. c ajout sellier 2022
  110. -INC PPARAM
  111. c fin ajout sellier 2022
  112. -INC CCOPTIO
  113. -INC DECHE
  114. *
  115. SEGMENT IECOU
  116. * COMMON/IECOU/NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK,
  117. INTEGER icow1,icow2,icow3,icow4,icow5,icow6,icow7,
  118. C INTEGER NYOG, NYNU, NYALFA,NYSMAX,NYN, NYM, NYKK,
  119. 1 icow8,icow9,icow10,icow11,icow12,icow13,icow14,icow15,icow16,
  120. C . NYALF1,NYBET1,NYR, NYA, NYRHO,NSIGY, NNKX, NYKX, IND,
  121. 2 icow17,icow18,icow19,icow20,icow21,icow22,icow23,icow24,
  122. C . NSOM, NINV, NINCMA,NCOMP, JELEM, LEGAUS,INAT, NCXMAT,
  123. 3 icow25,icow26,icow27,icow28,icow29,icow30,ICARA,
  124. C . LTRAC, MFR, IELE, NHRM, NBNN, NBELEM,ICARA,
  125. 4 icow32,icow33,NSTRS1,MFR1,icow36,icow37,icow38,
  126. C . LW2, NDEF, NSTRSS,MFR1, NBGMAT,NELMAT,MSOUPA,
  127. 5 icow39,icow40,icow41,icow42,icow43,icow44
  128. C . NUMAT1,LENDO, NBBB, NNVARI,KERR1, MELEME
  129. INTEGER icow45,icow46,icow47,icow48,icow49,icow50,
  130. . icow51,icow52,icow53,icow54,icow55,icow56
  131. . icow57,icow58
  132. ENDSEGMENT
  133. SEGMENT XECOU
  134. * COMMON/XECOU/DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00
  135. REAL*8 xcow1, xcow2,xcow3,xcow4,DT,xcow6, xcow7
  136. C REAL*8 DTOPTI,TSOM, TCAR, DTT, DT,TREFA,TEMP00
  137. ENDSEGMENT
  138.  
  139. c segment de coordonnees des noeuds de l element
  140. integer nbnb,insb,idimb
  141. SEGMENT MWRKXE
  142. REAL*8 XE(3,nbnb)
  143. ENDSEGMENT
  144.  
  145. *
  146. * sellier/millard segment pour les Helmholtz 04 04 2020
  147. integer NBVIA
  148. SEGMENT WR14
  149. INTEGER INLVIA(NBVIA)
  150. ENDSEGMENT
  151.  
  152. c-----------------------------------------------------------------------
  153. c nombre de noeuds max et table locale des coordonnees des
  154. c noeuds de l element fini
  155.  
  156. c ******************************************************************
  157. c NBNMAX3D
  158. c XE3D
  159. c include './nombre_noeuds.h'
  160. -INC HNBRNEU
  161. c ******************************************************************
  162.  
  163. c ******** taille du pseudo vecteur des contraintes ***************
  164. c tjrs 6 en raison de son utilisation dans as3d
  165. integer nstrs3d
  166. parameter (nstrs3d=6)
  167. real*8 sig03d(nstrs3d),sigf3d(nstrs3d)
  168. real*8 epst03d(nstrs3d),epstf3d(nstrs3d)
  169. real*8 depst3d(nstrs3d)
  170. real*8 dtb,tref3d,alpha
  171.  
  172. c variable logique : elasticite initialement isotrope
  173. logical iso1
  174.  
  175. c nombre de parametres de tailles suivant la formulation
  176. integer ifou11,ntail3d
  177.  
  178. c dimension de l espace de travail
  179. integer idimb3d
  180. c temperatures debut et fin de pas , moyenne, pas de temps, volume rgi
  181. real*8 teta13d,teta23d,temp3d,dt3d
  182. c variables de transfert de donnees ( a declarer suivant idvar4 et idvisc)
  183. integer ierr1,mfr11
  184. c variable pour passer le numero de l etape non locale
  185. integer istep3d,nvarib,nstrsb,ifourb
  186.  
  187. c-----------------------------------------------------------------------
  188.  
  189. c ******************************************************************
  190. c * dimension des tableaux parametres materiau *
  191. c ******************************************************************
  192.  
  193. c *****nombre de renforts et de parametres par renfort**************
  194. c NB_RENF
  195. c NB_PARA_PAR_RENF
  196. c NB_PARA_RENF
  197. c NB_VARI_PAR_RENF
  198. c NB_VARI_RENF
  199. c include './nombre_renforts.h'
  200. -INC HNBRREN
  201. c ******************************************************************
  202.  
  203. c ********Nombre de parametres pour variables non locales***********
  204. c NB_HELM: Nombre de variable d etat principales
  205. c NB_PARA_PAR_HELM: Nombre de parametres par variable d etat
  206. c NB_VARI_PAR_HELM: Nombre de variable internes par variables d etat
  207. c NB_PARA_HELM: nombre de parametre total resultant
  208. c NB_VARI_HELM: nombre de variables internes totales resultantes
  209. c INLVIA3D(NB_HELM):copie du pointeur sur les numeros des vari traitee par helmholtz
  210. c NBVIA3D: recuperation du nombre de Helmholtz actives
  211. c include './nombre_helmholtz.h'
  212. -INC HNBRHEL
  213. c ******************************************************************
  214.  
  215. c parametres commun aux modele mecaniques elastiques isotropes
  216. integer NBELAS3D,NB_DECAL,NMAT3D
  217. c en isotrope le nombre de parametre de base est 4 = YOUN NU ALP RHO
  218. parameter (NBELAS3D=4)
  219. c decalage entre les parametres obligatoires (le modele)
  220. c et les parametres facultatifs (les parametres pour Helm holtz)
  221. parameter (NB_DECAL=3)
  222. c nombre de parametre ajoute par idmatr en fin de tableau des facultative
  223. parameter (NB_FIN=0)
  224.  
  225. c ****************Nombre de parametres partie non lineaire de
  226. c la loi de comportement
  227. c NB_PARA_FLUENDO3D
  228. c NB_VARI_FLUENDO3D
  229. c NB_PARA_SUPP_FLUENDO3D
  230. c NB_VARI_SUPP_FLUENDO3D
  231. c include './nombre_fluendo3d.h'
  232. -INC HNBRF3D
  233. integer NMAT0,NMAT1,NMAT2,NMAT3,NMAT4
  234. c nombre de parametres propre au modele sans les renforts ni le non local
  235. parameter (NMAT0=NBELAS3D)
  236. parameter (NMAT1=NMAT0+NB_PARA_FLUENDO3D)
  237. parameter (NMAT2=NMAT1+NB_PARA_SUPP_FLUENDO3D)
  238. parameter (NMAT3=NMAT2+NB_PARA_RENF+NB_DECAL)
  239. parameter (NMAT3D=NMAT3+NB_PARA_HELM+NB_FIN)
  240.  
  241. c ******************************************************************
  242. c dimension maxi du tableau des parametres y compris non local
  243. real*8 XMAT3D(NMAT3D)
  244. c ******************************************************************
  245. c
  246.  
  247. c ******************************************************************
  248. c * dimension des tableaux variables internes *
  249. c ******************************************************************
  250.  
  251. c **** nombre de variables internes loi de comportement non lineaire
  252.  
  253.  
  254. c nbr de variables pour la loi de comportement non lineaire
  255. integer NVAR0,NVAR1,NVAR2,NVAR3,NVARI3D
  256. parameter (NVAR0=0)
  257. parameter (NVAR1=NVAR0+NB_VARI_FLUENDO3D)
  258. parameter (NVAR2=NVAR1+NB_VARI_SUPP_FLUENDO3D)
  259. parameter (NVAR3=NVAR2+NB_VARI_RENF)
  260. parameter (NVARI3D=NVAR3+NB_VARI_HELM)
  261. c ******************************************************************
  262.  
  263. c **** nombre total de variables internes **************************
  264. c tableau local des variables internes
  265. real*8 VAR03D(NVARI3D),VARF3D(NVARI3D)
  266. c ******************************************************************
  267.  
  268. c-----------------------------------------------------------------------
  269.  
  270. c***********************************************************************
  271. c remarque : parametres elastiques en formulation poreux massif (mfr=33)
  272. c en debut de xmat :
  273. c 'YOUN' : module d'Young
  274. c 'NU ' : coefficient de poisson
  275. c 'RHO ' : masse volumique (a la fin en non poreux)
  276. c 'ALPH' : coefficient de dilatation thermique
  277. c à la fin de xmat :
  278. c 'MOB ' : module de Biot
  279. c 'COB ' : coefficient de Biot
  280. c 'PERM' : perméabilité intrinsèque
  281. c 'VISC' : viscosité dynamique du fluide
  282. c 'ALPM' : coefficient de couplage pression - température
  283. c attention L ORDRE N EST PAS LE MEME SI LE MATERIAU EST ORTHOTROPE
  284. c cf deche.inc pour recuperer les noms exacts des variables
  285. c transfert des variables dans les tableaux du modele
  286. c***********************************************************************
  287.  
  288.  
  289. c*****debut du transfert des donnees vers les modeles (sellier 2022)****
  290.  
  291. c ** on verifie si on a du non local via Helmholtz ****************
  292. c le decalage est RHO ALPH VISQ avant les parmetres non locaux si
  293. c il y a des non locales, alors qu'il est de 1 si on est en local
  294. if(WR14.EQ.0) then
  295. NBVIA = 0
  296. else
  297. NBVIA=INLVIA(/1)
  298. c print*,'NBVIA = ',NBVIA
  299. c do i=1,NBVIA
  300. c print*, 'I' ,i, 'INLVIA ' ,INLVIA(i)
  301. c end do
  302. endif
  303.  
  304. c suivant la formulation
  305. if(mfr.ne.33) then
  306. c ****** formulation non poreux **********************************
  307. c print*,'ds cfluendo3d istep=',istep
  308. if(istep.eq.0) then
  309. c ***** formulation locale***********************************
  310. if ((NMAT3D-NB_PARA_HELM).ne.nmatt) then
  311. print*,'pb dimension de xmat cfluendo3d local'
  312. print*,'NBELAS3D',NBELAS3D
  313. print*,'NMAT0',NMAT0
  314. print*,'NB_PARA_FLUENDO3D',NB_PARA_FLUENDO3D
  315. print*,'NMAT1',NMAT1
  316. print*,'NB_PARA_SUPP_FLUENDO3D',NB_PARA_SUPP_FLUENDO3D
  317. print*,'NMAT2',NMAT2
  318. print*,'NB_DECAL',NB_DECAL
  319. print*,'NB_PARA_RENF',NB_PARA_RENF
  320. print*,'NMAT3',NMAT3
  321. print*,'NB_PARA_HELM',NB_PARA_HELM
  322. print*,'NB_FIN',NB_FIN
  323. print*,'NMAT3D-NB_PARA_HELM',NMAT3D-NB_PARA_HELM
  324. print*,'NMATT',NMATT
  325. do i=1,nmatt
  326. print*,'xmat(',i,')=',xmat(i)
  327. enddo
  328. read*
  329. kerre=1
  330. return
  331. else
  332. do i=1,(NMAT3D-NB_PARA_HELM)
  333. XMAT3D(i)=xmat(i)
  334. enddo
  335. c on met a zero les Helmholtz
  336. do i=(NMAT3D-NB_PARA_HELM+1), nmatt
  337. XMAT3D(i)=0.
  338. enddo
  339. end if
  340. else
  341. c **** formulation non locale *******************************
  342. c ces parametres facultatifs sont definies dans IDMATR
  343. if(NMAT3D.ne.nmatt) then
  344. print*,'pb dimension de xmat cfluendo3d local'
  345. print*,'NBELAS3D',NBELAS3D
  346. print*,'NMAT0',NMAT0
  347. print*,'NB_PARA_FLUENDO3D',NB_PARA_FLUENDO3D
  348. print*,'NMAT1',NMAT1
  349. print*,'NB_PARA_SUPP_FLUENDO3D',NB_PARA_SUPP_FLUENDO3D
  350. print*,'NMAT2',NMAT2
  351. print*,'NB_DECAL',NB_DECAL
  352. print*,'NB_PARA_RENF',NB_PARA_RENF
  353. print*,'NMAT3',NMAT3
  354. print*,'NB_PARA_HELM',NB_PARA_HELM
  355. print*,'NB_FIN',NB_FIN
  356. print*,'NMAT3D',NMAT3D
  357. print*,'NMATT',NMATT
  358. do i=1,nmatt
  359. print*,'xmat(',i,')=',xmat(i)
  360. enddo
  361. read*
  362. kerre=1
  363. return
  364. else
  365. do i=1,nmatt
  366. XMAT3D(i)=xmat(i)
  367. enddo
  368. end if
  369. end if
  370. else
  371. c *****formulation poreux ****************************************
  372. print*,'on est en poreux dans cfluendo3d'
  373. print*,'Pb affectation des caracteristiques dans cas3d'
  374. do i=1,nmatt
  375. print*,'xmat(',i,')=',xmat(i)
  376. end do
  377. print*,'voir idmatr et deche.inc pour parametres en poreux'
  378. kerre=1
  379. return
  380. end if
  381.  
  382. c********** recuperation des variables internes debut de pas ***********
  383. if(NVARI3D.ne.nvarib) then
  384. print*,'Pb dimension de var0 dans cas3d'
  385. print*,'Verifier dimension table des variables internes'
  386. print*,'et CMPATBLTCR avec idvar4 et as3d'
  387. read*
  388. kerre=1
  389. return
  390. end if
  391. c transfert vers le tableau de fluendo3d
  392. do i=1,NVARI3D
  393. VAR03D(i)=var0(i)
  394. end do
  395.  
  396. c*********** recuperation des contraintes totales debut de pas *********
  397. if(mfr.ne.33) then
  398. c on est pas en poreux
  399. if(nstrsb.lt.nstrs3d) then
  400. do i=1,nstrsb
  401. sig03d(i)=sig0(i)
  402. sigf3d(i)=sigf(i)
  403. c ATTENTION les depst 3-6 doivent etre des gamas
  404. depst3d(i)=depst(i)
  405. epst03d(i)=epst0(i)
  406. epstf3d(i)=epstf(i)
  407. end do
  408. do i=nstrsb+1,nstrs3d
  409. sig03d(i)=0.d0
  410. sigf3d(i)=0.d0
  411. c ATTENTION les depst 3-6 doivent etre des gamas
  412. depst3d(i)=0.d0
  413. epst03d(i)=0.d0
  414. epstf3d(i)=0.d0
  415. end do
  416. else
  417. do i=1,nstrs3d
  418. sig03d(i)=sig0(i)
  419. sigf3d(i)=sigf(i)
  420. c ATTENTION les depst 3-6 doivent etre des gamas
  421. depst3d(i)=depst(i)
  422. epst03d(i)=epst0(i)
  423. epstf3d(i)=epstf(i)
  424. end do
  425. end if
  426. else
  427. print*,'on est en poreux'
  428. print*,'Pb affectation des contraintes dans cfluendo3d'
  429. print*,'a terminer'
  430. do i=1,nstrsb
  431. print*,'sig(',i,')=',sig0(i)
  432. end do
  433. kerre=1
  434. return
  435. end if
  436.  
  437.  
  438. c************** autres parametres a renseigner ***********************
  439.  
  440. c initialisation indicateur d erreur
  441. ierr1=0
  442. c indicateur isostropie elastique et de resistance
  443. iso1=.true.
  444. c numero de la formulation (33 pour poreux)
  445. mfr11=mfr
  446. c type de formulation
  447. ifour11=ifourb
  448. c pas de temps
  449. dt3d=dtb
  450. c numero pour le traitement non local eventuel
  451. istep3d=istep
  452.  
  453. c************* recuperation des coordonnees de noeuds ******************
  454. c boucle sur les noeuds
  455. if(nbnb.le.NBNMAX3D) then
  456. NBNB3D=nbnb
  457. if(idimb.le.3) then
  458. idimb3d=idimb
  459. else
  460. print*,'pb table de coord des neouds ds cfluendo3d'
  461. kerre=1
  462. return
  463. end if
  464. else
  465. print*,'Element avec + de noeuds que capacite de cfluendo3d'
  466. kerre=1
  467. return
  468. end if
  469. c chargement des coordonnees des noeuds
  470. do insb=1,NBNB3D
  471. do j=1,idimb3d
  472. c print*,'xe(',j,insb,')=',xe(j,insb)
  473. XE3D(j,insb)=xe(j,insb)
  474. end do
  475. if (idimb.lt.3) then
  476. do j=idimb+1,3
  477. XE3D(j,insb)=0.d0
  478. end do
  479. end if
  480. end do
  481. c on double les neouds si le probleme est 2D
  482. if ((ifourb.eq.0).or.(ifourb.eq.-1)) then
  483. c on double les noeuds avec dimension 3 recuperee ds xmat
  484. c toujours placé en NMAT1-1 cf def de namat1 plus haut + idvisc
  485. dimension3=XMAT3D(NMAT1-1)
  486. NBNB3D=2*nbnb
  487. do insb=nbnb+1,NBNB3D
  488. do j=1,2
  489. c print*,'xe(',j,insb,')=',xe(j,insb)
  490. XE3D(j,insb)=XE3D(j,(insb-nbnb))
  491. end do
  492. XE3D(3,insb)=dimension3
  493. end do
  494. end if
  495.  
  496. c ****** recuperation de la temperature de reference **************
  497. tref3d=trefb
  498. c print*,'verif temperature de reference fluendo3d',trefb
  499.  
  500. c * intialisation des variables de sortie a leur valeur initiale *
  501. c en cas de 1ere etape non locale
  502. if(istep.eq.1) then
  503. do i=1,nvari3d
  504. varf3d(i)=var03d(i)
  505. end do
  506. else
  507. do i=1,nvari3d
  508. varf3d(i)=0.d0
  509. end do
  510. endif
  511. c****************** fin du transferts des donnees **********************
  512.  
  513. c*************recuperation des numeros des variables Helmholtz *********
  514.  
  515. c transfert dans un tableau de fluendo3d dimensionne au max des
  516. c facultative helmholtz de IDMATR (actuellement 10)
  517. if(NBVIA.GT.NB_HELM) then
  518. print*,'Pb de dimensionnement avec les variables de Helmholtz'
  519. print*,'dans cfluendo3d:',NBVIA,' > ',NB_HELM
  520. print*,'Verifier NB_HELM et nbr de non locales'
  521. print*,'declarees nombre_helmholtz.h (NBRHEL.INC)'
  522. else
  523. c transfert vers les variables locales
  524. if (NBVIA.gt.0) then
  525. NBVIA3D=NBVIA
  526. do i=1,NB_HELM
  527. if(i.le.NBVIA3D) then
  528. INLVIA3D(i)=INLVIA(i)
  529. else
  530. INLVIA3D(i)=0
  531. end if
  532. end do
  533. else
  534. NBVIA3D=NBVIA
  535. do i=1,NB_HELM
  536. INLVIA3D(i)=0
  537. end do
  538. end if
  539. end if
  540. c************* fin de recuperation des numeros des variables Helmholtz *
  541.  
  542. c************* appel au modele fluendo3d*******************************
  543.  
  544. call fldo3d(XMAT3D,NMAT3D,sig03d,sigf3d,depst3d,nstrs3d,
  545. #VAR03D,VARF3D,NVARI3D,teta13d,teta23d,dt3d,ierr1,iso1,mfr11,
  546. #ifour11,istep3d,epst03d,epstf3d,tref3d,NBELAS3D,NB_PARA_FLUENDO3D,
  547. #NB_PARA_SUPP_FLUENDO3D,NB_VARI_FLUENDO3D,NB_VARI_SUPP_FLUENDO3D,
  548. #NB_DECAL,NBNMAX3D,NBNB3D,IDIMB3D,XE3D,NBVIA3D,INLVIA3D,
  549. #NMAT0,NMAT1,NMAT2,NMAT3,NVAR0,NVAR1,NVAR2,NVAR3,NB_PARA_FIBRE_U)
  550.  
  551.  
  552. c************ re-affectation des tableaux de variables internes ********
  553. do i=1,nvarib
  554. varf(i)=VARF3D(i)
  555. * print*,'cas3d f(',i,')=',varf(i),' i',var0(i)
  556. end do
  557. c read*
  558. c ecriture des contraintes totales fin de pas
  559. do i=1,nstrsb
  560. sigf(i)=sigf3d(i)
  561. end do
  562.  
  563. c***********************************************************************
  564. c traitement de l erreur d ecoulement
  565. if(ierr1.eq.0)then
  566. kerre=0
  567. else
  568. kerre=1
  569. end if
  570. return
  571. end
  572.  
  573. c***********************************************************************
  574.  
  575.  
  576.  
  577.  
  578.  

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