Télécharger ecoule.eso

Retour à la liste

Numérotation des lignes :

  1. C ECOULE SOURCE CB215821 16/12/05 21:39:15 9237
  2. SUBROUTINE ECOULE
  3. *---------------------------------------------------------------------
  4. * ECOULEMENT INELASTIQUE
  5. *---------------------------------------------------------------------
  6. *
  7. * SYNTAXE POUR LES LOIS VISCO (IND=1) :
  8. *
  9. * SIGF VARF DEPIN = 'ECOU' MODL SIG0 VAR0 DEPST
  10. * CARAC ( PRECIS ) LATAB ( MOALIR ) ;
  11. *
  12. * SYNTAXE POUR LES LOIS PLASTIQUES (IND=2):
  13. *
  14. * SIGF VARF DEPIN = 'ECOU' MODL SIG0 VAR0 DEPST CARAC
  15. * ( PRECIS ) ( ISTEP ) ;
  16. * MMODEL | MODL OBJET MODELE
  17. *
  18. * | SIG0 CONTRAINTES AU DEBUT DU PAS
  19. * | VAR0 VARIABLES INTERNES AU DEBUT DU PAS
  20. * MCHAML | DEPST INCREMENT DE DEFORMATIONS TOTALES
  21. * | CARAC CONSTANTES DU MATERIAU ET CARACTERISTIQUES
  22. * | GEOMETRIQUES ( SELON LES ELEMENTS )
  23. * FLOTTANT | PRECIS PRECISION POUR ITERATIONS INTERNES
  24. * TABLE | LATAB TABLE CONTENANT D'AUTRES INFOS
  25. * MOT | MOALIR MOT A LIRE
  26. * ISTEP | INDICATEUR D'ACTION POUR CALCUL NONLOCAL
  27. * | =0 DANS LE CAS D'UN CALCUL LOCAL (NORMAL)
  28. * | =1 OU 2 DANS LE CAS D'UN CALCUL NONLOCAL
  29. * | =1 POUR CALCUL DES FONCTIONS SEUIL UNIQUEMENT
  30. * | =2 POUR CALCUL DES VARIABLES DISSIPATIVES A PARTIR
  31. * | DES FONCTIONS SEUIL MOYENNEES PREALABLEMENT PAR NLOC
  32. *
  33. *
  34. *
  35. * | SIGF CONTRAINTES A LA FIN DU PAS
  36. * MCHAML | VARF VARIABLES INTERNES A LA FIN DU PAS
  37. * | DEPIN INCREMENT DE DEFORMATIONS INELASTIQUES
  38. *
  39. * Passage aux nouveaux CHAMELEM par P DOWLATYARI DEC 91
  40. *---------------------------------------------------------------------
  41. IMPLICIT INTEGER(I-N)
  42. IMPLICIT REAL*8(A-H,O-Z)
  43. -INC CCOPTIO
  44. -INC SMCHAML
  45. -INC SMCHPOI
  46. *
  47. CHARACTER*10 MOALIR
  48. CHARACTER*8 TYPOBJ
  49. CHARACTER*4 MOTSUC
  50. CHARACTER*72 CHARRE
  51. LOGICAL LOGIN,LOGRE,LOGSUC
  52. REAL*8 XVALIN,XVALRE
  53. IOBRE =0
  54. IPCHE1=0
  55. IPCHE2=0
  56. IPCHE3=0
  57. IPCHE4=0
  58. IPCHE6=0
  59. IPCH1 =0
  60. IPCH2 =0
  61. IPCH3 =0
  62. c mistral :
  63. IPCH4 =0
  64. IPCH5 =0
  65. c mistral.
  66. ITHHER=0
  67. IPOI1 =0
  68. IPOI2 =0
  69. IPOI3 =0
  70. c mistral :
  71. IPOI4=0
  72. IPOI5=0
  73. c mistral.
  74. IPCAR=0
  75. IPTAB=0
  76. TYPOBJ=' '
  77. LOGSUC=.TRUE.
  78. *
  79. * LECTURE D'UN MODEL
  80. *
  81. CALL LIROBJ('MMODEL',IPMODL,1,IRT1)
  82. IF(IERR.NE.0)RETURN
  83. *
  84. * CHAMPS DE CONTRAINTES
  85. *
  86. CALL LIROBJ('MCHAML',IPIN,1,IRT)
  87. IF(IERR.NE.0)RETURN
  88. CALL REDUAF(IPIN,IPMODL,IPCHE1,0,IR,KER)
  89. IF(IR .NE. 1) CALL ERREUR(KER)
  90. IF(IERR .NE. 0) RETURN
  91.  
  92. MCHELM=IPCHE1
  93. SEGACT MCHELM
  94. IF(TITCHE.NE.'CONTRAINTES')THEN
  95. MOTERR(1:8)='CONTRAIN'
  96. CALL ERREUR(109)
  97. SEGDES MCHELM
  98. RETURN
  99. ENDIF
  100. SEGDES MCHELM
  101. *
  102. * CHAMPS DE VARIABLES INTERNES
  103. *
  104. CALL LIROBJ('MCHAML',IPIN,1,IRT)
  105. IF(IERR.NE.0)RETURN
  106. CALL REDUAF(IPIN,IPMODL,IPCHE2,0,IR,KER)
  107. IF(IR .NE. 1) CALL ERREUR(KER)
  108. IF(IERR .NE. 0) RETURN
  109.  
  110. MCHELM=IPCHE2
  111. SEGACT MCHELM
  112. IF(TITCHE.NE.'VARIABLES INTERNES')THEN
  113. MOTERR(1:8)='VARINTER'
  114. CALL ERREUR(109)
  115. SEGDES MCHELM
  116. RETURN
  117. ENDIF
  118. SEGDES MCHELM
  119. *
  120. * CHAMPS D'INCREMENTS DE DEFORMATIONS
  121. *
  122. CALL LIROBJ('MCHAML',IPIN,1,IRT)
  123. IF(IERR.NE.0)RETURN
  124. CALL REDUAF(IPIN,IPMODL,IPCHE4,0,IR,KER)
  125. IF(IR .NE. 1) CALL ERREUR(KER)
  126. IF(IERR .NE. 0) RETURN
  127.  
  128. MCHELM=IPCHE4
  129. SEGACT MCHELM
  130. IF(TITCHE.NE.'DEFORMATIONS')THEN
  131. MOTERR(1:8)='DEFORMAT'
  132. CALL ERREUR(109)
  133. SEGDES MCHELM
  134. RETURN
  135. ENDIF
  136. SEGDES MCHELM
  137. *
  138. * CHAMPS DE CARACTERISTIQUES (MATERIELLES ET GEOMETRIQUES)
  139. *
  140. CALL LIROBJ('MCHAML',IPIN,1,IRT)
  141. IF(IERR.NE.0)RETURN
  142. CALL REDUAF(IPIN,IPMODL,IPCAR,0,IR,KER)
  143. IF(IR .NE. 1) CALL ERREUR(KER)
  144. IF(IERR .NE. 0) RETURN
  145.  
  146. MCHELM=IPCAR
  147. SEGACT MCHELM
  148. IF(TITCHE.NE.'CARACTERISTIQUES')THEN
  149. MOTERR(1:8)='CARACTER'
  150. CALL ERREUR(109)
  151. SEGDES MCHELM
  152. RETURN
  153. ENDIF
  154. SEGDES MCHELM
  155. *
  156. * LECTURE D'UNE TABLE DE DONNEES SUPPLEMENTAIRE
  157. *
  158. CALL LIROBJ('TABLE ',IPTAB,0,IRETOU)
  159. IF(IERR.NE.0) RETURN
  160. IF(IRETOU.EQ.1)THEN
  161. *
  162. * RECHERCHE DU CHAMPS DE DEFORMATIONS INELASTIQUES INITIALES
  163. *
  164. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,'DEFI',
  165. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  166. . IPCHE3)
  167. IF(TYPOBJ.EQ.'MCHAML ') THEN
  168. MCHELM=IPCHE3
  169. SEGACT MCHELM
  170. IF(TITCHE.NE.'DEFORMATIONS INELASTIQUES')THEN
  171. MOTERR(1:8)='DEFINELA'
  172. CALL ERREUR(109)
  173. SEGDES MCHELM
  174. RETURN
  175. ENDIF
  176. SEGDES MCHELM
  177. ENDIF
  178.  
  179. *
  180. * RECHERCHE DU CHAMPS DE DEFORMATIONS TOTALES INITIALES
  181. *
  182. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,'DEFT',
  183. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  184. . IPCHE6)
  185. IF(TYPOBJ.EQ.'MCHAML ') THEN
  186. MCHELM=IPCHE6
  187. SEGACT MCHELM
  188. IF(TITCHE.NE.'DEFORMATIONS')THEN
  189. MOTERR(1:8)='DEFORMAT'
  190. CALL ERREUR(109)
  191. SEGDES MCHELM
  192. RETURN
  193. ENDIF
  194. SEGDES MCHELM
  195. ENDIF
  196.  
  197. ENDIF
  198. C
  199. C LECTURE EVENTUELLE DE LA PRECISION DES ITERATION INTERNES
  200. C
  201. CALL LIRREE(PRECIS,0,IRETPR)
  202. IF(IRETPR.EQ.0) PRECIS=REAL(1.D-3)
  203. *
  204. * LECTURE EVENTUELLE D'UN MOT SOIT POUR ACTION DANS ECOULE
  205. * SOIT POUR NE PAS AVOIR DE
  206. * MESSAGE D'ERREUR (NOID)
  207. *
  208. JECHER=0
  209. JNOID=0
  210. CALL LIRCHA(MOALIR,0,IRETOU)
  211. IF(IRETOU.NE.0) THEN
  212. IF(MOALIR.EQ.'AVANCER') THEN
  213. JECHER = 0
  214. ELSE IF (MOALIR.EQ.'RECHERCHER') THEN
  215. JECHER=1
  216. ELSE IF (MOALIR(1:4).EQ.'NOID') THEN
  217. JNOID=1
  218. ELSE
  219. CALL REFUS
  220. ENDIF
  221. ENDIF
  222. C
  223. C LECTURE EVENTUELLE DU STEP D'EXCUTION POUR LE NON LOCAL
  224. C
  225. CALL LIRENT(ISTEP,0,IRETOU)
  226. IF (IRETOU .EQ. 0) THEN
  227. ISTEP=0
  228. END IF
  229. C
  230. C LECTURE EVENTUELLE D'UN MOT QUI INDIQUE QUE LE MATERIAU VA DEPENDRE
  231. C DE LA TEMPERATURE POUR LES MODELES ENDOMMAGES DE LEMAITRE
  232. C ON LIT DANS LA TABLE LES CHAMPS (MCHAML OU CHPOINT) DE TEMPERATURE
  233. C AU DEBUT ET A LA FIN DU PAS ET DE REFERENCE. ILS SONT CONVERTIS EN
  234. C MCHAML AUX POINTS DE GAUSS POUR LES CONTRAINTES
  235. C
  236. IFI=0
  237. CALL LIRCHA(MOALIR,0,IRETOU)
  238. IF(IRETOU.NE.0) THEN
  239. IF (MOALIR.EQ.'CELSIUS') THEN
  240. ITHHER = 2
  241. ELSE IF (MOALIR.EQ.'KELVIN') THEN
  242. ITHHER = 1
  243. ELSE IF (MOALIR.EQ.'SUCCION') THEN
  244. ITHHER = 3
  245. c mistral :
  246. ELSE IF (MOALIR.EQ.'MISTRAL') THEN
  247. ITHHER = 2
  248. IFI = 1
  249. c mistral.
  250. ELSE
  251. CALL REFUS
  252. ENDIF
  253. *
  254. IF(ITHHER.NE.0) THEN
  255. *
  256. TYPOBJ=' '
  257. MOTSUC='TET1'
  258. IF(ITHHER.EQ.3) THEN
  259. TYPOBJ='CHPOINT '
  260. MOTSUC='SUC1'
  261. ENDIF
  262. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,MOTSUC,
  263. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  264. . IPOI1)
  265. IF(TYPOBJ.EQ.'CHPOINT ') THEN
  266. CALL CHAME1(0,IPMODL,IPOI1,' ',IPCH1,5)
  267. IF (IERR.NE.0) RETURN
  268. ELSE
  269. CALL CHASUP(IPMODL,IPOI1,IPCH1,IRT2,5)
  270. IF(IRT2.NE.0) THEN
  271. CALL ERREUR(IRT2)
  272. RETURN
  273. ENDIF
  274. ENDIF
  275. C
  276. TYPOBJ=' '
  277. MOTSUC='TET2'
  278. IF(ITHHER.EQ.3) THEN
  279. TYPOBJ='CHPOINT '
  280. MOTSUC='SUC2'
  281. ENDIF
  282. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,MOTSUC,
  283. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  284. . IPOI2)
  285. IF(TYPOBJ.EQ.'CHPOINT ') THEN
  286. CALL CHAME1(0,IPMODL,IPOI2,' ',IPCH2,5)
  287. IF (IERR.NE.0) RETURN
  288. ELSE
  289. CALL CHASUP(IPMODL,IPOI2,IPCH2,IRT2,5)
  290. IF(IRT2.NE.0) THEN
  291. CALL ERREUR(IRT2)
  292. RETURN
  293. ENDIF
  294. ENDIF
  295. C
  296. IF(ITHHER.LT.3) THEN
  297. TYPOBJ=' '
  298. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,
  299. . 'TEMPERATURE_REFERENCE',LOGIN,IOBIN,TYPOBJ,IVALRE,
  300. . XVALRE,CHARRE,LOGRE,IPOI3)
  301. IF(TYPOBJ.EQ.'CHPOINT ') THEN
  302. CALL CHAME1(0,IPMODL,IPOI3,' ',IPCH3,5)
  303. IF (IERR.NE.0) RETURN
  304. ELSE
  305. CALL CHASUP(IPMODL,IPOI3,IPCH3,IRT2,5)
  306. IF(IRT2.NE.0) THEN
  307. CALL ERREUR(IRT2)
  308. RETURN
  309. ENDIF
  310. ENDIF
  311. ENDIF
  312. ENDIF
  313. ENDIF
  314. *
  315. c mistral :
  316. IF(IFI.EQ.1) THEN
  317. * -----------------
  318. TYPOBJ=' '
  319. MOTSUC='PHI1'
  320. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,MOTSUC,
  321. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  322. . IPOI4)
  323. IF(TYPOBJ.EQ.'CHPOINT ') THEN
  324. CALL CHAME1(0,IPMODL,IPOI4,' ',IPCH4,5)
  325. IF (IERR.NE.0) RETURN
  326. ELSE
  327. CALL CHASUP(IPMODL,IPOI4,IPCH4,IRT2,5)
  328. IF(IRT2.NE.0) THEN
  329. CALL ERREUR(IRT2)
  330. RETURN
  331. ENDIF
  332. ENDIF
  333. *
  334. TYPOBJ=' '
  335. MOTSUC='PHI2'
  336. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,MOTSUC,
  337. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  338. . IPOI5)
  339. IF(TYPOBJ.EQ.'CHPOINT ') THEN
  340. CALL CHAME1(0,IPMODL,IPOI5,' ',IPCH5,5)
  341. IF (IERR.NE.0) RETURN
  342. ELSE
  343. CALL CHASUP(IPMODL,IPOI5,IPCH5,IRT2,5)
  344. IF(IRT2.NE.0) THEN
  345. CALL ERREUR(IRT2)
  346. RETURN
  347. ENDIF
  348. ENDIF
  349. ENDIF
  350. * -----
  351. c mistral.
  352. *
  353. *
  354. CALL ECOUL1(IPMODL,IPCHE1,IPCHE2,IPCHE3,IPCHE4,IPCHE6,IPCAR,
  355. & IPCH1,IPCH2,IPCH3,IPCH4,IPCH5,ITHHER,IFI,PRECIS,IPTAB,
  356. & JECHER,ISTEP,JNOID,LOGSUC,IPCHE7,IPCHE8,IPCHE9)
  357. *
  358. IF(IERR.EQ.0)THEN
  359. CALL ECROBJ('MCHAML',IPCHE9)
  360. CALL ECROBJ('MCHAML',IPCHE8)
  361. CALL ECROBJ('MCHAML',IPCHE7)
  362. *
  363. * SI JNOID = 1 : ON RENSEIGNE L'INDICE 'SUCCES' DANS LA TABLE
  364. *
  365. IF(JNOID.EQ.1.AND.IPTAB.NE.0) THEN
  366. CALL ECCTAB(IPTAB,'MOT ',IVALIN,XVALIN,'SUCCES',
  367. . LOGIN,IOBIN,'LOGIQUE ',IVALRE,XVALRE,CHARRE,
  368. . LOGSUC,IOBRE)
  369. ENDIF
  370. ENDIF
  371. *
  372. RETURN
  373. END
  374.  
  375.  
  376.  

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