Télécharger comdef.eso

Retour à la liste

Numérotation des lignes :

  1. C COMDEF SOURCE BP208322 17/03/01 21:16:06 9325
  2. SUBROUTINE COMDEF(iwrk53,necou,iecou,xecou)
  3.  
  4. * renseigne en partie les COMMON
  5. *******************************************
  6. * ENTREES
  7. *******************************************
  8. *
  9. * MELE : numéro élément fini
  10. * NCARR : nombre de composantes de caratéristiques géométriques
  11. * NSTRS : nombre de composantes de contrainte
  12. * NMATT : nombre de composantes de propriétés matériau
  13. * CMATE : nom du matériau
  14. * MATE : numero du materiau
  15. * ISTEP : indicateur d'action pour calcul nonlocal
  16. * =0 dans le cas d'un calcul local (normal)
  17. * =1 ou 2 dans le cas d'un calcul nonlocal
  18. * =1 pour calcul des fonctions seuil uniquement
  19. * =2 pour calcul des variables dissipatives a partir
  20. * des fonctions seuil moyennees prealablement par nloc
  21. * INPLAS : numéro de matériau inélastique
  22. * NPINT : nombre de points d'intégration
  23. * IPMAIL : pointeur du maillage
  24. * NUMAT : nombre de composantes materiau
  25. *
  26. *******************************************
  27. * SORTIES
  28. *******************************************
  29. *
  30. * LOGVIS : booléen pour les modèles visqueux et endommageables
  31. * de Lemaitre
  32. * LUNI1 : booléens pour le modèle ACIER_UNI
  33. * LUNI2 : ( INPLAS.EQ.40)
  34. * Les sorties sont passées par des communs (NECOU,IECOU,XECOU)
  35. *
  36. ******************************************
  37. *
  38. IMPLICIT INTEGER(I-N)
  39. IMPLICIT REAL*8(A-H,O-Z)
  40. *
  41. -INC CCOPTIO
  42. -INC SMCHAML
  43. -INC SMELEME
  44. -INC SMCOORD
  45. -INC CCHAMP
  46. -INC DECHE
  47. *
  48. * Segment NECOU utilisé dans ECOINC
  49. *
  50. SEGMENT NECOU
  51. INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  52. . ITYP,IFOURB,IFLUAG,
  53. . ICINE,ITHER,IFLUPL,ICYCL,IBI,
  54. . JFLUAG,KFLUAG,LFLUAG,
  55. . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF
  56. ENDSEGMENT
  57. *
  58. * Segment IECOU: sert de fourre-tout pour les initialisations
  59. * d'entiers
  60. *
  61. SEGMENT IECOU
  62. INTEGER NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK,NYALF1,
  63. . NYBET1,NYR,NYA,NYRHO,NSIGY,NNKX,NYKX,IND,NSOM,NINV,
  64. . NINCMA,NCOMP,JELEM,LEGAUS,INAT,NCXMAT,LTRAC,MFRBI,
  65. . IELE,NHRM,NBNNBI,NBELMB,ICARA,LW2BI,NDEF,NSTRSS,
  66. . MFR1,NBGMAT,NELMAT,MSOUPA,NUMAT1,LENDO,NBBB,NNVARI,
  67. . KERR1,MELEMB,NYOG1,NYNU1,NYALFT1,NYSMAX1,NYN1,NYM1,
  68. . NYKK1,NYALF2,NYBET2,NYR1,NYA1,NYQ1,NYRHO1,NSIGY1
  69. ENDSEGMENT
  70. *
  71. * Segment XECOU: sert de fourre-tout pour les initialisations
  72. * de réels
  73. *
  74. SEGMENT XECOU
  75. REAL*8 DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00
  76. ENDSEGMENT
  77. *
  78. wrk53 = iwrk53
  79. *
  80. c* On utilise JNPLAS (locale) en lieu et place de INPLAS (segment)
  81. c* tout au long du present sousprogramme
  82. jnplas = INPLAS
  83. *
  84. * mecanique
  85. *
  86. LOGVIS=.FALSE.
  87. *
  88. * LOGVIS est vrai pour les matériaux visqueux, endommageables de
  89. * Lemaitre et Coulomb (inplas=jnplas = 34 )
  90. *
  91. * ---> Viscoplastique et Fluage
  92. *
  93. IF (JNPLAS.EQ. 17 .OR. JNPLAS.EQ. 19 .OR.
  94. 2 JNPLAS.EQ. 20 .OR. JNPLAS.EQ. 21 .OR. JNPLAS .EQ. 22 .OR.
  95. 2 JNPLAS.EQ. 23 .OR. JNPLAS.EQ. 24 .OR. JNPLAS .EQ. 25 .OR.
  96. 3 JNPLAS .EQ. 61 .OR.JNPLAS .EQ. 63 .OR.
  97. 4 JNPLAS .EQ. 65 .OR.JNPLAS .EQ. 53 .OR.JNPLAS .EQ. 29 .OR.
  98. 5 JNPLAS .EQ. 44 .OR. JNPLAS .EQ. 45 .OR.
  99. 6 JNPLAS .EQ. 70 .OR. JNPLAS .EQ. 74 .OR.
  100. 7 JNPLAS .EQ. 76 .OR.JNPLAS .EQ. 77 .OR. JNPLAS.EQ.82 .OR.
  101. 8 JNPLAS .EQ. 84 .OR. JNPLAS.EQ.85 .OR.JNPLAS .EQ. 86 .OR.
  102. 9 JNPLAS .EQ. 106 .OR. JNPLAS .EQ. 102 .OR.
  103. a JNPLAS .EQ. 107 .OR. JNPLAS .EQ. 108 .OR.
  104. b JNPLAS .EQ. 134 .OR. JNPLAS .EQ. 135 .OR.
  105. c JNPLAS .EQ. 136 .OR. JNPLAS .EQ. 137 .OR.
  106. d JNPLAS .EQ. 142 .OR. JNPLAS .EQ. 146 .OR.
  107. e JNPLAS .EQ. 153 .OR. JNPLAS .EQ. 154 ) THEN
  108. LOGVIS=.TRUE.
  109. *
  110. * ---> PLastique endommageable de Lemaitre
  111. *
  112. ELSE IF (JNPLAS.EQ.26 .OR. JNPLAS .EQ. 130 ) THEN
  113. LOGVIS=.TRUE.
  114. *
  115. * ---> Plastique Coulomb
  116. *
  117. ELSE IF (JNPLAS.EQ.34) THEN
  118. LOGVIS=.TRUE.
  119. *
  120. ENDIF
  121. *
  122. LUNI1=.FALSE.
  123. LUNI2=.FALSE.
  124. *
  125. * le cas LUNI1 = VRAI correspond au materiau ACIER_UNI
  126. IF(JNPLAS.EQ.40)THEN
  127. IF (MFRbi.EQ.1.AND.IFOUR.LE.0)LUNI1=.TRUE.
  128. IF ((MFRbi.EQ.3.OR.MFRbi.EQ.9).AND.IFOUR.EQ.2)LUNI2=.TRUE.
  129. ENDIF
  130. *
  131. * INITIALISATIONS
  132. *
  133. NYOG=0
  134. NYNU=0
  135. NYALFA=0
  136. NYSMAX=0
  137. NYN=0
  138. NYM=0
  139. NYKK=0
  140. NYALF1=0
  141. NYBET1=0
  142. NYR=0
  143. NYA=0
  144. NYRHO=0
  145. NSIGY=0
  146. NNKX=0
  147. NYKX=0
  148. IND=0
  149. NYOG1=0
  150. NYNU1=0
  151. NYALFT1=0
  152. NYSMAX1=0
  153. NYN1=0
  154. NYM1=0
  155. NYKK1=0
  156. NYALF2=0
  157. NYBET2=0
  158. NYR1=0
  159. NYA1=0
  160. NYQ1=0
  161. NYRHO1=0
  162. NSIGY1=0
  163. *
  164. JECHER=0
  165. *
  166. ITHHER = 0
  167. KERR1=0
  168. TREFA = 20.
  169. if (jnplas.eq.43) TREFA=-1.E35
  170. *
  171. c MFRbi =NUMMFR(MELE)
  172. IELE=NUMGEO(MELE)
  173. NHRM=NIFOUR
  174. MELEME=IPMAIL
  175. melemb=meleme
  176. c NBNNbi=NUM(/1)
  177. c NBELMb=NUM(/2)
  178. ICARA=NCARR
  179. IF(MFRbi.EQ.7.OR.MFRbi.EQ.13)ICARA=NCARR+IDIM
  180. c LW=200
  181. c LW2bi=150
  182. NDEF=NSTRS
  183. NSTRSS=NSTRS
  184. *
  185. * cas milieux poreux
  186. IF(MFRbi.EQ.33.AND.MATE.EQ.1) NSTRSS=NSTRS-1
  187. *
  188. NCXMAT=NMATT
  189. IF(JNPLAS.EQ.3)THEN
  190. NCXMAT=NMATT+7
  191. END IF
  192. LTRAC=260
  193. IF (JNPLAS.EQ.51) LENDO=260
  194. *
  195. * test sur istep
  196. *
  197. IF (ISTEP .GT. 2 .OR. ISTEP .LT. 0) THEN
  198. KERRE=54
  199. END IF
  200. *
  201. PRECIS = 1.e-8
  202. * test sur jnplas=inplas pour recuperer eventuellement d'autres infos
  203. *
  204. * modeles non lineaires externes
  205. *
  206. IF (JNPLAS.LT.0) THEN
  207. *
  208. * Convention : tous les modeles externes doivent sortir les
  209. * deformations inelastiques CUMULEES, et non les increments.
  210. * Convention sans incidence sur 'NON_LINEAIRE' 'UTILISATEUR' car
  211. * l'integrateur externe generique UMAT n'a pas de sortie prevue
  212. * pour les deformations inelastiques.
  213. *
  214. IND = 1
  215. *
  216. * Modeles 'VISCO_EXTERNE' : integres par CCREEP
  217. * On adopte les parametres par defaut des modeles viscoplastiques
  218. * (cf. ci-dessous)
  219. *
  220. IF (JNPLAS.EQ.-2) THEN
  221. MSOUPA = 200
  222. PRECIS = 5.d-7
  223. ENDIF
  224. *
  225. * modeles de viscoplasticite
  226. *
  227. * le nombre max de sous pas
  228. *
  229. * et on met ind = 1
  230. *
  231. ELSE IF (JNPLAS.EQ. 17 .OR. JNPLAS.EQ. 19 .OR. JNPLAS.EQ. 21 .OR.
  232. 2 JNPLAS .EQ. 20 .OR. JNPLAS .EQ. 61 .OR.JNPLAS .EQ. 65 .OR.
  233. 4 JNPLAS .EQ. 22 .OR. JNPLAS .EQ. 23 .OR.JNPLAS .EQ. 24 .OR.
  234. 6 JNPLAS .EQ. 25 .OR. JNPLAS .EQ. 29 .OR.JNPLAS .EQ. 70 .OR.
  235. 7 JNPLAS .EQ. 43 .OR. JNPLAS .EQ. 44 .OR.JNPLAS .EQ. 63 .OR.
  236. 8 JNPLAS .EQ. 45 .OR. JNPLAS .EQ. 53 .OR.JNPLAS .EQ. 66 .OR.
  237. a JNPLAS .EQ. 74 .OR. JNPLAS .EQ. 76 .OR.JNPLAS .EQ. 84 .OR.
  238. b JNPLAS .EQ. 77 .OR. JNPLAS .EQ. 82 .OR.JNPLAS .EQ. 85 .OR.
  239. d JNPLAS .EQ. 86 .OR. JNPLAS .EQ. 102 .OR.JNPLAS .EQ. 108 .OR.
  240. e JNPLAS .EQ. 106 .OR. JNPLAS .EQ. 107 .OR.JNPLAS .EQ. 142 .OR.
  241. f JNPLAS .EQ. 153 .OR. JNPLAS .EQ. 154) THEN
  242. *
  243. IND = 1
  244. *
  245. if (jnplas.eq.44.or.jnplas.eq.45) then
  246. MSOUPA = 2000
  247. else IF (JNPLAS.EQ.107.OR.JNPLAS.EQ.108) THEN
  248. MSOUPA = 2000
  249. else
  250. MSOUPA = 200
  251. endif
  252. PRECIS = 5.d-7
  253. *
  254. ELSE IF ( JNPLAS .EQ. 130 ) THEN
  255. IND = 1
  256. MSOUPA = 200
  257. PRECIS = 5.d-7
  258. ELSE IF ( JNPLAS .EQ. 136 .OR. JNPLAS .EQ. 137 .OR.
  259. 2 JNPLAS .EQ. 138 .OR. JNPLAS .EQ. 139 ) THEN
  260. IND = 1
  261. MSOUPA = 200
  262. PRECIS = 5.d-7
  263. ENDIF
  264. *
  265. IF (JNPLAS.EQ.2.OR.JNPLAS.EQ.27) THEN
  266. PRECIS = 1.e-8
  267. ELSE IF ( JNPLAS .EQ. 15) THEN
  268. PRECIS = 5.d-7
  269. ELSE IF ( JNPLAS .EQ. 51) THEN
  270. PRECIS = 1.d-4
  271. ENDIF
  272.  
  273. IF(MFRbi.EQ.7.OR.MFRbi.EQ.13.OR.LUNI1)THEN
  274. NBBB=NBNNbi
  275. ENDIF
  276. *
  277. TSOM = 0.D0
  278. NSOM = 0
  279. NINV = 0
  280. NINCMA = 0
  281. TCAR = 0.D0
  282. NCOMP = 0
  283. c
  284. c mise a 0 des variables du common necou si besoin
  285.  
  286. c les bonnes valeurs sont attribuees selon les modeles
  287. c initialisations selon les cas
  288. c
  289. IF (jnplas.NE.2) THEN
  290. c
  291. IF(NPINT.NE.0.AND.MELE.EQ.28) THEN
  292. IFOURB=-2
  293. MFR1=1
  294. IF(JNPLAS.EQ.66) MFR1=MFRbi
  295. ELSE
  296. MFR1=MFRbi
  297. IFOURB=IFOUR
  298. ENDIF
  299. *
  300. * cas des coques minces
  301. *
  302. IF (MFRbi.EQ.3) THEN
  303. * en materiau unidirectionnel plastique, on met IFOURB a -2
  304. IF (MATE.EQ.4.AND.JNPLAS.NE.0) IFOURB=-2
  305. ENDIF
  306. *
  307. NCOURB=0
  308. IPLAST=0
  309. IMAPLA=1
  310. IT=1
  311. ISOTRO=0
  312. ITYP=0
  313. *
  314. * correspondance ( mfrbi,ifour) et ityp faite dans ecoinc
  315. *
  316. IFLUAG=0
  317. ICINE=0
  318. ITHER=0
  319. IFLUPL=0
  320. ICYCL=0
  321. IBI=0
  322. JFLUAG=0
  323. JELEM =0
  324. LFLUAG=0
  325. IRELAX=0
  326. JNTRIN=0
  327. MFLUAG=0
  328. LEGAUS=0
  329. JGRDEF=0
  330. *
  331. ENDIF
  332. *
  333. NUMAT1=NUMAT
  334. IF(JNPLAS.EQ.26)THEN
  335. INAT=JNPLAS
  336. NNVARI=2
  337. NUMAT=NUMAT+4
  338. ELSE IF (JNPLAS.EQ.29.OR.JNPLAS.EQ.142) THEN
  339. INAT=JNPLAS
  340. ELSE
  341. INAT=0
  342. ENDIF
  343. *
  344. RETURN
  345. END
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  

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