Télécharger comdef.eso

Retour à la liste

Numérotation des lignes :

comdef
  1. C COMDEF SOURCE OF166741 24/10/07 21:15:08 12016
  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=INFMOD(1)
  105. NBNN2 = Nbnode
  106. NBELEM2= Nbelmt
  107. NFOR = FORMOD(/2)
  108. NMAT = MATMOD(/2)
  109. CMATE = CMATEE
  110. CONM = CONMOD
  111. ITHHER = 0
  112. JECHER = 0
  113. LW = 200
  114. LW2 = 150
  115. C
  116. IF(IPINF.NE.0) THEN
  117. INFO=IPINF
  118. c* segact info
  119. MFR =INFELL(13)
  120. NBG =INFELL(6)
  121. NBGS =INFELL(4)
  122. NSTRS=INFELL(16)
  123. LRE =INFELL(9)
  124. LHOOK=INFELL(10)
  125. c* IF (MELE.EQ.96) NBNO = INFELL(8)
  126. IPORE=INFELL(8)
  127. MINTE=INFELL(11)
  128. ELSE
  129. MFR =INFELE(13)
  130. NBG =INFELE(6)
  131. NBGS =INFELE(4)
  132. NSTRS=INFELE(16)
  133. LRE =INFELE(9)
  134. LHOOK=INFELE(10)
  135. c* IF (MELE.EQ.96) NBNO = INFELE(8)
  136. IPORE=INFELE(8)
  137. MINTE=INFMOD(2+isup)
  138. ENDIF
  139. IPINT = MINTE
  140. C
  141. if (CMATEE.EQ.'IMPELAST'.and.inatuu.ne.161) LHOOK = 6
  142. IF (MFR.EQ.3.AND.NPINT.NE.0) LHOOK=4
  143. LHOO2=LHOOK*LHOOK
  144. C
  145. IF (MFR.EQ.33) THEN
  146. NBNO=IPORE
  147. ELSE
  148. NBNO=NBNNE(NUMGEO(MELE))
  149. ENDIF
  150. C
  151. C Actualise (coml6 bcle 100) pour les modeles non lineaires externes
  152. C Coordonnees du point d'integration courant
  153. COORGA(1)=0.0D0
  154. COORGA(2)=0.0D0
  155. COORGA(3)=0.0D0
  156. C
  157. C Longueur caracteristique de l'element courant
  158. LCARAC=0.0D0
  159. C
  160. NBPTEL=NBGS
  161. NEL=Nbelmt
  162. N2PTEL=0
  163. N2EL=0
  164. C
  165. C pour les variables internes seules
  166. IF (MFR.EQ.7.OR.MFR.EQ.13) THEN
  167. IF (CMATE.EQ.'SECTION ') THEN
  168. N2PTEL=NBPTEL
  169. N2EL=NEL
  170. ENDIF
  171. ENDIF
  172. C
  173. PRECIS = 1.d-10
  174. C
  175. JNPLAS = INPLAS
  176. *
  177. * LOGVIS : vrai pour les matériaux visqueux, endommageables de
  178. * Lemaitre et Coulomb (inplas=jnplas = 34 )
  179. LOGVIS=.FALSE.
  180. *
  181. * ---> Viscoplastique et Fluage
  182. *
  183. IF (JNPLAS.EQ. 17 .OR. JNPLAS.EQ. 19 .OR.
  184. 2 JNPLAS.EQ. 20 .OR. JNPLAS.EQ. 21 .OR. JNPLAS .EQ. 22 .OR.
  185. 2 JNPLAS.EQ. 23 .OR. JNPLAS.EQ. 24 .OR. JNPLAS .EQ. 25 .OR.
  186. 3 JNPLAS .EQ. 61 .OR.JNPLAS .EQ. 63 .OR.
  187. 4 JNPLAS .EQ. 65 .OR.JNPLAS .EQ. 53 .OR.JNPLAS .EQ. 29 .OR.
  188. 5 JNPLAS .EQ. 44 .OR. JNPLAS .EQ. 45 .OR.
  189. 6 JNPLAS .EQ. 70 .OR. JNPLAS .EQ. 74 .OR.
  190. 7 JNPLAS .EQ. 76 .OR.JNPLAS .EQ. 77 .OR. JNPLAS.EQ.82 .OR.
  191. 8 JNPLAS .EQ. 84 .OR. JNPLAS.EQ.85 .OR.JNPLAS .EQ. 86 .OR.
  192. 9 JNPLAS .EQ. 106 .OR. JNPLAS .EQ. 102 .OR.
  193. a JNPLAS .EQ. 107 .OR. JNPLAS .EQ. 108 .OR.
  194. b JNPLAS .EQ. 134 .OR. JNPLAS .EQ. 135 .OR.
  195. c JNPLAS .EQ. 136 .OR. JNPLAS .EQ. 137 .OR.
  196. d JNPLAS .EQ. 142 .OR. JNPLAS .EQ. 146 .OR.
  197. e JNPLAS .EQ. 153 .OR. JNPLAS .EQ. 154 .OR.
  198. c ajout Sellier
  199. f JNPLAS .EQ. 187 .OR. JNPLAS .EQ. 188 .OR.
  200. g JNPLAS .EQ. 189 .OR. JNPLAS .EQ. 190 .OR.
  201. h JNPLAS .EQ. 191 ) THEN
  202. LOGVIS=.TRUE.
  203. *
  204. * ---> PLastique endommageable de Lemaitre
  205. *
  206. ELSE IF (JNPLAS.EQ.26 .OR. JNPLAS .EQ. 130 ) THEN
  207. LOGVIS=.TRUE.
  208. *
  209. * ---> Plastique Coulomb
  210. *
  211. ELSE IF (JNPLAS.EQ.34) THEN
  212. LOGVIS=.TRUE.
  213. *
  214. ENDIF
  215. C
  216. LUNI1=.FALSE.
  217. LUNI2=.FALSE.
  218. C
  219. C Le cas LUNI1 = VRAI correspond au materiau ACIER_UNI
  220. IF(JNPLAS.EQ.40) THEN
  221. IF (MFR.EQ.1.AND.IFOUR.LE.0) LUNI1=.TRUE.
  222. IF ((MFR.EQ.3.OR.MFR.EQ.9).AND.IFOUR.EQ.2) LUNI2=.TRUE.
  223. ENDIF
  224. C
  225. C =================================================================
  226. C Initialisation du segment XECOU
  227. C =================================================================
  228. TSOM = 0.D0
  229. TCAR = 0.D0
  230. TREFA = 20.
  231. if (JNPLAS.EQ.43) TREFA=-1.E35
  232. C
  233. C =================================================================
  234. C Initialisation du segment IECOU
  235. C =================================================================
  236. NYOG=0
  237. NYNU=0
  238. NYALFA=0
  239. NYSMAX=0
  240. NYN=0
  241. NYM=0
  242. NYKK=0
  243. NYALF1=0
  244. NYBET1=0
  245. NYR=0
  246. NYA=0
  247. NYRHO=0
  248. NSIGY=0
  249. NNKX=0
  250. NYKX=0
  251. IND=0
  252. NSOM=0
  253. NINV=0
  254. NINCMA=0
  255. NCOMP=0
  256. INAT=0
  257. LTRAC=260
  258. LW2bi=150
  259. NBNNbi=Nbnode
  260. NBELMb=Nbelmt
  261. MFRbi =MFR
  262. NBGMAT = NBPTEL
  263. NELMAT = NEL
  264. C
  265. NDEF=NSTRS
  266. NSTRSS=NSTRS
  267. * cas milieux poreux
  268. IF(MFRbi.EQ.33.AND.(MATE.GE.1.AND.MATE.LE.4)) NSTRSS=NSTRS-1
  269. C
  270. NYOG1=0
  271. NYNU1=0
  272. NYALFT1=0
  273. NYSMAX1=0
  274. NYN1=0
  275. NYM1=0
  276. NYKK1=0
  277. NYALF2=0
  278. NYBET2=0
  279. NYR1=0
  280. NYA1=0
  281. NYQ1=0
  282. NYRHO1=0
  283. NSIGY1=0
  284. KERR1=0
  285. C
  286. IELE=NUMGEO(MELE)
  287. NHRM=NIFOUR
  288. MELEMB=IMAMOD
  289. IF (JNPLAS.EQ.51) LENDO=260
  290. C
  291. IF(MFRbi.EQ.7.OR.MFRbi.EQ.13.OR.LUNI1)THEN
  292. NBBB=NBNNbi
  293. ENDIF
  294. C
  295. C Modeles non lineaires externes
  296. IF (JNPLAS.LT.0) THEN
  297. *
  298. * Convention : tous les modeles externes doivent sortir les
  299. * deformations inelastiques CUMULEES, et non les increments.
  300. * Convention sans incidence sur 'NON_LINEAIRE' 'UTILISATEUR' car
  301. * l'integrateur externe generique UMAT n'a pas de sortie prevue
  302. * pour les deformations inelastiques.
  303. *
  304. IND = 1
  305. *
  306. * Modeles 'VISCO_EXTERNE' : integres par CCREEP
  307. * On adopte les parametres par defaut des modeles viscoplastiques
  308. * (cf. ci-dessous)
  309. *
  310. IF (JNPLAS.EQ.-2) THEN
  311. MSOUPA = 200
  312. PRECIS = 5.d-7
  313. ENDIF
  314. C
  315. C Modeles de viscoplasticite
  316. ELSE IF (JNPLAS.EQ. 17 .OR. JNPLAS.EQ. 19 .OR. JNPLAS.EQ. 21 .OR.
  317. 2 JNPLAS .EQ. 20 .OR. JNPLAS .EQ. 61 .OR.JNPLAS .EQ. 65 .OR.
  318. 4 JNPLAS .EQ. 22 .OR. JNPLAS .EQ. 23 .OR.JNPLAS .EQ. 24 .OR.
  319. 6 JNPLAS .EQ. 25 .OR. JNPLAS .EQ. 29 .OR.JNPLAS .EQ. 70 .OR.
  320. 7 JNPLAS .EQ. 43 .OR. JNPLAS .EQ. 44 .OR.JNPLAS .EQ. 63 .OR.
  321. 8 JNPLAS .EQ. 45 .OR. JNPLAS .EQ. 53 .OR.JNPLAS .EQ. 66 .OR.
  322. a JNPLAS .EQ. 74 .OR. JNPLAS .EQ. 76 .OR.JNPLAS .EQ. 84 .OR.
  323. b JNPLAS .EQ. 77 .OR. JNPLAS .EQ. 82 .OR.JNPLAS .EQ. 85 .OR.
  324. d JNPLAS .EQ. 86 .OR. JNPLAS .EQ. 102 .OR.JNPLAS .EQ. 108 .OR.
  325. e JNPLAS .EQ. 106 .OR. JNPLAS .EQ. 107 .OR.JNPLAS .EQ. 142 .OR.
  326. f JNPLAS .EQ. 153 .OR. JNPLAS .EQ. 154 .OR.
  327. c sellier
  328. g JNPLAS .EQ. 187 .OR. JNPLAS .EQ. 188 .OR.
  329. h JNPLAS .EQ. 189 .OR. JNPLAS .EQ. 190 .OR.
  330. i JNPLAS .EQ. 191 ) THEN
  331. *
  332. IND = 1
  333. *
  334. if (jnplas.eq.44.or.jnplas.eq.45) then
  335. MSOUPA = 2000
  336. else IF (JNPLAS.EQ.107.OR.JNPLAS.EQ.108) THEN
  337. MSOUPA = 2000
  338. else
  339. MSOUPA = 200
  340. endif
  341. PRECIS = 5.d-7
  342. *
  343. ELSE IF ( JNPLAS .EQ. 130 ) THEN
  344. IND = 1
  345. MSOUPA = 200
  346. PRECIS = 5.d-7
  347. ELSE IF ( INPLAS .EQ. 26 ) THEN
  348. PRECIS = 1.d-8
  349. ELSE IF ( JNPLAS .EQ. 136 .OR. JNPLAS .EQ. 137 .OR.
  350. 2 JNPLAS .EQ. 138 .OR. JNPLAS .EQ. 139 ) THEN
  351. IND = 1
  352. MSOUPA = 200
  353. PRECIS = 5.d-7
  354. ENDIF
  355. *
  356. IF (JNPLAS.EQ.2.OR.JNPLAS.EQ.27) THEN
  357. PRECIS = 1.d-10
  358. ELSE IF ( JNPLAS .EQ. 15) THEN
  359. PRECIS = 5.d-7
  360. ELSE IF ( JNPLAS .EQ. 51) THEN
  361. PRECIS = 1.d-4
  362. ENDIF
  363. C
  364. C =================================================================
  365. C Initialisation (si necessaire) du segment NECOU
  366. C =================================================================
  367. IF (jnplas.NE.2) THEN
  368. c
  369. IF(NPINT.NE.0.AND.MELE.EQ.28) THEN
  370. IFOURB=-2
  371. MFR1=1
  372. IF(JNPLAS.EQ.66) MFR1=MFR
  373. ELSE
  374. MFR1=MFR
  375. IFOURB=IFOUR
  376. ENDIF
  377. *
  378. * cas des coques minces
  379. *
  380. IF (MFR .EQ.3) THEN
  381. * en materiau unidirectionnel plastique, on met IFOURB a -2
  382. IF (MATE.EQ.4.AND.JNPLAS.NE.0) IFOURB=-2
  383. ENDIF
  384. NCOURB=0
  385. IPLAST=0
  386. IT=1
  387. IMAPLA=1
  388. ISOTRO=0
  389. ITYP=0
  390. C correspondance ( mfrbi,ifour) et ityp faite dans ecoinc
  391. IFLUAG=0
  392. ICINE=0
  393. ITHER=0
  394. IFLUPL=0
  395. ICYCL=0
  396. IBI=0
  397. JFLUAG=0
  398. JELEM =0
  399. LFLUAG=0
  400. IRELAX=0
  401. JNTRIN=0
  402. MFLUAG=0
  403. LEGAUS=0
  404. JGRDEF=0
  405. C
  406. ENDIF
  407. C =================================================================
  408. C
  409. RETURN
  410. END
  411.  
  412.  
  413.  

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