Télécharger defini.eso

Retour à la liste

Numérotation des lignes :

defini
  1. C DEFINI SOURCE PV 22/04/27 21:15:02 11355
  2. SUBROUTINE DEFINI(MELE,NCARR,NSTRS,NMATT,CMATE,MATE,
  3. . ISTEP,INPLAS,NPINT,IPOTAB,IVADEF,
  4. . IPMAIL,IVAMAT,
  5. . ITHHER,NUMAT,NUCAR,LOGVIS,
  6. . LUNI1,LUNI2,LW,KERRE)
  7. *
  8. *******************************************
  9. * ENTREES
  10. *******************************************
  11. *
  12. * MELE : numéro élément fini
  13. * NCARR : nombre de composantes de caratéristiques géométriques
  14. * NSTRS : nombre de composantes de contrainte
  15. * NMATT : nombre de composantes de propriétés matériau
  16. * CMATE : nom du matériau
  17. * MATE : numero du materiau
  18. * ISTEP : indicateur d'action pour calcul nonlocal
  19. * =0 dans le cas d'un calcul local (normal)
  20. * =1 ou 2 dans le cas d'un calcul nonlocal
  21. * =1 pour calcul des fonctions seuil uniquement
  22. * =2 pour calcul des variables dissipatives a partir
  23. * des fonctions seuil moyennees prealablement par nloc
  24. * INPLAS : numéro de matériau inélastique
  25. * NPINT : nombre de points d'intégration
  26. * IPOTAB : pointeur sur segment table
  27. * IVADEF : pointeur sur un segment mptval de deformations
  28. * IPMAIL : pointeur du maillage
  29. * IVAMAT : pointeur sur un segment mptval de materiau
  30. * ITHHER : =0 si pas de chargement thermique
  31. * =1 si chargement thermique mais materiau constant
  32. * =2 si chargement thermique et mat. dependant de la temperature
  33. * NUMAT : nombre de composantes du melval de imat
  34. * NUCAR : nombre de composantes du melval de icar
  35. *
  36. *******************************************
  37. * SORTIES
  38. *******************************************
  39. *
  40. * LOGVIS : booléen pour les modèles visqueux et endommageables
  41. * de Lemaitre
  42. * LUNI1 : booléens pour le modèle ACIER_UNI
  43. * LUNI2 : ( INPLAS.EQ.40)
  44. * NUCAR : nombre de composantes du melval de icar ( entrée modifiée)
  45. * Les sorties sont passées par des communs (NECOU,IECOU,XECOU)
  46. *
  47. ******************************************
  48. *
  49. IMPLICIT INTEGER(I-N)
  50. IMPLICIT REAL*8(A-H,O-Z)
  51. *
  52.  
  53. -INC PPARAM
  54. -INC CCOPTIO
  55. -INC SMCHAML
  56. -INC SMELEME
  57. -INC SMCOORD
  58. -INC SMMODEL
  59. -INC SMINTE
  60. -INC CCHAMP
  61. -INC CECOU
  62. *
  63. SEGMENT MPTVAL
  64. INTEGER IPOS(NS) ,NSOF(NS)
  65. INTEGER IVAL(NCOSOU)
  66. CHARACTER*16 TYVAL(NCOSOU)
  67. ENDSEGMENT
  68. LOGICAL LUNI1,LUNI2
  69. LOGICAL LOGVIS,LOGIN,LOGRE
  70. CHARACTER*72 CHARRE
  71. CHARACTER*8 CMATE
  72. *
  73. *
  74. *
  75. * LOGVIS est vrai pour les matériaux visqueux, endommageables de
  76. * Lemaitre et Coulomb (inplas = 34 )
  77. *
  78. * ---> Viscoplastique et Fluage
  79. *
  80. LOGVIS=.FALSE.
  81. *
  82. IF ( INPLAS .EQ. 17 .OR.
  83. 2 ( INPLAS .GE. 19 .AND. INPLAS .LE. 25) .OR.
  84. 4 INPLAS .EQ. 61 .OR. INPLAS .EQ. 63 .OR.
  85. 4 INPLAS .EQ. 65 .OR. INPLAS .EQ. 53 .OR.
  86. 1 INPLAS .EQ. 29 .OR. INPLAS .EQ. 76 .OR.
  87. 2 INPLAS .EQ. 44 .OR. INPLAS .EQ. 45 .OR.
  88. 2 INPLAS .EQ. 70 .OR. INPLAS .EQ. 74 .OR.
  89. 9 INPLAS .EQ. 77 .OR. INPLAS .EQ. 82 .OR.
  90. 9 INPLAS .EQ. 84 .OR. INPLAS .EQ. 85 .OR.
  91. 9 INPLAS .EQ. 86 .OR. INPLAS .EQ. 94 .OR.
  92. 9 INPLAS .EQ. 95 .OR. INPLAS .EQ.100 .OR.
  93. 9 INPLAS .EQ. 101 .OR. INPLAS .EQ.102 .OR.
  94. 9 INPLAS .EQ. 141 .OR. INPLAS .EQ.143
  95. 9 ) THEN
  96.  
  97. LOGVIS=.TRUE.
  98. ENDIF
  99. *
  100. * ---> PLastique endommageable de Lemaitre
  101. *
  102. IF (INPLAS.EQ.26) LOGVIS=.TRUE.
  103. *
  104. * ---> Plastique Coulomb
  105. *
  106. IF (INPLAS.EQ.34) LOGVIS=.TRUE.
  107. * ---> Modele VISCOHINTE
  108.  
  109. IF (INPLAS.EQ.90) LOGVIS=.TRUE.
  110. *
  111. *
  112. * INITIALISATIONS
  113. *
  114. NYOG=0
  115. NYNU=0
  116. NYALFA=0
  117. NYSMAX=0
  118. NYN=0
  119. NYM=0
  120. NYKK=0
  121. NYALF1=0
  122. NYBET1=0
  123. NYR=0
  124. NYA=0
  125. NYRHO=0
  126. NSIGY=0
  127. NNKX=0
  128. NYKX=0
  129. IND=0
  130. *
  131. KERR1=0
  132. *
  133. TEMP0=0.D0
  134. *
  135. MFR =NUMMFR(MELE)
  136. IELE=NUMGEO(MELE)
  137. NHRM=NIFOUR
  138. MELEME=IPMAIL
  139. NBNN=NUM(/1)
  140. NBELEM=NUM(/2)
  141. ICARA=NCARR
  142. IF(MFR.EQ.7.OR.MFR.EQ.13)ICARA=NCARR+IDIM-1
  143. LW=200
  144. LW2=150
  145. NDEF=NSTRS
  146. NSTRSS=NSTRS
  147. IF(MFR.EQ.33) NSTRSS=NSTRS-1
  148. *
  149. LUNI1=.FALSE.
  150. LUNI2=.FALSE.
  151. *
  152. NCXMAT=NMATT
  153. IF(INPLAS.EQ.3)THEN
  154. NCXMAT=NMATT+7
  155. END IF
  156. LTRAC=260
  157. IF (INPLAS.EQ.51) LENDO=260
  158. *
  159. *
  160. * le cas LUNI1 = VRAI correspond au materiau ACIER_UNI
  161. *
  162. IF(INPLAS.EQ.40)THEN
  163. IF (MFR.EQ.1.AND.IFOUR.LE.0)LUNI1=.TRUE.
  164. IF ((MFR.EQ.3.OR.MFR.EQ.9).AND.IFOUR.EQ.2)LUNI2=.TRUE.
  165. ENDIF
  166. C
  167. MPTVAL=IVAMAT
  168. NBGMAT = 0
  169. NELMAT = 0
  170. DO 1001 IM=1,NMATT
  171. IF(IVAL(IM).NE.0)THEN
  172. MELVAL=IVAL(IM)
  173.  
  174. * am 11/4/97 pourquoi ne pas tester la taille des ielche a 0 ?
  175.  
  176. IF(CMATE.EQ.'SECTION')THEN
  177. NBGMAT=MAX(NBGMAT,IELCHE(/1))
  178. NELMAT=MAX(NELMAT,IELCHE(/2))
  179. ELSE
  180. NBGMAT=MAX(NBGMAT,VELCHE(/1))
  181. NELMAT=MAX(NELMAT,VELCHE(/2))
  182. ENDIF
  183. ENDIF
  184. 1001 CONTINUE
  185. c
  186. *
  187. * test sur istep
  188. *
  189. IF (ISTEP .GT. 2 .OR. ISTEP .LT. 0) THEN
  190. KERRE=54
  191. END IF
  192. *
  193. * test sur inplas pour recuperer eventuellement d'autres infos
  194. *
  195. * modeles de viscoplasticite on recupere le pas de temps dt en indice 'dt'
  196. *
  197. * on recupere le nombre max de sous pas en indice 'maxisouspas'
  198. *
  199. * et on met ind = 1
  200. *
  201. IF ( INPLAS .EQ. 17 .OR. INPLAS .EQ. 19 .OR.
  202. 1 INPLAS .EQ. 20 .OR. INPLAS .EQ. 61 .OR.
  203. 1 INPLAS .EQ. 21 .OR. INPLAS .EQ. 65 .OR.
  204. 2 INPLAS .EQ. 22 .OR. INPLAS .EQ. 23 .OR.
  205. 3 INPLAS .EQ. 24 .OR. INPLAS .EQ. 70 .OR.
  206. 6 INPLAS .EQ. 25 .OR. INPLAS .EQ. 29 .OR.
  207. 8 INPLAS .EQ. 43 .OR. INPLAS .EQ. 44 .OR.
  208. 8 INPLAS .EQ. 45 .OR. INPLAS .EQ. 53 .OR.
  209. 7 INPLAS .EQ. 63 .OR. INPLAS .EQ. 66 .OR.
  210. 9 INPLAS .EQ. 74 .OR. INPLAS .EQ. 76 .OR.
  211. 9 INPLAS .EQ. 84 .OR. INPLAS .EQ. 85 .OR.
  212. 9 INPLAS .EQ. 86 .OR. INPLAS .EQ. 90 .OR.
  213. 9 INPLAS .EQ. 77 .OR. INPLAS .EQ. 82 .OR.
  214. & INPLAS .EQ. 94 .OR. INPLAS .EQ. 95 .OR.
  215. & INPLAS .EQ. 100 .OR. INPLAS .EQ. 101 .OR.
  216. & INPLAS .EQ. 102 .OR. INPLAS .EQ. 141) THEN
  217. *
  218. IF(IPOTAB.EQ.0.OR.IVADEF.EQ.0) THEN
  219. CALL ERREUR(641)
  220. KERRE=999
  221. RETURN
  222. ENDIF
  223. IF (INPLAS.NE.43) THEN
  224. IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN
  225. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,
  226. & 'TALPHA_REFERENCE',LOGIN,IOBIN,
  227. & 'FLOTTANT',IVALRE,TREFA,CHARRE,LOGRE,IOBRE)
  228. IF(IERR.NE.0)THEN
  229. KERRE=999
  230. RETURN
  231. ENDIF
  232. ENDIF
  233. ENDIF
  234. IND = 1
  235. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,'DT',LOGIN,IOBIN,
  236. & 'FLOTTANT',IVALRE,DT,CHARRE,LOGRE,IOBRE)
  237. IF(IERR.NE.0)THEN
  238. KERRE=999
  239. RETURN
  240. END IF
  241. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,'MAXISOUSPAS',
  242. & LOGIN,IOBIN,'ENTIER ',MSOUPA,XVALRE,CHARRE,LOGRE,IOBRE)
  243. IF(IERR.NE.0) THEN
  244. KERRE=999
  245. RETURN
  246. END IF
  247. *
  248. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,'TEMPS0',LOGIN,
  249. & IOBIN,'FLOTTANT',IVALRE,TEMP0,CHARRE,LOGRE,IOBRE)
  250. IF(IERR.NE.0)THEN
  251. KERRE=999
  252. RETURN
  253. END IF
  254. ENDIF
  255. *
  256. * ---> PLastique endommageable de Lemaitre
  257. *
  258. IF ( INPLAS .EQ. 26 ) THEN
  259. *
  260. IF(IPOTAB.EQ.0.OR.IVADEF.EQ.0) THEN
  261. CALL ERREUR(641)
  262. KERRE=999
  263. RETURN
  264. ENDIF
  265. IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN
  266. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,
  267. & 'TALPHA_REFERENCE',LOGIN,IOBIN,
  268. & 'FLOTTANT',IVALRE,TREFA,CHARRE,LOGRE,IOBRE)
  269. IF(IERR.NE.0)THEN
  270. KERRE=999
  271. RETURN
  272. ENDIF
  273. ENDIF
  274. ENDIF
  275.  
  276. IF(MFR.EQ.7.OR.MFR.EQ.13.OR.LUNI1)THEN
  277. NBBB=NBNN
  278. ENDIF
  279. *
  280. DTOPTI = 1.D6*DT
  281. TSOM = 0.D0
  282. NSOM = 0
  283. NINV = 0
  284. NINCMA = 0
  285. TCAR = 0.D0
  286. NCOMP = 0
  287. DTT=DT
  288. *
  289. c
  290. c mise a 0 des variables du common necou si besoin
  291.  
  292. c les bonnes valeurs sont attribuees selon les modeles
  293. c initialisations selon les cas
  294. c
  295. IF(INPLAS.NE.2)THEN
  296. *
  297. IF(NPINT.NE.0.AND.MELE.EQ.28) THEN
  298. IFOURB=-2
  299. MFR1=1
  300. IF(INPLAS.EQ.66) MFR1=MFR
  301. ELSE
  302. MFR1=MFR
  303. IFOURB=IFOUR
  304. ENDIF
  305. *
  306. * cas des coques minces
  307. * en materiau unidirectionnel plastique
  308. * on met IFOURB a -2
  309. *
  310. IF(MATE.EQ.4.AND.INPLAS.NE.0.AND.MFR.EQ.3) THEN
  311. IFOURB=-2
  312. ENDIF
  313. *
  314. NCOURB=0
  315. IPLAST=0
  316. IMAPLA=1
  317. IT=1
  318. ISOTRO=0
  319. ITYP=0
  320. *
  321. * correspondance ( mfr,ifour) et ityp faite dans ecoinc
  322. *
  323. IFLUAG=0
  324. ICINE=0
  325. ITHER=0
  326. IFLUPL=0
  327. ICYCL=0
  328. IBI=0
  329. JFLUAG=0
  330. JELEM =0
  331. LFLUAG=0
  332. IRELAX=0
  333. JNTRIN=0
  334. MFLUAG=0
  335. LEGAUS=0
  336. JGRDEF=0
  337. ENDIF
  338. *
  339. IF(MFR.EQ.15) NUCAR=NUCAR*2
  340. NUMAT1=NUMAT
  341. *
  342. IF(INPLAS.EQ.26)THEN
  343. NNVARI=2
  344. NUMAT=NUMAT+4
  345. ENDIF
  346. IF (INPLAS.EQ.26.OR.INPLAS.EQ.29) THEN
  347. INAT=INPLAS
  348. ELSE
  349. INAT=0
  350. ENDIF
  351. *
  352. RETURN
  353. END
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  

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