Télécharger comdef.eso

Retour à la liste

Numérotation des lignes :

comdef
  1. C COMDEF SOURCE CB215821 24/04/12 21:15:21 11897
  2. SUBROUTINE COMDEF(iwrk53,necou,iecou,xecou,ipinf,iqmod,isup,ipint)
  3. C
  4. C----------------------------------------------------------------------
  5. C SUBROUTINE APPELEE PAR COML6
  6. C
  7. C OBJECTIF : INITIALISER LES SEGMENTS WRK53, NECOU, IECOU ET XECOU
  8. C
  9. C ENTREES :
  10. C ---------
  11. C IWRK53 : POINTEUR SUR LE SEGMENT WRK53
  12. C NECOU : POINTEUR SUR LE SEGMENT NECOU
  13. C IECOU : POINTEUR SUR LE SEGMENT IECOU
  14. C XECOU : POINTEUR SUR LE SEGMENT XECOU
  15. C IPINF : POINTEUR SUR UN SEGMENT INFO
  16. C ISUP : ENTIER INDIQUANT LE SUPPORT DES POINTS D'INTEGRATION
  17. C
  18. C SORTIES :
  19. C ---------
  20. C IPINT : POINTEUR SUR LE SEGMENT D'INTEGRATION MINTE
  21. C LES SEGMENTS WRK53, IECOU, NECOU ET XECOU INITIALISES
  22. C (EN PARTIE, COMOU2 COMPLETERA WRK53)
  23. C----------------------------------------------------------------------
  24. IMPLICIT INTEGER(I-N)
  25. IMPLICIT REAL*8(A-H,O-Z)
  26. *
  27.  
  28. -INC PPARAM
  29. -INC CCOPTIO
  30. -INC CCGEOME
  31. -INC SMCHAML
  32. -INC SMELEME
  33. -INC SMCOORD
  34. -INC SMMODEL
  35. -INC CCHAMP
  36. -INC DECHE
  37. -INC CCREEL
  38. *
  39. SEGMENT INFO
  40. INTEGER INFELL(16)
  41. ENDSEGMENT
  42. C
  43. C Segment NECOU utilisé dans ECOINC
  44. C
  45. SEGMENT NECOU
  46. INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  47. . ITYP,IFOURB,IFLUAG,
  48. . ICINE,ITHER,IFLUPL,ICYCL,IBI,
  49. . JFLUAG,KFLUAG,LFLUAG,
  50. . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF
  51. ENDSEGMENT
  52. C
  53. C Segment IECOU: sert de fourre-tout pour les initialisations
  54. C d'entiers
  55. C
  56. SEGMENT IECOU
  57. INTEGER NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK,NYALF1,
  58. . NYBET1,NYR,NYA,NYRHO,NSIGY,NNKX,NYKX,IND,NSOM,NINV,
  59. . NINCMA,NCOMP,JELEM,LEGAUS,INAT,NCXMAT,LTRAC,MFRBI,
  60. . IELE,NHRM,NBNNBI,NBELMB,ICARA,LW2BI,NDEF,NSTRSS,
  61. . MFR1,NBGMAT,NELMAT,MSOUPA,NUMAT1,LENDO,NBBB,NNVARI,
  62. . KERR1,MELEMB,NYOG1,NYNU1,NYALFT1,NYSMAX1,NYN1,NYM1,
  63. . NYKK1,NYALF2,NYBET2,NYR1,NYA1,NYQ1,NYRHO1,NSIGY1
  64. ENDSEGMENT
  65. C
  66. C Segment XECOU: sert de fourre-tout pour les initialisations
  67. C de reels
  68. C
  69. SEGMENT XECOU
  70. REAL*8 DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00
  71. ENDSEGMENT
  72. C
  73. C =================================================================
  74. C
  75. wrk53 = iwrk53
  76. imodel = iqmod
  77. MELEME = IMAMOD
  78. Nbnode = NUM(/1)
  79. Nbelmt = NUM(/2)
  80. C
  81. C =================================================================
  82. C Initialisation du segment WRK53 :
  83. C Les variables NUCAR,NMATR,NCARF,NVART,NMATT et NCARR sont
  84. C renseignees par COMOU2
  85. C =================================================================
  86. KERRE=0
  87. C
  88. C ISTEP : indicateur d'action pour calcul nonlocal
  89. C =0 dans le cas d'un calcul local (normal)
  90. C =1 ou 2 dans le cas d'un calcul nonlocal
  91. C =1 pour calcul des fonctions seuil uniquement
  92. C =2 pour calcul des variables dissipatives a partir
  93. C des fonctions seuil moyennees prealablement par nloc
  94. IF (ISTEP .GT. 2 .OR. ISTEP .LT. 0) THEN
  95. KERRE=54
  96. END IF
  97. C
  98. MATE = IMATEE
  99. INPLAS = INATUU
  100. MELE = NEFMOD
  101. IPMAIL = IMAMOD
  102. C
  103. C Coque integree ou pas ?
  104. NPINT=0
  105. IF(INFMOD(/1).NE.0)THEN
  106. NPINT=INFMOD(1)
  107. ENDIF
  108. NBNN2 = Nbnode
  109. NBELEM2= Nbelmt
  110. NFOR = FORMOD(/2)
  111. NMAT = MATMOD(/2)
  112. CMATE = CMATEE
  113. CONM = CONMOD
  114. ITHHER = 0
  115. JECHER = 0
  116. LW = 200
  117. LW2 = 150
  118. C
  119. IF(IPINF.NE.0) THEN
  120. INFO=IPINF
  121. c* segact info
  122. MFR =INFELL(13)
  123. NBG =INFELL(6)
  124. NBGS =INFELL(4)
  125. NSTRS=INFELL(16)
  126. LRE =INFELL(9)
  127. LHOOK=INFELL(10)
  128. c* IF (MELE.EQ.96) NBNO = INFELL(8)
  129. IPORE=INFELL(8)
  130. MINTE=INFELL(11)
  131. ELSE
  132. MFR =INFELE(13)
  133. NBG =INFELE(6)
  134. NBGS =INFELE(4)
  135. NSTRS=INFELE(16)
  136. LRE =INFELE(9)
  137. LHOOK=INFELE(10)
  138. c* IF (MELE.EQ.96) NBNO = INFELE(8)
  139. IPORE=INFELE(8)
  140. MINTE=INFMOD(2+isup)
  141. ENDIF
  142. IPINT = MINTE
  143. C
  144. if (CMATEE.EQ.'IMPELAST'.and.inatuu.ne.161) LHOOK = 6
  145. IF (MFR.EQ.3.AND.NPINT.NE.0) LHOOK=4
  146. LHOO2=LHOOK*LHOOK
  147. C
  148. IF (MFR.EQ.33) THEN
  149. NBNO=IPORE
  150. ELSE
  151. NBNO=NBNNE(NUMGEO(MELE))
  152. ENDIF
  153. C
  154. C Actualise (coml6 bcle 100) pour les modeles non lineaires externes
  155. C Coordonnees du point d'integration courant
  156. COORGA(1)=0.0D0
  157. COORGA(2)=0.0D0
  158. COORGA(3)=0.0D0
  159. C
  160. C Longueur caracteristique de l'element courant
  161. LCARAC=0.0D0
  162. C
  163. NBPTEL=NBGS
  164. NEL=Nbelmt
  165. N2PTEL=0
  166. N2EL=0
  167. C
  168. C pour les variables internes seules
  169. IF (MFR.EQ.7.OR.MFR.EQ.13) THEN
  170. IF (CMATE.EQ.'SECTION ') THEN
  171. N2PTEL=NBPTEL
  172. N2EL=NEL
  173. ENDIF
  174. ENDIF
  175. C
  176. PRECIS = 1.d-10
  177. C
  178. JNPLAS = INPLAS
  179. *
  180. * LOGVIS : vrai pour les matériaux visqueux, endommageables de
  181. * Lemaitre et Coulomb (inplas=jnplas = 34 )
  182. LOGVIS=.FALSE.
  183. *
  184. * ---> Viscoplastique et Fluage
  185. *
  186. IF (JNPLAS.EQ. 17 .OR. JNPLAS.EQ. 19 .OR.
  187. 2 JNPLAS.EQ. 20 .OR. JNPLAS.EQ. 21 .OR. JNPLAS .EQ. 22 .OR.
  188. 2 JNPLAS.EQ. 23 .OR. JNPLAS.EQ. 24 .OR. JNPLAS .EQ. 25 .OR.
  189. 3 JNPLAS .EQ. 61 .OR.JNPLAS .EQ. 63 .OR.
  190. 4 JNPLAS .EQ. 65 .OR.JNPLAS .EQ. 53 .OR.JNPLAS .EQ. 29 .OR.
  191. 5 JNPLAS .EQ. 44 .OR. JNPLAS .EQ. 45 .OR.
  192. 6 JNPLAS .EQ. 70 .OR. JNPLAS .EQ. 74 .OR.
  193. 7 JNPLAS .EQ. 76 .OR.JNPLAS .EQ. 77 .OR. JNPLAS.EQ.82 .OR.
  194. 8 JNPLAS .EQ. 84 .OR. JNPLAS.EQ.85 .OR.JNPLAS .EQ. 86 .OR.
  195. 9 JNPLAS .EQ. 106 .OR. JNPLAS .EQ. 102 .OR.
  196. a JNPLAS .EQ. 107 .OR. JNPLAS .EQ. 108 .OR.
  197. b JNPLAS .EQ. 134 .OR. JNPLAS .EQ. 135 .OR.
  198. c JNPLAS .EQ. 136 .OR. JNPLAS .EQ. 137 .OR.
  199. d JNPLAS .EQ. 142 .OR. JNPLAS .EQ. 146 .OR.
  200. e JNPLAS .EQ. 153 .OR. JNPLAS .EQ. 154 .OR.
  201. c ajout Sellier
  202. f JNPLAS .EQ. 187 .OR. JNPLAS .EQ. 188 .OR.
  203. g JNPLAS .EQ. 189 .OR. JNPLAS .EQ. 190 .OR.
  204. h JNPLAS .EQ. 191 ) THEN
  205. LOGVIS=.TRUE.
  206. *
  207. * ---> PLastique endommageable de Lemaitre
  208. *
  209. ELSE IF (JNPLAS.EQ.26 .OR. JNPLAS .EQ. 130 ) THEN
  210. LOGVIS=.TRUE.
  211. *
  212. * ---> Plastique Coulomb
  213. *
  214. ELSE IF (JNPLAS.EQ.34) THEN
  215. LOGVIS=.TRUE.
  216. *
  217. ENDIF
  218. C
  219. LUNI1=.FALSE.
  220. LUNI2=.FALSE.
  221. C
  222. C Le cas LUNI1 = VRAI correspond au materiau ACIER_UNI
  223. IF(JNPLAS.EQ.40) THEN
  224. IF (MFR.EQ.1.AND.IFOUR.LE.0) LUNI1=.TRUE.
  225. IF ((MFR.EQ.3.OR.MFR.EQ.9).AND.IFOUR.EQ.2) LUNI2=.TRUE.
  226. ENDIF
  227. C
  228. C =================================================================
  229. C Initialisation du segment XECOU
  230. C =================================================================
  231. TSOM = 0.D0
  232. TCAR = 0.D0
  233. TREFA = 20.
  234. if (JNPLAS.EQ.43) TREFA=-1.E35
  235. C
  236. C =================================================================
  237. C Initialisation du segment IECOU
  238. C =================================================================
  239. NYOG=0
  240. NYNU=0
  241. NYALFA=0
  242. NYSMAX=0
  243. NYN=0
  244. NYM=0
  245. NYKK=0
  246. NYALF1=0
  247. NYBET1=0
  248. NYR=0
  249. NYA=0
  250. NYRHO=0
  251. NSIGY=0
  252. NNKX=0
  253. NYKX=0
  254. IND=0
  255. NSOM=0
  256. NINV=0
  257. NINCMA=0
  258. NCOMP=0
  259. INAT=0
  260. LTRAC=260
  261. LW2bi=150
  262. NBNNbi=Nbnode
  263. NBELMb=Nbelmt
  264. MFRbi =MFR
  265. NBGMAT = NBPTEL
  266. NELMAT = NEL
  267. C
  268. NDEF=NSTRS
  269. NSTRSS=NSTRS
  270. * cas milieux poreux
  271. IF(MFRbi.EQ.33.AND.(MATE.GE.1.AND.MATE.LE.4)) NSTRSS=NSTRS-1
  272. C
  273. NYOG1=0
  274. NYNU1=0
  275. NYALFT1=0
  276. NYSMAX1=0
  277. NYN1=0
  278. NYM1=0
  279. NYKK1=0
  280. NYALF2=0
  281. NYBET2=0
  282. NYR1=0
  283. NYA1=0
  284. NYQ1=0
  285. NYRHO1=0
  286. NSIGY1=0
  287. KERR1=0
  288. C
  289. IELE=NUMGEO(MELE)
  290. NHRM=NIFOUR
  291. MELEMB=IMAMOD
  292. IF (JNPLAS.EQ.51) LENDO=260
  293. C
  294. IF(MFRbi.EQ.7.OR.MFRbi.EQ.13.OR.LUNI1)THEN
  295. NBBB=NBNNbi
  296. ENDIF
  297. C
  298. C Modeles non lineaires externes
  299. IF (JNPLAS.LT.0) THEN
  300. *
  301. * Convention : tous les modeles externes doivent sortir les
  302. * deformations inelastiques CUMULEES, et non les increments.
  303. * Convention sans incidence sur 'NON_LINEAIRE' 'UTILISATEUR' car
  304. * l'integrateur externe generique UMAT n'a pas de sortie prevue
  305. * pour les deformations inelastiques.
  306. *
  307. IND = 1
  308. *
  309. * Modeles 'VISCO_EXTERNE' : integres par CCREEP
  310. * On adopte les parametres par defaut des modeles viscoplastiques
  311. * (cf. ci-dessous)
  312. *
  313. IF (JNPLAS.EQ.-2) THEN
  314. MSOUPA = 200
  315. PRECIS = 5.d-7
  316. ENDIF
  317. C
  318. C Modeles de viscoplasticite
  319. ELSE IF (JNPLAS.EQ. 17 .OR. JNPLAS.EQ. 19 .OR. JNPLAS.EQ. 21 .OR.
  320. 2 JNPLAS .EQ. 20 .OR. JNPLAS .EQ. 61 .OR.JNPLAS .EQ. 65 .OR.
  321. 4 JNPLAS .EQ. 22 .OR. JNPLAS .EQ. 23 .OR.JNPLAS .EQ. 24 .OR.
  322. 6 JNPLAS .EQ. 25 .OR. JNPLAS .EQ. 29 .OR.JNPLAS .EQ. 70 .OR.
  323. 7 JNPLAS .EQ. 43 .OR. JNPLAS .EQ. 44 .OR.JNPLAS .EQ. 63 .OR.
  324. 8 JNPLAS .EQ. 45 .OR. JNPLAS .EQ. 53 .OR.JNPLAS .EQ. 66 .OR.
  325. a JNPLAS .EQ. 74 .OR. JNPLAS .EQ. 76 .OR.JNPLAS .EQ. 84 .OR.
  326. b JNPLAS .EQ. 77 .OR. JNPLAS .EQ. 82 .OR.JNPLAS .EQ. 85 .OR.
  327. d JNPLAS .EQ. 86 .OR. JNPLAS .EQ. 102 .OR.JNPLAS .EQ. 108 .OR.
  328. e JNPLAS .EQ. 106 .OR. JNPLAS .EQ. 107 .OR.JNPLAS .EQ. 142 .OR.
  329. f JNPLAS .EQ. 153 .OR. JNPLAS .EQ. 154 .OR.
  330. c sellier
  331. g JNPLAS .EQ. 187 .OR. JNPLAS .EQ. 188 .OR.
  332. h JNPLAS .EQ. 189 .OR. JNPLAS .EQ. 190 .OR.
  333. i JNPLAS .EQ. 191 ) THEN
  334. *
  335. IND = 1
  336. *
  337. if (jnplas.eq.44.or.jnplas.eq.45) then
  338. MSOUPA = 2000
  339. else IF (JNPLAS.EQ.107.OR.JNPLAS.EQ.108) THEN
  340. MSOUPA = 2000
  341. else
  342. MSOUPA = 200
  343. endif
  344. PRECIS = 5.d-7
  345. *
  346. ELSE IF ( JNPLAS .EQ. 130 ) THEN
  347. IND = 1
  348. MSOUPA = 200
  349. PRECIS = 5.d-7
  350. ELSE IF ( INPLAS .EQ. 26 ) THEN
  351. PRECIS = 1.d-8
  352. ELSE IF ( JNPLAS .EQ. 136 .OR. JNPLAS .EQ. 137 .OR.
  353. 2 JNPLAS .EQ. 138 .OR. JNPLAS .EQ. 139 ) THEN
  354. IND = 1
  355. MSOUPA = 200
  356. PRECIS = 5.d-7
  357. ENDIF
  358. *
  359. IF (JNPLAS.EQ.2.OR.JNPLAS.EQ.27) THEN
  360. PRECIS = 1.d-10
  361. ELSE IF ( JNPLAS .EQ. 15) THEN
  362. PRECIS = 5.d-7
  363. ELSE IF ( JNPLAS .EQ. 51) THEN
  364. PRECIS = 1.d-4
  365. ENDIF
  366. C
  367. C =================================================================
  368. C Initialisation (si necessaire) du segment NECOU
  369. C =================================================================
  370. IF (jnplas.NE.2) THEN
  371. c
  372. IF(NPINT.NE.0.AND.MELE.EQ.28) THEN
  373. IFOURB=-2
  374. MFR1=1
  375. IF(JNPLAS.EQ.66) MFR1=MFR
  376. ELSE
  377. MFR1=MFR
  378. IFOURB=IFOUR
  379. ENDIF
  380. *
  381. * cas des coques minces
  382. *
  383. IF (MFR .EQ.3) THEN
  384. * en materiau unidirectionnel plastique, on met IFOURB a -2
  385. IF (MATE.EQ.4.AND.JNPLAS.NE.0) IFOURB=-2
  386. ENDIF
  387. NCOURB=0
  388. IPLAST=0
  389. IT=1
  390. IMAPLA=1
  391. ISOTRO=0
  392. ITYP=0
  393. C correspondance ( mfrbi,ifour) et ityp faite dans ecoinc
  394. IFLUAG=0
  395. ICINE=0
  396. ITHER=0
  397. IFLUPL=0
  398. ICYCL=0
  399. IBI=0
  400. JFLUAG=0
  401. JELEM =0
  402. LFLUAG=0
  403. IRELAX=0
  404. JNTRIN=0
  405. MFLUAG=0
  406. LEGAUS=0
  407. JGRDEF=0
  408. C
  409. ENDIF
  410. C =================================================================
  411. C
  412. RETURN
  413. END
  414.  
  415.  
  416.  
  417.  
  418.  

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