Télécharger ecoule.eso

Retour à la liste

Numérotation des lignes :

  1. C ECOULE SOURCE CB215821 19/08/20 21:16:51 10287
  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. CALL ACTOBJ('MMODEL ',IPMODL,1)
  83. IF(IERR.NE.0)RETURN
  84. *
  85. * CHAMPS DE CONTRAINTES
  86. *
  87. CALL LIROBJ('MCHAML ',IPIN,1,IRT)
  88. CALL ACTOBJ('MCHAML ',IPIN,1)
  89. IF(IERR.NE.0)RETURN
  90. CALL REDUAF(IPIN,IPMODL,IPCHE1,0,IR,KER)
  91. IF(IR .NE. 1) CALL ERREUR(KER)
  92. IF(IERR .NE. 0) RETURN
  93.  
  94. MCHELM=IPCHE1
  95. SEGACT MCHELM
  96. IF(TITCHE.NE.'CONTRAINTES')THEN
  97. MOTERR(1:8)='CONTRAIN'
  98. CALL ERREUR(109)
  99. RETURN
  100. ENDIF
  101. *
  102. * CHAMPS DE VARIABLES INTERNES
  103. *
  104. CALL LIROBJ('MCHAML ',IPIN,1,IRT)
  105. CALL ACTOBJ('MCHAML ',IPIN,1)
  106. IF(IERR.NE.0)RETURN
  107. CALL REDUAF(IPIN,IPMODL,IPCHE2,0,IR,KER)
  108. IF(IR .NE. 1) CALL ERREUR(KER)
  109. IF(IERR .NE. 0) RETURN
  110.  
  111. MCHELM=IPCHE2
  112. SEGACT MCHELM
  113. IF(TITCHE.NE.'VARIABLES INTERNES')THEN
  114. MOTERR(1:8)='VARINTER'
  115. CALL ERREUR(109)
  116. RETURN
  117. ENDIF
  118. *
  119. * CHAMPS D'INCREMENTS DE DEFORMATIONS
  120. *
  121. CALL LIROBJ('MCHAML ',IPIN,1,IRT)
  122. CALL ACTOBJ('MCHAML ',IPIN,1)
  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. RETURN
  134. ENDIF
  135. *
  136. * CHAMPS DE CARACTERISTIQUES (MATERIELLES ET GEOMETRIQUES)
  137. *
  138. CALL LIROBJ('MCHAML ',IPIN,1,IRT)
  139. CALL ACTOBJ('MCHAML ',IPIN,1)
  140. IF(IERR.NE.0)RETURN
  141. CALL REDUAF(IPIN,IPMODL,IPCAR,0,IR,KER)
  142. IF(IR .NE. 1) CALL ERREUR(KER)
  143. IF(IERR .NE. 0) RETURN
  144.  
  145. MCHELM=IPCAR
  146. SEGACT MCHELM
  147. IF(TITCHE.NE.'CARACTERISTIQUES')THEN
  148. MOTERR(1:8)='CARACTER'
  149. CALL ERREUR(109)
  150. RETURN
  151. ENDIF
  152. *
  153. * LECTURE D'UNE TABLE DE DONNEES SUPPLEMENTAIRE
  154. *
  155. CALL LIROBJ('TABLE ',IPTAB,0,IRETOU)
  156. IF(IERR.NE.0) RETURN
  157. IF(IRETOU.EQ.1)THEN
  158. *
  159. * RECHERCHE DU CHAMPS DE DEFORMATIONS INELASTIQUES INITIALES
  160. *
  161. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,'DEFI',
  162. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  163. . IPCHE3)
  164. IF(TYPOBJ.EQ.'MCHAML ') THEN
  165. MCHELM=IPCHE3
  166. SEGACT MCHELM
  167. IF(TITCHE.NE.'DEFORMATIONS INELASTIQUES')THEN
  168. MOTERR(1:8)='DEFINELA'
  169. CALL ERREUR(109)
  170. RETURN
  171. ENDIF
  172. ENDIF
  173.  
  174. *
  175. * RECHERCHE DU CHAMPS DE DEFORMATIONS TOTALES INITIALES
  176. *
  177. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,'DEFT',
  178. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  179. . IPCHE6)
  180. IF(TYPOBJ.EQ.'MCHAML ') THEN
  181. MCHELM=IPCHE6
  182. SEGACT MCHELM
  183. IF(TITCHE.NE.'DEFORMATIONS')THEN
  184. MOTERR(1:8)='DEFORMAT'
  185. CALL ERREUR(109)
  186. RETURN
  187. ENDIF
  188. ENDIF
  189.  
  190. ENDIF
  191. C
  192. C LECTURE EVENTUELLE DE LA PRECISION DES ITERATION INTERNES
  193. C
  194. CALL LIRREE(PRECIS,0,IRETPR)
  195. IF(IRETPR.EQ.0) PRECIS=REAL(1.D-3)
  196. *
  197. * LECTURE EVENTUELLE D'UN MOT SOIT POUR ACTION DANS ECOULE
  198. * SOIT POUR NE PAS AVOIR DE
  199. * MESSAGE D'ERREUR (NOID)
  200. *
  201. JECHER=0
  202. JNOID=0
  203. CALL LIRCHA(MOALIR,0,IRETOU)
  204. IF(IRETOU.NE.0) THEN
  205. IF(MOALIR.EQ.'AVANCER') THEN
  206. JECHER = 0
  207. ELSE IF (MOALIR.EQ.'RECHERCHER') THEN
  208. JECHER=1
  209. ELSE IF (MOALIR(1:4).EQ.'NOID') THEN
  210. JNOID=1
  211. ELSE
  212. CALL REFUS
  213. ENDIF
  214. ENDIF
  215. C
  216. C LECTURE EVENTUELLE DU STEP D'EXCUTION POUR LE NON LOCAL
  217. C
  218. CALL LIRENT(ISTEP,0,IRETOU)
  219. IF (IRETOU .EQ. 0) THEN
  220. ISTEP=0
  221. END IF
  222. C
  223. C LECTURE EVENTUELLE D'UN MOT QUI INDIQUE QUE LE MATERIAU VA DEPENDRE
  224. C DE LA TEMPERATURE POUR LES MODELES ENDOMMAGES DE LEMAITRE
  225. C ON LIT DANS LA TABLE LES CHAMPS (MCHAML OU CHPOINT) DE TEMPERATURE
  226. C AU DEBUT ET A LA FIN DU PAS ET DE REFERENCE. ILS SONT CONVERTIS EN
  227. C MCHAML AUX POINTS DE GAUSS POUR LES CONTRAINTES
  228. C
  229. IFI=0
  230. CALL LIRCHA(MOALIR,0,IRETOU)
  231. IF(IRETOU.NE.0) THEN
  232. IF (MOALIR.EQ.'CELSIUS') THEN
  233. ITHHER = 2
  234. ELSE IF (MOALIR.EQ.'KELVIN') THEN
  235. ITHHER = 1
  236. ELSE IF (MOALIR.EQ.'SUCCION') THEN
  237. ITHHER = 3
  238. c mistral :
  239. ELSE IF (MOALIR.EQ.'MISTRAL') THEN
  240. ITHHER = 2
  241. IFI = 1
  242. c mistral.
  243. ELSE
  244. CALL REFUS
  245. ENDIF
  246. *
  247. IF(ITHHER.NE.0) THEN
  248. *
  249. TYPOBJ=' '
  250. MOTSUC='TET1'
  251. IF(ITHHER.EQ.3) THEN
  252. TYPOBJ='CHPOINT '
  253. MOTSUC='SUC1'
  254. ENDIF
  255. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,MOTSUC,
  256. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  257. . IPOI1)
  258. IF(TYPOBJ.EQ.'CHPOINT ') THEN
  259. CALL CHAME1(0,IPMODL,IPOI1,' ',IPCH1,5)
  260. IF (IERR.NE.0) RETURN
  261. ELSE
  262. CALL CHASUP(IPMODL,IPOI1,IPCH1,IRT2,5)
  263. IF(IRT2.NE.0) THEN
  264. CALL ERREUR(IRT2)
  265. RETURN
  266. ENDIF
  267. ENDIF
  268. C
  269. TYPOBJ=' '
  270. MOTSUC='TET2'
  271. IF(ITHHER.EQ.3) THEN
  272. TYPOBJ='CHPOINT '
  273. MOTSUC='SUC2'
  274. ENDIF
  275. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,MOTSUC,
  276. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  277. . IPOI2)
  278. IF(TYPOBJ.EQ.'CHPOINT ') THEN
  279. CALL CHAME1(0,IPMODL,IPOI2,' ',IPCH2,5)
  280. IF (IERR.NE.0) RETURN
  281. ELSE
  282. CALL CHASUP(IPMODL,IPOI2,IPCH2,IRT2,5)
  283. IF(IRT2.NE.0) THEN
  284. CALL ERREUR(IRT2)
  285. RETURN
  286. ENDIF
  287. ENDIF
  288. C
  289. IF(ITHHER.LT.3) THEN
  290. TYPOBJ=' '
  291. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,
  292. . 'TEMPERATURE_REFERENCE',LOGIN,IOBIN,TYPOBJ,IVALRE,
  293. . XVALRE,CHARRE,LOGRE,IPOI3)
  294. IF(TYPOBJ.EQ.'CHPOINT ') THEN
  295. CALL CHAME1(0,IPMODL,IPOI3,' ',IPCH3,5)
  296. IF (IERR.NE.0) RETURN
  297. ELSE
  298. CALL CHASUP(IPMODL,IPOI3,IPCH3,IRT2,5)
  299. IF(IRT2.NE.0) THEN
  300. CALL ERREUR(IRT2)
  301. RETURN
  302. ENDIF
  303. ENDIF
  304. ENDIF
  305. ENDIF
  306. ENDIF
  307. *
  308. c mistral :
  309. IF(IFI.EQ.1) THEN
  310. * -----------------
  311. TYPOBJ=' '
  312. MOTSUC='PHI1'
  313. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,MOTSUC,
  314. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  315. . IPOI4)
  316. IF(TYPOBJ.EQ.'CHPOINT ') THEN
  317. CALL CHAME1(0,IPMODL,IPOI4,' ',IPCH4,5)
  318. IF (IERR.NE.0) RETURN
  319. ELSE
  320. CALL CHASUP(IPMODL,IPOI4,IPCH4,IRT2,5)
  321. IF(IRT2.NE.0) THEN
  322. CALL ERREUR(IRT2)
  323. RETURN
  324. ENDIF
  325. ENDIF
  326. *
  327. TYPOBJ=' '
  328. MOTSUC='PHI2'
  329. CALL ACCTAB(IPTAB,'MOT ',IVALIN,XVALIN,MOTSUC,
  330. . LOGIN,IOBIN,TYPOBJ,IVALRE,XVALRE,CHARRE,LOGRE,
  331. . IPOI5)
  332. IF(TYPOBJ.EQ.'CHPOINT ') THEN
  333. CALL CHAME1(0,IPMODL,IPOI5,' ',IPCH5,5)
  334. IF (IERR.NE.0) RETURN
  335. ELSE
  336. CALL CHASUP(IPMODL,IPOI5,IPCH5,IRT2,5)
  337. IF(IRT2.NE.0) THEN
  338. CALL ERREUR(IRT2)
  339. RETURN
  340. ENDIF
  341. ENDIF
  342. ENDIF
  343. * -----
  344. c mistral.
  345. *
  346. *
  347. CALL ECOUL1(IPMODL,IPCHE1,IPCHE2,IPCHE3,IPCHE4,IPCHE6,IPCAR,
  348. & IPCH1,IPCH2,IPCH3,IPCH4,IPCH5,ITHHER,IFI,PRECIS,IPTAB,
  349. & JECHER,ISTEP,JNOID,LOGSUC,IPCHE7,IPCHE8,IPCHE9)
  350. *
  351. IF(IERR.EQ.0)THEN
  352. CALL ACTOBJ('MCHAML ',IPCHE9,1)
  353. CALL ACTOBJ('MCHAML ',IPCHE8,1)
  354. CALL ACTOBJ('MCHAML ',IPCHE7,1)
  355. CALL ECROBJ('MCHAML ',IPCHE9)
  356. CALL ECROBJ('MCHAML ',IPCHE8)
  357. CALL ECROBJ('MCHAML ',IPCHE7)
  358. *
  359. * SI JNOID = 1 : ON RENSEIGNE L'INDICE 'SUCCES' DANS LA TABLE
  360. *
  361. IF(JNOID.EQ.1.AND.IPTAB.NE.0) THEN
  362. CALL ECCTAB(IPTAB,'MOT ',IVALIN,XVALIN,'SUCCES',
  363. . LOGIN,IOBIN,'LOGIQUE ',IVALRE,XVALRE,CHARRE,
  364. . LOGSUC,IOBRE)
  365. ENDIF
  366. ENDIF
  367.  
  368. END
  369.  
  370.  
  371.  
  372.  
  373.  

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