Télécharger comdef.eso

Retour à la liste

Numérotation des lignes :

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

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