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
287 : CALL LIRENT(ORDESP,ICOND,IRETOU)
288 : IF(IERR .NE. 0) GOTO 9999
289 : IF((ORDESP .LT. 1) .OR. (ORDESP .GT. 2))THEN
290 : C
291 : C******* Message d'erreur standard
292 : C -301 0 %m1:40
293 : C
294 : MOTERR(1:40) = 'ENTI1 = ??? '
294 : CALL ERREUR(-301)
295 : C
296 : C******* Message d'erreur standard
297 : C Entier valant: %i1
298 : C -2 0
299 : C
300 : INTERR(1) = ORDESP
300 : CALL ERREUR(-2)
301 : C
302 : C******* Message d'erreur standard
303 : C 21 2
304 : C Données incompatibles
305 : C
305 : CALL ERREUR(21)
306 : GOTO 9999
307 : ENDIF
308 : C
309 : C**** Lecture ORDTEM
310 : C
311 : ICOND = 1
311 : CALL LIRENT(ORDTEM,ICOND,IRETOU)
312 : IF(IERR .NE. 0) GOTO 9999
313 : IF((ORDTEM .LT. 1) .OR. (ORDTEM .GT. ORDESP))THEN
314 : C
315 : C******* Message d'erreur standard
316 : C -301 0 %m1:40
317 : C
318 : MOTERR(1:40) = 'ENTI2 = ??? '
318 : CALL ERREUR(-301)
319 : C
320 : C******* Message d'erreur standard
321 : C Entier valant: %i1
322 : C -2 0
323 : C
324 : INTERR(1) = ORDTEM
324 : CALL ERREUR(-2)
325 : C
326 : C******* Message d'erreur standard
327 : C 21 2
328 : C Données incompatibles
329 : C
329 : CALL ERREUR(21)
330 : GOTO 9999
331 : ENDIF
332 : C
333 : IF((ORDESP .EQ. 1) .AND. (ORDTEM .EQ. 1))THEN
334 : C
335 : C******* ORDESP = 1, ORDTEM = 1
336 : C
336 : CALL PRE31()
337 : ELSEIF((ORDESP .EQ. 2))THEN
338 : C
339 : C******* ORDESP = 2, ORDTEM = 1 ou 2
340 : C
340 : CALL PRE32(ORDTEM)
341 : ELSE
342 : C
343 : C******* Message d'erreur standard
344 : C 251 2
345 : C Tentative d'utilisation d'une option non implémentée
346 : C
346 : CALL ERREUR(251)
347 : ENDIF
348 : C
349 : 9999 CONTINUE
350 : C
351 : RETURN
352 : END
353 :
354 :
355 :
356 :
357 :
358 :
359 :
360 :
361 :
362 :
363 :
364 :
365 :
366 :
© Cast3M 2003 - All rights reserved.
Disclaimer