1
!-------------------------------------------------------------------------------
3
! This file is part of the Code_Saturne Kernel, element of the
4
! Code_Saturne CFD tool.
6
! Copyright (C) 1998-2009 EDF S.A., France
8
! contact: saturne-support@edf.fr
10
! The Code_Saturne Kernel is free software; you can redistribute it
11
! and/or modify it under the terms of the GNU General Public License
12
! as published by the Free Software Foundation; either version 2 of
13
! the License, or (at your option) any later version.
15
! The Code_Saturne Kernel is distributed in the hope that it will be
16
! useful, but WITHOUT ANY WARRANTY; without even the implied warranty
17
! of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
! GNU General Public License for more details.
20
! You should have received a copy of the GNU General Public License
21
! along with the Code_Saturne Kernel; if not, write to the
22
! Free Software Foundation, Inc.,
23
! 51 Franklin St, Fifth Floor,
24
! Boston, MA 02110-1301 USA
26
!-------------------------------------------------------------------------------
30
!===============================================================================
32
! INCLUDE GENERAL PROPRE A LA PHYSIQUE PARTICULIERE
34
! necessite ppthch et ppppar
35
!-------------------------------------------------------------------------------
38
!--> TABLEAU INDICATEURS DU CHOIX DE LA PHYSIQUE PARTICULIERE CHOISIE
41
parameter(nmodmx = 50)
42
integer ippmod(nmodmx)
43
common / iippmd / ippmod
45
! ---- Indicateur global de physique particuliere
46
! IPPMOD(IPHPAR) = 0 : pas de physique particuliere
47
! 1 : physique particuliere enclenchee
48
! 2 : physique particuliere avec pilotage du
49
! rayonnement par fichier parametrique
52
! ---- Modeles propres a la combustion gaz ICO...
53
integer icod3p, icodeq, icoebu, icobml, icolwc
55
! ---- Modeles propres a la combustion charbon pulverise ICP...
58
! ---- Modeles propres aux versions effet Joule et conduction ionique
59
integer ieljou, ielarc, ielion
61
! ---- Modeles propres a la combustion charbon pulverise couplee Lagrangien
63
! ---- Modeles propres a la combustion fuel
66
! ---- Modele compressible
69
! ---- Modele atmospherique
72
! ---- Modele aerorefrigerants
75
parameter (iphpar = 1 , icod3p = 2 , icodeq = 3 , &
76
icoebu = 4 , icobml = 5 , icolwc = 6 , &
77
icp3pl = 7 , icpl3c = 8 , icfuel = 9 , &
78
ieljou = 10, ielarc = 11, ielion = 12, &
79
icompf = 13, iatmos = 14, iaeros = 15)
82
!--> NOMBRE DE VARIABLES ALGEBRIQUES OU D'ETAT
83
! pour la physique particuliere NSALPP
85
integer nsalpp, nsalto
88
!--> POINTEURS VARIABLES COMBUSTION GAZ
90
! ---- Variables transportees
91
integer ifm, ifp2m, iygfm, icm, icp2m, ifpcpm
92
integer iyfm, iyfp2m, icoyfp
94
! ---- Variables d'etat
95
integer iym(ngazgm), itemp, ifmin, ifmax
96
integer ickabs, it4m, it3m
98
! --- Pointeurs proprietes (PROPCE)
101
!--> POINTEURS VARIABLES COMBUSTION CHARBON PULVERISE
103
! ---- Variables transportees
104
! Phase continue (melange gazeux)
105
integer if1m(ncharm), if2m(ncharm)
106
integer if3m, if4m, if4p2m, if5m, if6m, if7m
108
! Phase dispersee (classe de particules)
109
integer ixck(nclcpm), ixch(nclcpm), inp(nclcpm)
110
integer ih2(nclcpm) , ixwt(nclcpm)
112
! ---- Variables d'etat
113
! Phase continue (melange gazeux)
114
integer iym1(ngazem), itemp1 , irom1 , immel
115
! Phase dispersee (classes de particules)
116
integer itemp2(nclcpm), irom2(nclcpm), idiam2(nclcpm)
118
integer igmdch(nclcpm), igmhet(nclcpm) , ighco2(nclcpm)
119
integer igmdv1(nclcpm), igmdv2(nclcpm)
120
integer igmsec(nclcpm)
122
!--> POINTEURS VARIABLES COMBUSTION FUEL
124
! ---- Variables transportees
129
integer ixkf(nclcpm), ixfol(nclcpm), ing(nclcpm)
130
integer itemp3(nclcpm), irom3(nclcpm), idiam3(nclcpm)
133
! ---- Variables d'etat
135
integer iyfol(nclcpm)
137
integer ih1hlf(nclcpm), igmhtf(nclcpm), igmeva(nclcpm)
139
!--> POINTEURS VARIABLES VERSION ELECTRIQUES
141
! Dimension des 'vecteurs electriques' = NDIMVE
143
parameter (ndimve = 3)
145
! ---- Variables transportees
146
! Potentiel reel = IPOTR
147
! Potentiel imaginaire = IPOTI
148
! Composantes du potentiel vecteur magnetique = IPOTVA()
149
! Fraction massique des constituants = IYCOEL()
151
integer ipotr, ipoti, ipotva(ndimve), iycoel(ngazgm)
153
! ---- Variables d'etat dans PROPCE
154
! Puissance volumique dissipee par effet Joule W/m3 = IEFJOU
155
! Forces electromagnetiques de Laplace en N/m3 = ILAPLA()
156
! Charge electrique volumique C/m3 = IQELEC
157
! Densite de courant electrique reelle A/m2 = IDJR()
158
! Puissance volumique rayonnee W/m3
159
! Densite de courant electrique imaginaire en A/m2 = IDJI()
160
! ou coeff d'absorption en m-1 = IDRAD
162
! Les autres variables deduites seront locales pour
163
! economiser de la place memoire.
164
! Cela n'empeche pas de les sortir en post-traitement.
165
! Gradient du potentiel reel en V/m = IGPOTR()
166
! Gradient du potentiel imaginaire en V/m = IGPOTI()
167
! Composantes du champ magnetique en Tesla = IBMG()
170
integer iefjou , iqelec , ilapla(ndimve)
171
integer idjr(ndimve) , idji(ndimve) , idrad
173
!--> POINTEURS VARIABLES CONDUCTION IONIQUE
176
parameter (nesiom = 10)
179
! ---- Variables transportees
181
integer iymion(nesiom)
183
! ---- Variables d'etat
186
!--> POINTEURS COMPRESSIBLE
188
! ---- Variables transportees par phase
189
integer irho(nphsmx), ienerg(nphsmx), itempk(nphsmx)
190
! ---- Proprietes supplementaires par phase
191
integer icv(nphsmx), iviscv(nphsmx), ieos(nphsmx)
193
! COMMON complete plus bas
195
! ---- Aliases pour les conditions aux limites
196
integer irun(nphsmx), irunh(nphsmx)
198
common / iaclcf / irun , irunh
200
! ---- Proprietes supplementaires par phase
201
double precision cv0(nphsmx), viscv0(nphsmx)
203
common / rpocfp / cv0 , viscv0
205
! ---- Prediction de pression par une equation d'evolution
206
integer ippred(nphsmx)
207
! ---- Flux de masse specifique pour la vitesse
208
integer iflmau(nphsmx)
209
! ---- Utilisation de la pression predite pour resoudre Navier-Stokes
210
integer igrdpp(nphsmx)
211
! --- Conditions aux limites prenant en compte l'equilibre hydrostatique
212
integer icfgrp(nphsmx)
214
common / ipocfo / ippred , iflmau , igrdpp , icfgrp
216
! ---- Flux de bord convectifs QDM et energie (numero de PROPFB)
217
integer ifbrhu(nphsmx) , ifbrhv(nphsmx) , &
218
ifbrhw(nphsmx) , ifbene(nphsmx)
220
common / ipobcf/ ifbrhu , ifbrhv , &
224
!--> POINTEURS AEROREFRIGERANTS
226
! ---- Variables transportees
227
integer itemp4, ihumid
230
!--> POINTEUR RELATIF A LA VARIABLE ENTHALPIE
235
!--> REMPLISSAGE COMMON POINTEURS VARIABLES TRANSPORTEES
240
! ---- Combustion gaz
241
ifm, ifp2m, iygfm, icm, icp2m, ifpcpm, &
242
iyfm, iyfp2m, icoyfp, &
243
! ---- Combustion charbon pulverise
244
if1m, if2m, if3m, if4m, if4p2m, if5m, &
245
if6m, if7m, if3mc2 , &
246
ixck, ixch, inp , ih2 , ixwt , &
247
! ---- Combustion fuel
248
ihlf, ifvap, ifhtf, &
249
ixkf, ixfol, ing, ix3 , &
251
! ---- Versions electriques
252
ipoti, ipotr, ipotva, iycoel, &
253
! ---- Conduction ionique
257
irho , ienerg , itempk , &
258
icv , iviscv , ieos , &
264
! ---- Nb de variables d'etat ou algebriques
266
! ---- Combustion gaz
267
iym, itemp, ifmin, ifmax, ickabs, it4m, &
269
! ---- Combustion charbon pulverise
270
iym1, itemp1, irom1 ,immel, &
271
itemp2, irom2, idiam2, ix2, &
272
igmdch, igmdv1, igmdv2, igmhet, ighco2 , &
274
! ---- Combustion fuel
275
iyfol, itemp3, irom3 , idiam3, &
276
ih1hlf, igmeva, igmhtf, &
277
! ---- Versions electriques
278
iefjou, ilapla , iqelec , &
279
idjr , idji , idrad , &
280
! ---- Version aerorefrigerant
283
!--> Modele de flamme de premelange LWC
285
common / ilwcpp / itsc
287
!--> OPTIONS NUMERIQUES
289
! ---- Coefficient de relaxation de la masse volumique
290
! RHO(n+1) = SRROM * RHO(n) + (1-SRROM) * RHO(n+1)
291
double precision srrom
293
common / roptcp / srrom
296
!--> GRANDEURS FOURNIES PAR L'UTILISATEUR EN CONDITIONS AUX LIMITES
297
! PERMETTANT DE CALCULER AUTOMATIQUEMENT LA VITESSE, LA TURBULENCE,
298
! L'ENTHALPIE D'ENTREE.
299
! LES GRANDEURS CI-DESSOUS SONT COMMUNES A LA COMBUSTION GAZ ET AU
302
! POUR LES ENTREES UNIQUEMENT , IENT ETANT LE NUMERO DE ZONE FRONTIERE
304
! IQIMP (IENT) --> Indicateur zone a debit impose
305
! ICALKE(IENT) --> Indicateur type de condition sur la turbulence
306
! 0 : Utilisateur donne les valeurs
307
! 1 : Automatique a partir de DH
308
! et de la vitesse d'entree
309
! 2 : Automatique a partir de l'intensite turbulente
310
! et de la vitesse d'entree
311
! XINTUR(IENT) --> Intensite turbulente (k=1.5(UREF*XINTUR)**2)
312
! DH (IENT) --> Diametre hydraulique
313
! QCALC (IENT) --> Debit calcule : raf la ; direc ds le sspgm
315
integer iqimp(nozppm) , icalke(nozppm)
316
double precision xintur(nozppm) , dh(nozppm)
319
common / ippcli / iqimp , icalke
320
common / rppcli / xintur , dh
324
! Pointeur dans IA sur IZFPPP pour reperage des zones frontieres associees
326
! Peut etre serait il plus approprie de le verser dans pointe
330
common / ifropp / iizfpp
332
! NZFPPP Nombre de zones de bord (sur le proc courant)
333
! ILZPPP Liste des numeros de zone de bord (du proc courant)
334
! NOZAPM Numero de zone de bord atteint max
335
! exemple zones 1 4 2 : NZFPPP=3,NOZAPM=4
337
integer nozapm, nzfppp, ilzppp(nbzppm)
338
common / izonpp / nozapm, nzfppp, ilzppp