1 : C PRE2 SOURCE CHAT 05/01/13 02:24:09 5004
2 : SUBROUTINE PRE2()
3 : C************************************************************************
4 : C
5 : C PROJET : CASTEM 2000
6 : C
7 : C NOM : PRE2
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 ideal
15 : C multiespeces "calorically perfect".
16 : C
17 : C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec extensions CISI)
18 : C
19 : C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/TTMF
20 : C
21 : C************************************************************************
22 : C
23 : C
24 : C APPELES (Outils) : LIRENT, ERREUR
25 : C
26 : C APPELES (Calcul) :
27 : C
28 : C PRE2-------------- PRE21 (1er ordre en espace)
29 : C |
30 : C |
31 : C --------------- PRE22 (2eme ordre en espace)
32 : C
33 : C************************************************************************
34 : C
35 : C PHRASE D'APPEL (GIBIANE) :
36 : C
37 : C 1) gaz ideal multi-espece
38 : C
39 : C a) 1er ordre en espace (1er ordre en temps)
40 : C
41 : C CHAM1S CHAM2S CHAM3S CHAM4S CHAM5S = 'PRET' 'PERFMULT'
42 : C ENTI1 ENTI2 MOD1 CHPO1 CHPO2 CHPO3 CHPO4 CHPO5;
43 : C
44 : C
45 : C ENTREES :
46 : C
47 : C 'PERFMULT' : mot clé (gaz ideal)
48 : C
49 : C ENTI1 : ordre en espace (=1)
50 : C
51 : C ENTI2 : ordre en temps (=1 si ENTI1 = 1)
52 : C
53 : C MOD1 : OBJET MODELE de TYPE NAVIER_STOKES
54 : C
55 : C CHPO1 : CHPOINT "CENTRE" contenant la masse volumique.
56 : C
57 : C CHPO2 : CHPOINT "CENTRE" contenant la vitesse
58 : C ( NDIM composantes);
59 : C
60 : C CHPO3 : CHPOINT "CENTRE" contenant la pression
61 : C
62 : C CHPO4 : CHPOINT "CENTRE" contenant les fractiones
63 : C massiques du gaz
64 : C
65 : C CHPO5 : CHPOINT "CENTRE" contenant les "gamma" du gaz
66 : C
67 : C SORTIES :
68 : C
69 : C CHAM1S : MCHAML "FACEL" contenant la masse
70 : C volumique
71 : C (a gauche et a droite de chaque face).
72 : C Une seule composante ('SCAL')
73 : C
74 : C CHAM2S : MCHAML "FACEL" contenant la vitesse et
75 : C les cosinus directeurs de (n,t) dans le
76 : C repere (x,y);
77 : C dans le cas 2D 6 composantes:
78 : C 'UN' = vitesse normale
79 : C 'UT' = vitesse tangentiel
80 : C 'NX' = n.x
81 : C 'NY' = n.y
82 : C 'TX' = t.x
83 : C 'TY' = t.y
84 : C
85 : C CHAM3S : MCHAML "FACEL" contenant la pression;
86 : C Une seule composante ('SCAL')
87 : C
88 : C CHAM4S : MCHAML "FACEL" contenant les fractiones massiques
89 : C du gaz
90 : C
91 : C CHAM5S : MCHAML "FACEL" contenant les "gamma" du gaz
92 : C Une seule composante ('SCAL')
93 : C
94 : C
95 : C b) 2eme ordre en espace
96 : C 1er ordre en temps ou 2eme ordre en temps
97 : C
98 : C CHAM1S CHAM2S CHAM3S CHAM4S CHAM5S = '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 CHPO13 (FLOT1) ;
105 : C
106 : C
107 : C ENTREES :
108 : C
109 : C 'PERFMULT' : mot clé (gas ideal)
110 : C
111 : C ENTI1 : ordre en espace (=2)
112 : C
113 : C ENTI2 : ordre en temps (=1 ou 2)
114 : C
115 : C TAB1 : TABLE de sous type "DOMAINE"
116 : C
117 : C TAB2 : TABLE des proprietes du gaz
118 : C
119 : C CHPO1 : CHPOINT "CENTRE" contenant la masse
120 : C volumique; une seule composante ('SCAL')
121 : C
122 : C CHPO2 : CHPOINT "CENTRE" contenant le gradient de
123 : C la masse volumique (2 composantes en 2D,
124 : C 'P1DX', 'P1DY').
125 : C
126 : C CHPO3 : CHPOINT "CENTRE" contenant le limiteur du
127 : C gradient de la masse volumique
128 : C (une seule composante 'P1 ')
129 : C
130 : C CHPO4 : CHPOINT "CENTRE" contenant la vitesse
131 : C (2 composantes en 2D, 'UX' ey 'UY' );
132 : C
133 : C CHPO5 : CHPOINT "CENTRE" contenant le gradient de la
134 : C vitesse (4 composantes en 2D, 'P1DX','P1DY'
135 : C 'P2DX','P2DY').
136 : C
137 : C CHPO6 : CHPOINT "CENTRE" contenant le limiteur du
138 : C gradient de la vitesse (2 composantes en 2D
139 : C 'P1', 'P2').
140 : C
141 : C CHPO7 : CHPOINT "CENTRE" contenant la pression;
142 : C une seule composante ('SCAL')
143 : C
144 : C CHPO8 : CHPOINT "CENTRE" contenant le gradient de
145 : C la pression (2 composantes en 2D,
146 : C 'P1DX', 'P1DY').
147 : C
148 : C CHPO9 : CHPOINT "CENTRE" contenant le limiteur du
149 : C gradient de la pression
150 : C (1 composantes, 'P1' ).
151 : C
152 : C CHPO10 : CHPOINT "CENTRE" contenant les fractiones massiques;
153 : C n composantes (n >= 1), compatibles avec
154 : C TAB2 . 'ESPEULE'
155 : C
156 : C CHPO11 : CHPOINT "CENTRE" contenant le gradient des fractiones
157 : C massique (2n composantes en 2D)
158 : C
159 : C CHPO12 : CHPOINT "CENTRE" contenant le limiteur du
160 : C gradient des fractiones massiques
161 : C (n composantes ).
162 : C
163 : C CHPO13 : CHPOINT "CENTRE" contenant les "gamma" du gaz
164 : C
165 : C FLOT1 : FLOTTANT qui contient l'increment du temps
166 : C pour la prediction, pour avoir le deuxieme
167 : C ordre en temps (ENTI2 = 2)
168 : C FLOT1 = (increment du temps / 2)
169 : C
170 : C SORTIES : voir le cas a)
171 : C
172 : C************************************************************************
173 : C
174 : C HISTORIQUE (Anomalies et modifications éventuelles)
175 : C
176 : C HISTORIQUE : Créée le 10.7.98.
177 : C
178 : C************************************************************************
179 : C
180 : C
181 : C**** Variables de COOPTIO
182 : C
183 : C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
184 : C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ
185 : C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES
186 : C & ,IECHO, IIMPI, IOSPI
187 : C & ,IDIM
188 : C & ,MCOORD
189 : C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
190 : C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
191 : C & ,NORINC,NORVAL,NORIND,NORVAD
192 : C & ,NUCROU, IPSAUV
193 : C
194 : C**** Les variables
195 : C
196 : IMPLICIT INTEGER(I-N)
197 : INTEGER ICOND, IRETOU
198 : & ,ORDESP, ORDTEM
199 : C
200 : C**** Les Includes
201 : C
202 : -INC CCOPTIO
203 : C
204 : C**** Initialisation des parametres d'erreur
205 : C
206 : MOTERR(1:40) = ' '
207 : C
208 : C**** Lecture ORDESP
209 : C
210 : ICOND = 1
210 : CALL LIRENT(ORDESP,ICOND,IRETOU)
211 : IF(IERR .NE. 0) GOTO 9999
212 : IF((ORDESP .LT. 1) .OR. (ORDESP .GT. 2))THEN
213 : C
214 : C******* Message d'erreur standard
215 : C -301 0 %m1:40
216 : C
217 : MOTERR(1:40) = 'ENTI1 = ??? '
217 : CALL ERREUR(-301)
218 : C
219 : C******* Message d'erreur standard
220 : C Entier valant: %i1
221 : C -2 0
222 : C
223 : INTERR(1) = ORDESP
223 : CALL ERREUR(-2)
224 : C
225 : C******* Message d'erreur standard
226 : C 21 2
227 : C Données incompatibles
228 : C
228 : CALL ERREUR(21)
229 : GOTO 9999
230 : ENDIF
231 : C
232 : C**** Lecture ORDTEM
233 : C
234 : ICOND = 1
234 : CALL LIRENT(ORDTEM,ICOND,IRETOU)
235 : IF(IERR .NE. 0) GOTO 9999
236 : IF((ORDTEM .LT. 1) .OR. (ORDTEM .GT. ORDESP))THEN
237 : C
238 : C******* Message d'erreur standard
239 : C -301 0 %m1:40
240 : C
241 : MOTERR(1:40) = 'ENTI2 = ??? '
241 : CALL ERREUR(-301)
242 : C
243 : C******* Message d'erreur standard
244 : C Entier valant: %i1
245 : C -2 0
246 : C
247 : INTERR(1) = ORDTEM
247 : CALL ERREUR(-2)
248 : C
249 : C******* Message d'erreur standard
250 : C 21 2
251 : C Données incompatibles
252 : C
252 : CALL ERREUR(21)
253 : GOTO 9999
254 : ENDIF
255 : C
256 : IF((ORDESP .EQ. 1) .AND. (ORDTEM .EQ. 1))THEN
257 : C
258 : C******* ORDESP = 1, ORDTEM = 1
259 : C
259 : CALL PRE21()
260 : ELSEIF((ORDESP .EQ. 2))THEN
261 : C
262 : C******* ORDESP = 2, ORDTEM = 1 ou 2
263 : C
263 : CALL PRE22(ORDTEM)
264 : ELSE
265 : C
266 : C******* Message d'erreur standard
267 : C 251 2
268 : C Tentative d'utilisation d'une option non implémentée
269 : C
269 : CALL ERREUR(251)
270 : ENDIF
271 : C
272 : 9999 CONTINUE
273 : C
274 : RETURN
275 : END
276 :
277 :
278 :
279 :
280 :
281 :
282 :
283 :
284 :
285 :
286 :
287 :
© Cast3M 2003 - All rights reserved.
Disclaimer