Télécharger pre3.eso

Retour à la liste

Numérotation des lignes :

  1. C PRE3 SOURCE CHAT 05/01/13 02:25:02 5004
  2. SUBROUTINE PRE3()
  3. C************************************************************************
  4. C
  5. C PROJET : CASTEM 2000
  6. C
  7. C NOM : PRE3
  8. C
  9. C DESCRIPTION : Voir PRET
  10. C
  11. C Resolution des Equations d'Euler, VF,
  12. C "cell-centred approach"
  13. C
  14. C Calcul des etats "gauche et droit" aux
  15. C interfaces pour le modele de gaz
  16. C mono/multiespeces "thermally perfect".
  17. C
  18. C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec extensions CISI)
  19. C
  20. C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/TTMF
  21. C
  22. C************************************************************************
  23. C
  24. C
  25. C APPELES (Outils) : LIRENT, ERREUR
  26. C
  27. C APPELES (Calcul) :
  28. C
  29. C PRE3-------------- PRE31 (1er ordre en espace)
  30. C |
  31. C |
  32. C --------------- PRE32 (2eme ordre en espace)
  33. C
  34. C************************************************************************
  35. C
  36. C PHRASE D'APPEL (GIBIANE) :
  37. C
  38. C 1) gaz "thermally perfect"
  39. C
  40. C a) 1er ordre en espace (1er ordre en temps)
  41. C
  42. C CHAM1S CHAM2S CHAM3S (CHAM4S) = 'PRET' 'PERFTEMP'
  43. C ENTI1 ENTI2 MOD1 TAB2
  44. C CHPO1 CHPO2 CHPO3 (CHPO4);
  45. C
  46. C
  47. C ENTREES :
  48. C
  49. C 'PERFTEMP' : mot clé (gaz "thermally perfect")
  50. C
  51. C ENTI1 : ordre en espace (=1)
  52. C
  53. C ENTI2 : ordre en temps (=1 si ENTI1 = 1)
  54. C
  55. C MOD1 : OBJET MODELE de TYPE NAVIER_STOKES
  56. C
  57. C TAB2 : TABLE des proprietes du gaz
  58. C
  59. C CHPO1 : CHPOINT "CENTRE" contenant la masse volumique;
  60. C
  61. C CHPO2 : CHPOINT "CENTRE" contenant la vitesse
  62. C ( NDIM composantes);
  63. C
  64. C CHPO3 : CHPOINT "CENTRE" contenant la pression
  65. C
  66. C (CHPO4) : CHPOINT "CENTRE" contenant les fractiones
  67. C massiques du gaz (dans le cas multi-especes,
  68. C compatible avec TAB2)
  69. C
  70. C SORTIES :
  71. C
  72. C CHAM1S : MCHAML "FACEL" contenant la masse
  73. C volumique
  74. C (a gauche et a droite de chaque face).
  75. C Une seule composante ('SCAL')
  76. C
  77. C CHAM2S : MCHAML "FACEL" contenant la vitesse et
  78. C les cosinus directeurs de (n,t) dans le
  79. C repere (x,y);
  80. C dans le cas 2D 6 composantes:
  81. C 'UN' = vitesse normale
  82. C 'UT' = vitesse tangentiel
  83. C 'NX' = n.x
  84. C 'NY' = n.y
  85. C 'TX' = t.x
  86. C 'TY' = t.y
  87. C
  88. C CHAM3S : MCHAML "FACEL" contenant la pression;
  89. C Une seule composante ('SCAL')
  90. C
  91. C (CHAM4S) : MCHAML "FACEL" contenant les fractiones massiques
  92. C du gaz (si existe CHPO4)
  93. C
  94. C
  95. C b) 2eme ordre en espace
  96. C 1er ordre en temps
  97. C
  98. C CHAM1S CHAM2S CHAM3S (CHAM4S) = 'PRET' 'PERFMULT' ENTI1 ENTI2
  99. C TAB1 TAB2
  100. C CHPO1 CHPO2 CHPO3
  101. C CHPO4 CHPO5 CHPO6
  102. C CHPO7 CHPO8 CHPO9
  103. C (CHPO10 CHPO11 CHPO12) ;
  104. C
  105. C
  106. C ENTREES :
  107. C
  108. C 'PERFTEMP' : mot clé (gaz "thermally prefect")
  109. C
  110. C ENTI1 : ordre en espace (=2)
  111. C
  112. C ENTI2 : ordre en temps (=1 ou 2)
  113. C
  114. C TAB1 : TABLE de sous type "DOMAINE"
  115. C
  116. C TAB2 : TABLE des proprietes du gaz
  117. C
  118. C CHPO1 : CHPOINT "CENTRE" contenant la masse
  119. C volumique; une seule composante ('SCAL')
  120. C
  121. C CHPO2 : CHPOINT "CENTRE" contenant le gradient de
  122. C la masse volumique (2 composantes en 2D,
  123. C 'P1DX', 'P1DY').
  124. C
  125. C CHPO3 : CHPOINT "CENTRE" contenant le limiteur du
  126. C gradient de la masse volumique
  127. C (une seule composante 'P1 ')
  128. C
  129. C CHPO4 : CHPOINT "CENTRE" contenant la vitesse
  130. C (2 composantes en 2D, 'UX' ey 'UY' );
  131. C
  132. C CHPO5 : CHPOINT "CENTRE" contenant le gradient de la
  133. C vitesse (4 composantes en 2D, 'P1DX','P1DY'
  134. C 'P2DX','P2DY').
  135. C
  136. C CHPO6 : CHPOINT "CENTRE" contenant le limiteur du
  137. C gradient de la vitesse (2 composantes en 2D
  138. C 'P1', 'P2').
  139. C
  140. C CHPO7 : CHPOINT "CENTRE" contenant la pression;
  141. C une seule composante ('SCAL')
  142. C
  143. C CHPO8 : CHPOINT "CENTRE" contenant le gradient de
  144. C la pression (2 composantes en 2D,
  145. C 'P1DX', 'P1DY').
  146. C
  147. C CHPO9 : CHPOINT "CENTRE" contenant le limiteur du
  148. C gradient de la pression
  149. C (1 composantes, 'P1' ).
  150. C
  151. C (CHPO10) : CHPOINT "CENTRE" contenant les fractiones massiques;
  152. C n composantes (n >= 1), compatibles avec
  153. C TAB2 . 'ESPEULE'
  154. C
  155. C (CHPO11) : CHPOINT "CENTRE" contenant le gradient des fractiones
  156. C massique (2n composantes en 2D)
  157. C
  158. C (CHPO12) : CHPOINT "CENTRE" contenant le limiteur du
  159. C gradient des fractiones massiques
  160. C (n composantes ).
  161. C
  162. C FLOT1 : FLOTTANT qui contient l'increment du temps
  163. C pour la prediction, pour avoir le deuxieme
  164. C ordre en temps (ENTI2 = 2)
  165. C FLOT1 = (increment du temps / 2)
  166. C
  167. C SORTIES : voir le cas a)
  168. C
  169. C
  170. C
  171. C c) 2eme ordre en espace
  172. C 2er ordre en temps
  173. C
  174. C CHAM1S CHAM2S CHAM3S (CHAM4S) = 'PRET' 'PERFMULT' ENTI1 ENTI2
  175. C TAB1 TAB2
  176. C CHPO1 CHPO2 CHPO3
  177. C CHPO4 CHPO5 CHPO6
  178. C CHPO7 CHPO8 CHPO9
  179. C (CHPO10 CHPO11 CHPO12)
  180. C CHPO13 DT ;
  181. C
  182. C
  183. C ENTREES :
  184. C
  185. C 'PERFTEMP' : mot clé (gaz "thermally prefect")
  186. C
  187. C ENTI1 : ordre en espace (=2)
  188. C
  189. C ENTI2 : ordre en temps (=1 ou 2)
  190. C
  191. C TAB1 : TABLE de sous type "DOMAINE"
  192. C
  193. C TAB2 : TABLE des proprietes du gaz
  194. C
  195. C CHPO1 : CHPOINT "CENTRE" contenant la masse
  196. C volumique; une seule composante ('SCAL')
  197. C
  198. C CHPO2 : CHPOINT "CENTRE" contenant le gradient de
  199. C la masse volumique (2 composantes en 2D,
  200. C 'P1DX', 'P1DY').
  201. C
  202. C CHPO3 : CHPOINT "CENTRE" contenant le limiteur du
  203. C gradient de la masse volumique
  204. C (une seule composante 'P1 ')
  205. C
  206. C CHPO4 : CHPOINT "CENTRE" contenant la vitesse
  207. C (2 composantes en 2D, 'UX' ey 'UY' );
  208. C
  209. C CHPO5 : CHPOINT "CENTRE" contenant le gradient de la
  210. C vitesse (4 composantes en 2D, 'P1DX','P1DY'
  211. C 'P2DX','P2DY').
  212. C
  213. C CHPO6 : CHPOINT "CENTRE" contenant le limiteur du
  214. C gradient de la vitesse (2 composantes en 2D
  215. C 'P1', 'P2').
  216. C
  217. C CHPO7 : CHPOINT "CENTRE" contenant la pression;
  218. C une seule composante ('SCAL')
  219. C
  220. C CHPO8 : CHPOINT "CENTRE" contenant le gradient de
  221. C la pression (2 composantes en 2D,
  222. C 'P1DX', 'P1DY').
  223. C
  224. C CHPO9 : CHPOINT "CENTRE" contenant le limiteur du
  225. C gradient de la pression
  226. C (1 composantes, 'P1' ).
  227. C
  228. C (CHPO10) : CHPOINT "CENTRE" contenant les fractiones massiques;
  229. C n composantes (n >= 1), compatibles avec
  230. C TAB2 . 'ESPEULE'
  231. C
  232. C (CHPO11) : CHPOINT "CENTRE" contenant le gradient des fractiones
  233. C massique (2n composantes en 2D)
  234. C
  235. C (CHPO12) : CHPOINT "CENTRE" contenant le limiteur du
  236. C gradient des fractiones massiques
  237. C (n composantes ).
  238. C
  239. C CHPO13 : CHPOINT "CENTRE" contenant le "gamma" du gaz
  240. C une seule composante ('SCAL')
  241. C
  242. C FLOT1 : FLOTTANT qui contient l'increment du temps
  243. C pour la prediction, pour avoir le deuxieme
  244. C ordre en temps (ENTI2 = 2)
  245. C FLOT1 = (increment du temps / 2)
  246. C
  247. C SORTIES : voir le cas a)
  248. C
  249. C************************************************************************
  250. C
  251. C HISTORIQUE (Anomalies et modifications éventuelles)
  252. C
  253. C HISTORIQUE : Créée le 18.12.98.
  254. C
  255. C************************************************************************
  256. C
  257. C
  258. C**** Variables de COOPTIO
  259. C
  260. C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  261. C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ
  262. C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES
  263. C & ,IECHO, IIMPI, IOSPI
  264. C & ,IDIM
  265. C & ,MCOORD
  266. C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  267. C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  268. C & ,NORINC,NORVAL,NORIND,NORVAD
  269. C & ,NUCROU, IPSAUV
  270. C
  271. C**** Les variables
  272. C
  273. IMPLICIT INTEGER(I-N)
  274. INTEGER ICOND, IRETOU
  275. & ,ORDESP, ORDTEM
  276. C
  277. C**** Les Includes
  278. C
  279. -INC CCOPTIO
  280. C
  281. C**** Initialisation des parametres d'erreur
  282. C
  283. MOTERR(1:40) = ' '
  284. C
  285. C**** Lecture ORDESP
  286. C
  287. ICOND = 1
  288. CALL LIRENT(ORDESP,ICOND,IRETOU)
  289. IF(IERR .NE. 0) GOTO 9999
  290. IF((ORDESP .LT. 1) .OR. (ORDESP .GT. 2))THEN
  291. C
  292. C******* Message d'erreur standard
  293. C -301 0 %m1:40
  294. C
  295. MOTERR(1:40) = 'ENTI1 = ??? '
  296. CALL ERREUR(-301)
  297. C
  298. C******* Message d'erreur standard
  299. C Entier valant: %i1
  300. C -2 0
  301. C
  302. INTERR(1) = ORDESP
  303. CALL ERREUR(-2)
  304. C
  305. C******* Message d'erreur standard
  306. C 21 2
  307. C Données incompatibles
  308. C
  309. CALL ERREUR(21)
  310. GOTO 9999
  311. ENDIF
  312. C
  313. C**** Lecture ORDTEM
  314. C
  315. ICOND = 1
  316. CALL LIRENT(ORDTEM,ICOND,IRETOU)
  317. IF(IERR .NE. 0) GOTO 9999
  318. IF((ORDTEM .LT. 1) .OR. (ORDTEM .GT. ORDESP))THEN
  319. C
  320. C******* Message d'erreur standard
  321. C -301 0 %m1:40
  322. C
  323. MOTERR(1:40) = 'ENTI2 = ??? '
  324. CALL ERREUR(-301)
  325. C
  326. C******* Message d'erreur standard
  327. C Entier valant: %i1
  328. C -2 0
  329. C
  330. INTERR(1) = ORDTEM
  331. CALL ERREUR(-2)
  332. C
  333. C******* Message d'erreur standard
  334. C 21 2
  335. C Données incompatibles
  336. C
  337. CALL ERREUR(21)
  338. GOTO 9999
  339. ENDIF
  340. C
  341. IF((ORDESP .EQ. 1) .AND. (ORDTEM .EQ. 1))THEN
  342. C
  343. C******* ORDESP = 1, ORDTEM = 1
  344. C
  345. CALL PRE31()
  346. ELSEIF((ORDESP .EQ. 2))THEN
  347. C
  348. C******* ORDESP = 2, ORDTEM = 1 ou 2
  349. C
  350. CALL PRE32(ORDTEM)
  351. ELSE
  352. C
  353. C******* Message d'erreur standard
  354. C 251 2
  355. C Tentative d'utilisation d'une option non implémentée
  356. C
  357. CALL ERREUR(251)
  358. ENDIF
  359. C
  360. 9999 CONTINUE
  361. C
  362. RETURN
  363. END
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  

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