Télécharger comdef.eso

Retour à la liste

Numérotation des lignes :

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

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