Télécharger defini.eso

Retour à la liste

Numérotation des lignes :

defini
  1. C DEFINI SOURCE OF166741 25/02/21 21:15:48 12166
  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. -INC PPARAM
  53. -INC CCOPTIO
  54. -INC CCHAMP
  55. -INC CECOU
  56.  
  57. -INC SMCHAML
  58. -INC SMELEME
  59. -INC SMCOORD
  60. -INC SMMODEL
  61. -INC SMINTE
  62.  
  63. -INC TMPTVAL
  64.  
  65. LOGICAL LUNI1,LUNI2
  66. LOGICAL LOGVIS,LOGIN,LOGRE
  67. CHARACTER*72 CHARRE
  68. CHARACTER*8 CMATE
  69. *
  70. * LOGVIS est vrai pour les matériaux visqueux, endommageables de
  71. * Lemaitre et Coulomb (inplas = 34 )
  72. *
  73. * ---> Viscoplastique et Fluage
  74. *
  75. LOGVIS=.FALSE.
  76. *
  77. IF ( INPLAS .EQ. 17 .OR.
  78. 2 ( INPLAS .GE. 19 .AND. INPLAS .LE. 25) .OR.
  79. 4 INPLAS .EQ. 61 .OR. INPLAS .EQ. 63 .OR.
  80. 4 INPLAS .EQ. 65 .OR. INPLAS .EQ. 53 .OR.
  81. 1 INPLAS .EQ. 29 .OR. INPLAS .EQ. 76 .OR.
  82. 2 INPLAS .EQ. 44 .OR. INPLAS .EQ. 45 .OR.
  83. 2 INPLAS .EQ. 70 .OR. INPLAS .EQ. 74 .OR.
  84. 9 INPLAS .EQ. 77 .OR. INPLAS .EQ. 82 .OR.
  85. 9 INPLAS .EQ. 84 .OR. INPLAS .EQ. 85 .OR.
  86. 9 INPLAS .EQ. 86 .OR. INPLAS .EQ. 94 .OR.
  87. 9 INPLAS .EQ. 95 .OR. INPLAS .EQ.100 .OR.
  88. 9 INPLAS .EQ. 101 .OR. INPLAS .EQ.102 .OR.
  89. 9 INPLAS .EQ. 141 .OR. INPLAS .EQ.143
  90. 9 ) THEN
  91.  
  92. LOGVIS=.TRUE.
  93. ENDIF
  94. *
  95. * ---> PLastique endommageable de Lemaitre
  96. *
  97. IF (INPLAS.EQ.26) LOGVIS=.TRUE.
  98. *
  99. * ---> Plastique Coulomb
  100. *
  101. IF (INPLAS.EQ.34) LOGVIS=.TRUE.
  102. * ---> Modele VISCOHINTE
  103.  
  104. IF (INPLAS.EQ.90) LOGVIS=.TRUE.
  105. *
  106. * INITIALISATIONS
  107. *
  108. NYOG=0
  109. NYNU=0
  110. NYALFA=0
  111. NYSMAX=0
  112. NYN=0
  113. NYM=0
  114. NYKK=0
  115. NYALF1=0
  116. NYBET1=0
  117. NYR=0
  118. NYA=0
  119. NYRHO=0
  120. NSIGY=0
  121. NNKX=0
  122. NYKX=0
  123. IND=0
  124. *
  125. KERR1=0
  126. *
  127. TEMP0=0.D0
  128. *
  129. MFR =NUMMFR(MELE)
  130. IELE=NUMGEO(MELE)
  131. NHRM=NIFOUR
  132. MELEME=IPMAIL
  133. NBNN=NUM(/1)
  134. NBELEM=NUM(/2)
  135. ICARA=NCARR
  136. IF(MFR.EQ.7.OR.MFR.EQ.13)ICARA=NCARR+IDIM-1
  137. LW=200
  138. LW2=150
  139. NDEF=NSTRS
  140. NSTRSS=NSTRS
  141. IF(MFR.EQ.33) NSTRSS=NSTRS-1
  142. *
  143. LUNI1=.FALSE.
  144. LUNI2=.FALSE.
  145. *
  146. NCXMAT=NMATT
  147. IF(INPLAS.EQ.3)THEN
  148. NCXMAT=NMATT+7
  149. END IF
  150. LTRAC=260
  151. IF (INPLAS.EQ.51) LENDO=260
  152. *
  153. * le cas LUNI1 = VRAI correspond au materiau ACIER_UNI
  154. *
  155. IF(INPLAS.EQ.40)THEN
  156. IF (MFR.EQ.1.AND.IFOUR.LE.0)LUNI1=.TRUE.
  157. IF ((MFR.EQ.3.OR.MFR.EQ.9).AND.IFOUR.EQ.2)LUNI2=.TRUE.
  158. ENDIF
  159.  
  160. MPTVAL=IVAMAT
  161. NBGMAT = 0
  162. NELMAT = 0
  163. DO 1001 IM=1,NMATT
  164. MELVAL=IVAL(IM)
  165. IF (MELVAL.NE.0)THEN
  166.  
  167. * am 11/4/97 pourquoi ne pas tester la taille des ielche a 0 ?
  168.  
  169. IF(CMATE.EQ.'SECTION')THEN
  170. NBGMAT=MAX(NBGMAT,IELCHE(/1))
  171. NELMAT=MAX(NELMAT,IELCHE(/2))
  172. ELSE
  173. NBGMAT=MAX(NBGMAT,VELCHE(/1))
  174. NELMAT=MAX(NELMAT,VELCHE(/2))
  175. ENDIF
  176. ENDIF
  177. 1001 CONTINUE
  178. *
  179. * test sur istep
  180. *
  181. IF (ISTEP .GT. 2 .OR. ISTEP .LT. 0) THEN
  182. KERRE=54
  183. END IF
  184. *
  185. * test sur inplas pour recuperer eventuellement d'autres infos
  186. *
  187. * modeles de viscoplasticite on recupere le pas de temps dt en indice 'dt'
  188. *
  189. * on recupere le nombre max de sous pas en indice 'maxisouspas'
  190. *
  191. * et on met ind = 1
  192. *
  193. IF ( INPLAS .EQ. 17 .OR. INPLAS .EQ. 19 .OR.
  194. 1 INPLAS .EQ. 20 .OR. INPLAS .EQ. 61 .OR.
  195. 1 INPLAS .EQ. 21 .OR. INPLAS .EQ. 65 .OR.
  196. 2 INPLAS .EQ. 22 .OR. INPLAS .EQ. 23 .OR.
  197. 3 INPLAS .EQ. 24 .OR. INPLAS .EQ. 70 .OR.
  198. 6 INPLAS .EQ. 25 .OR. INPLAS .EQ. 29 .OR.
  199. 8 INPLAS .EQ. 43 .OR. INPLAS .EQ. 44 .OR.
  200. 8 INPLAS .EQ. 45 .OR. INPLAS .EQ. 53 .OR.
  201. 7 INPLAS .EQ. 63 .OR. INPLAS .EQ. 66 .OR.
  202. 9 INPLAS .EQ. 74 .OR. INPLAS .EQ. 76 .OR.
  203. 9 INPLAS .EQ. 84 .OR. INPLAS .EQ. 85 .OR.
  204. 9 INPLAS .EQ. 86 .OR. INPLAS .EQ. 90 .OR.
  205. 9 INPLAS .EQ. 77 .OR. INPLAS .EQ. 82 .OR.
  206. & INPLAS .EQ. 94 .OR. INPLAS .EQ. 95 .OR.
  207. & INPLAS .EQ. 100 .OR. INPLAS .EQ. 101 .OR.
  208. & INPLAS .EQ. 102 .OR. INPLAS .EQ. 141) THEN
  209. *
  210. IF(IPOTAB.EQ.0.OR.IVADEF.EQ.0) THEN
  211. CALL ERREUR(641)
  212. KERRE=999
  213. RETURN
  214. ENDIF
  215. IF (INPLAS.NE.43) THEN
  216. IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN
  217. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,
  218. & 'TALPHA_REFERENCE',LOGIN,IOBIN,
  219. & 'FLOTTANT',IVALRE,TREFA,CHARRE,LOGRE,IOBRE)
  220. IF(IERR.NE.0)THEN
  221. KERRE=999
  222. RETURN
  223. ENDIF
  224. ENDIF
  225. ENDIF
  226. IND = 1
  227. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,'DT',LOGIN,IOBIN,
  228. & 'FLOTTANT',IVALRE,DT,CHARRE,LOGRE,IOBRE)
  229. IF(IERR.NE.0)THEN
  230. KERRE=999
  231. RETURN
  232. END IF
  233. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,'MAXISOUSPAS',
  234. & LOGIN,IOBIN,'ENTIER ',MSOUPA,XVALRE,CHARRE,LOGRE,IOBRE)
  235. IF(IERR.NE.0) THEN
  236. KERRE=999
  237. RETURN
  238. END IF
  239. *
  240. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,'TEMPS0',LOGIN,
  241. & IOBIN,'FLOTTANT',IVALRE,TEMP0,CHARRE,LOGRE,IOBRE)
  242. IF(IERR.NE.0)THEN
  243. KERRE=999
  244. RETURN
  245. END IF
  246. ENDIF
  247. *
  248. * ---> PLastique endommageable de Lemaitre
  249. *
  250. IF ( INPLAS .EQ. 26 ) THEN
  251. *
  252. IF(IPOTAB.EQ.0.OR.IVADEF.EQ.0) THEN
  253. CALL ERREUR(641)
  254. KERRE=999
  255. RETURN
  256. ENDIF
  257. IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN
  258. CALL ACCTAB(IPOTAB,'MOT ',IVALIN,XVALIN,
  259. & 'TALPHA_REFERENCE',LOGIN,IOBIN,
  260. & 'FLOTTANT',IVALRE,TREFA,CHARRE,LOGRE,IOBRE)
  261. IF(IERR.NE.0)THEN
  262. KERRE=999
  263. RETURN
  264. ENDIF
  265. ENDIF
  266. ENDIF
  267.  
  268. IF(MFR.EQ.7.OR.MFR.EQ.13.OR.LUNI1)THEN
  269. NBBB=NBNN
  270. ENDIF
  271. *
  272. DTOPTI = 1.D6*DT
  273. TSOM = 0.D0
  274. NSOM = 0
  275. NINV = 0
  276. NINCMA = 0
  277. TCAR = 0.D0
  278. NCOMP = 0
  279. DTT=DT
  280. *
  281. c
  282. c mise a 0 des variables du common necou si besoin
  283.  
  284. c les bonnes valeurs sont attribuees selon les modeles
  285. c initialisations selon les cas
  286. c
  287. IF(INPLAS.NE.2)THEN
  288. *
  289. IF(NPINT.NE.0.AND.MELE.EQ.28) THEN
  290. IFOURB=-2
  291. MFR1=1
  292. IF(INPLAS.EQ.66) MFR1=MFR
  293. ELSE
  294. MFR1=MFR
  295. IFOURB=IFOUR
  296. ENDIF
  297. *
  298. * cas des coques minces
  299. * en materiau unidirectionnel plastique
  300. * on met IFOURB a -2
  301. *
  302. IF(MATE.EQ.4.AND.INPLAS.NE.0.AND.MFR.EQ.3) THEN
  303. IFOURB=-2
  304. ENDIF
  305. *
  306. NCOURB=0
  307. IPLAST=0
  308. IMAPLA=1
  309. IT=1
  310. ISOTRO=0
  311. ITYP=0
  312. *
  313. * correspondance ( mfr,ifour) et ityp faite dans ecoinc
  314. *
  315. IFLUAG=0
  316. ICINE=0
  317. ITHER=0
  318. IFLUPL=0
  319. ICYCL=0
  320. IBI=0
  321. JFLUAG=0
  322. JELEM =0
  323. LFLUAG=0
  324. IRELAX=0
  325. JNTRIN=0
  326. MFLUAG=0
  327. LEGAUS=0
  328. JGRDEF=0
  329. ENDIF
  330. *
  331. IF(MFR.EQ.15) NUCAR=NUCAR*2
  332. NUMAT1=NUMAT
  333. *
  334. IF(INPLAS.EQ.26)THEN
  335. NNVARI=2
  336. NUMAT=NUMAT+4
  337. ENDIF
  338. IF (INPLAS.EQ.26.OR.INPLAS.EQ.29) THEN
  339. INAT=INPLAS
  340. ELSE
  341. INAT=0
  342. ENDIF
  343.  
  344. RETURN
  345. END
  346.  
  347.  
  348.  

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