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