Télécharger comdef.eso

Retour à la liste

Numérotation des lignes :

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

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