Code_Saturne
CFD tool
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
cs_gui_specific_physics.h
Go to the documentation of this file.
1 #ifndef __CS_GUI_SPECIFIC_PHYSICS_H__
2 #define __CS_GUI_SPECIFIC_PHYSICS_H__
3 
4 /*============================================================================
5  * Management of the GUI parameters file: specific physics
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2012 EDF S.A.
12 
13  This program is free software; you can redistribute it and/or modify it under
14  the terms of the GNU General Public License as published by the Free Software
15  Foundation; either version 2 of the License, or (at your option) any later
16  version.
17 
18  This program is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
21  details.
22 
23  You should have received a copy of the GNU General Public License along with
24  this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25  Street, Fifth Floor, Boston, MA 02110-1301, USA.
26 */
27 
28 /*----------------------------------------------------------------------------*/
29 
30 /*----------------------------------------------------------------------------
31  * Local headers
32  *----------------------------------------------------------------------------*/
33 
34 #include "cs_base.h"
35 
36 /*----------------------------------------------------------------------------*/
37 
39 
40 /*============================================================================
41  * Type definitions
42  *============================================================================*/
43 
44 /*============================================================================
45  * Public Fortran function prototypes
46  *============================================================================*/
47 
48 /*-----------------------------------------------------------------------------
49  * Predefined physics indicator.
50  *
51  * Fortran Interface:
52  *
53  * SUBROUTINE UIPPMO
54  * *****************
55  *
56  * INTEGER IPPMOD <-- specific physics indicator array
57  * INTEGER ICOD3P --> diffusion flame in fast complete chemistry
58  * INTEGER ICODEQ --> diffusion flame in fast chemistry to equilibrium
59  * INTEGER ICOEBU --> Eddy Break Up premixing flame
60  * INTEGER ICOBML --> Bray - Moss - Libby premixing flame
61  * INTEGER ICOLWC --> Libby Williams premixing flame
62  * INTEGER ICP3PL --> Coal combustion. Combustible moyen local
63  * INTEGER ICPL3C --> Coal combustion coupled with lagrangien approach
64  * INTEGER ICFUEL --> Fuel combustion
65  * INTEGER IELJOU --> Joule effect
66  * INTEGER IELARC --> electrical arc
67  * INTEGER IELION --> ionique mobility
68  * INTEGER ICOMPF --> compressible without shock
69  * INTEGER IATMOS --> atmospheric flows
70  * INTEGER IAEROS --> cooling tower
71  * INTEGER INDJON --> INDJON=1: a JANAF enthalpy-temperature
72  * tabulation is used. INDJON=1: users tabulation
73  * INTEGER IEOS --> compressible
74  * INTEGER IEQCO2 --> CO2 massic fraction transport
75  *
76  *----------------------------------------------------------------------------*/
77 
78 void CS_PROCF (uippmo, UIPPMO) (int *const ippmod,
79  int *const icod3p,
80  int *const icodeq,
81  int *const icoebu,
82  int *const icobml,
83  int *const icolwc,
84  int *const iccoal,
85  int *const icpl3c,
86  int *const icfuel,
87  int *const ieljou,
88  int *const ielarc,
89  int *const ielion,
90  int *const icompf,
91  int *const iatmos,
92  int *const iaeros,
93  int *const indjon,
94  int *const ieos,
95  int *const ieqco2);
96 
97 /*----------------------------------------------------------------------------
98  * Density under relaxation
99  *
100  * Fortran Interface:
101  *
102  * SUBROUTINE UICPI1 (SRROM)
103  * *****************
104  * DOUBLE PRECISION SRROM <-- density relaxation
105  * DOUBLE PRECISION DIFTL0 <-- dynamic diffusion
106  *----------------------------------------------------------------------------*/
107 
108 void CS_PROCF (uicpi1, UICPI1) (double *const srrom,
109  double *const diftl0);
110 
111 /*----------------------------------------------------------------------------
112  * Temperature for D3P Gas Combustion
113  *
114  * Fortran Interface:
115  *
116  * SUBROUTINE UICPI2 (SRROM)
117  * *****************
118  * DOUBLE PRECISION Toxy <-- Oxydant temperature
119  * DOUBLE PRECISION Tfuel <-- Fuel temperature
120  *----------------------------------------------------------------------------*/
121 
122 void CS_PROCF (uicpi2, UICPI2) (double *const toxy,
123  double *const tfuel);
124 
125 /*----------------------------------------------------------------------------
126  * Pointers definition for scalars and coal combustion
127  *----------------------------------------------------------------------------*/
128 
129 void CS_PROCF (uicpsc, UICPSC) (const int *const ncharb,
130  const int *const nclass,
131  const int *const noxyd,
132  const int *const ippmod,
133  const int *const iccoal,
134  const int *const ieqnox,
135  const int *const ieqco2,
136  const int *const ihtco2,
137  const int *const ihth2o,
138  const int *const ihm,
139  const int *const inp,
140  const int *const ixch,
141  const int *const ixck,
142  const int *const ixwt,
143  const int *const ih2,
144  const int *const if1m,
145  const int *const if2m,
146  const int *const if4m,
147  const int *const if5m,
148  const int *const if6m,
149  const int *const if7m,
150  const int *const if8m,
151  const int *const ifvp2m,
152  const int *const iyco2,
153  const int *const if9m,
154  const int *const iyhcn,
155  const int *const iyno,
156  const int *const ihox);
157 
158 /*----------------------------------------------------------------------------
159  * Defintion des pointeurs des proprietes pour la combustion gaz
160  *----------------------------------------------------------------------------*/
161 
162 void CS_PROCF (uicppr, UICPPR) (const int *const nclass,
163  const int *const nsalpp,
164  const int *const nsalto,
165  const int *const ippmod,
166  const int *const iccoal,
167  const int *const ipppro,
168  const int *const ipproc,
169  const int *const ieqnox,
170  const int *const ieqco2,
171  const int *const ihtco2,
172  const int *const ihth2o,
173  const int *const itemp1,
174  const int *const irom1,
175  const int *const ym1,
176  const int *const ighcn1,
177  const int *const ighcn2,
178  const int *const ignoth,
179  const int *const imel,
180  const int *const itemp2,
181  const int *const ix2,
182  const int *const irom2,
183  const int *const idiam2,
184  const int *const igmdch,
185  const int *const igmdv1,
186  const int *const igmdv2,
187  const int *const igmhet,
188  const int *const ighco2,
189  const int *const ighh2o,
190  const int *const igmsec,
191  const int *const ibcarbone,
192  const int *const iboxygen,
193  const int *const ibhydrogen);
194 
195 /*----------------------------------------------------------------------------
196  * Pointers definition for scalars for compressible model
197  *----------------------------------------------------------------------------*/
198 
199 void CS_PROCF (uicfsc, UICFSC) (const int *const irho,
200  const int *const ienerg,
201  const int *const itempk);
202 
203 /*-----------------------------------------------------------------------------
204  * Indirection between the solver numbering and the XML one
205  * for physical properties of the activated specific physics (gaz combustion)
206  *----------------------------------------------------------------------------*/
207 
208 void CS_PROCF (uicopr, UICOPR) (const int *const nsalpp,
209  const int *const ippmod,
210  const int *const ipppro,
211  const int *const ipproc,
212  const int *const icod3p,
213  const int *const icoebu,
214  const int *const icolwc,
215  const int *const iirayo,
216  const int *const itemp,
217  const int *const imam,
218  const int *const iym,
219  const int *const ickabs,
220  const int *const it4m,
221  const int *const it3m,
222  const int *const ix2,
223  const int *const itsc,
224  const int *const irhol,
225  const int *const iteml,
226  const int *const ifmel,
227  const int *const ifmal,
228  const int *const iampl,
229  const int *const itscl,
230  const int *const imaml);
231 
232 /*------------------------------------------------------------------------------
233  * Indirection between the solver numbering and the XML one
234  * for the model scalar (gas combustion)
235  *----------------------------------------------------------------------------*/
236 
237 void CS_PROCF (uicosc, UICOSC) (const int *const ippmod,
238  const int *const icolwc,
239  const int *const icoebu,
240  const int *const icod3p,
241  const int *const ihm,
242  const int *const ifm,
243  const int *const ifp2m,
244  const int *const iygfm,
245  const int *const iyfm,
246  const int *const iyfp2m,
247  const int *const icoyfp);
248 
249 /*----------------------------------------------------------------------------
250  * Atmospheric flows: read of meteorological file of data
251  *
252  * Fortran Interface:
253  *
254  * subroutine uiati1
255  * *****************
256  * integer imeteo <-- on/off index
257  *----------------------------------------------------------------------------*/
258 
259 void CS_PROCF (uiati1, UIATI1) (int *const imeteo);
260 
261 /*----------------------------------------------------------------------------
262  * Atmospheric flows: indirection between the solver numbering and the XML one
263  * for physical properties
264  *
265  * Fortran Interface:
266  *
267  * subroutine uiatpr
268  * *****************
269  * integer nsalpp -->
270  * integer nsalto -->
271  * integer ippmod --> specific physics indicator array
272  * integer iatmos --> index for atmospheric flow
273  * integer ipppro -->
274  * integer ipproc -->
275  * integer itempc --> index for real temperature
276  * integer iliqwt --> index for liquid water
277  *----------------------------------------------------------------------------*/
278 
279 void CS_PROCF (uiatpr, UIATPR) (const int *const nsalpp,
280  const int *const nsalto,
281  const int *const ippmod,
282  const int *const iatmos,
283  const int *const ipppro,
284  const int *const ipproc,
285  const int *const itempc,
286  const int *const iliqwt);
287 
288 /*----------------------------------------------------------------------------
289  * Atmospheric flows: indirection between the solver numbering and the XML one
290  * for models scalars.
291  *
292  * Fortran Interface:
293  *
294  * subroutine uiatsc
295  * *****************
296  * integer ippmod --> specific physics indicator array
297  * integer iatmos --> index for atmospheric flow
298  * integer itempp --> index for potential temperature
299  * integer itempl --> index for liquid potential temperature
300  * integer itotwt --> index for total water content
301  * integer intdrp --> index for total number of droplets
302  *----------------------------------------------------------------------------*/
303 
304 void CS_PROCF (uiatsc, UIATSC) (const int *const ippmod,
305  const int *const iatmos,
306  const int *const itempp,
307  const int *const itempl,
308  const int *const itotwt,
309  const int *const intdrp);
310 
311 /*----------------------------------------------------------------------------
312  * Indirection between the solver numbering and the XML one
313  * for physical properties of the activated specific physics (pulverized solid fuels)
314  *----------------------------------------------------------------------------*/
315 
316 void CS_PROCF (uisofu, UISOFU) (const int *const iirayo,
317  const int *const iihmpr,
318  const int *const ncharm,
319  int *const ncharb,
320  int *const nclpch,
321  int *const nclacp,
322  const int *const ncpcmx,
323  int *const ichcor,
324  double *const diam20,
325  double *const cch,
326  double *const hch,
327  double *const och,
328  double *const nch,
329  double *const sch,
330  double *const ipci,
331  double *const pcich,
332  double *const cp2ch,
333  double *const rho0ch,
334  double *const cck,
335  double *const hck,
336  double *const ock,
337  double *const nck,
338  double *const sck,
339  double *const pcick,
340  double *const xashch,
341  double *const xashsec,
342  double *const xwatch,
343  double *const h0ashc,
344  double *const cpashc,
345  int *const iy1ch,
346  double *const y1ch,
347  int *const iy2ch,
348  double *const y2ch,
349  double *const a1ch,
350  double *const a2ch,
351  double *const e1ch,
352  double *const e2ch,
353  double *const crepn1,
354  double *const crepn2,
355  double *const ahetch,
356  double *const ehetch,
357  int *const iochet,
358  double *const ahetc2,
359  double *const ehetc2,
360  int *const ioetc2,
361  double *const ahetwt,
362  double *const ehetwt,
363  int *const ioetwt,
364  int *const ieqnox,
365  int *const ihtco2,
366  int *const ihth2o,
367  double *const qpr,
368  double *const fn,
369  double *const ckabs1,
370  int *const noxyd,
371  double *const oxyo2,
372  double *const oxyn2,
373  double *const oxyh2o,
374  double *const oxyco2);
375 
376 /*=============================================================================
377  * Public function prototypes
378  *============================================================================*/
379 
380 /*-----------------------------------------------------------------------------
381  * Return the name of a thermophysical model.
382  *
383  * parameter:
384  * model_thermo --> thermophysical model
385  *----------------------------------------------------------------------------*/
386 
387 char *
388 cs_gui_get_thermophysical_model(const char *const model_thermo);
389 
390 /*-----------------------------------------------------------------------------
391  * Modify double numerical parameters.
392  *
393  * parameters:
394  * param --> label of the numerical parameter
395  * keyword <--> value of the numerical parameter
396  *----------------------------------------------------------------------------*/
397 
398 void
399 cs_gui_numerical_double_parameters(const char *const param,
400  double *const keyword);
401 
402 /*-----------------------------------------------------------------------------
403  * Return if a predifined physics model is activated.
404  *----------------------------------------------------------------------------*/
405 
406 int
408 
409 /*----------------------------------------------------------------------------*/
410 
412 
413 #endif /* __CS_GUI_SPECIFIC_PHYSICS_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:365
void uisofu(const int *const iirayo, const int *const iihmpr, const int *const ncharm, int *const ncharb, int *const nclpch, int *const nclacp, const int *const ncpcmx, int *const ichcor, double *const diam20, double *const cch, double *const hch, double *const och, double *const nch, double *const sch, double *const ipci, double *const pcich, double *const cp2ch, double *const rho0ch, double *const cck, double *const hck, double *const ock, double *const nck, double *const sck, double *const pcick, double *const xashch, double *const xashsec, double *const xwatch, double *const h0ashc, double *const cpashc, int *const iy1ch, double *const y1ch, int *const iy2ch, double *const y2ch, double *const a1ch, double *const a2ch, double *const e1ch, double *const e2ch, double *const crepn1, double *const crepn2, double *const ahetch, double *const ehetch, int *const iochet, double *const ahetc2, double *const ehetc2, int *const ioetc2, double *const ahetwt, double *const ehetwt, int *const ioetwt, int *const ieqnox, int *const ihtco2, int *const ihth2o, double *const qpr, double *const fn, double *const ckabs1, int *const noxyd, double *const oxyo2, double *const oxyn2, double *const oxyh2o, double *const oxyco2)
Definition: cs_gui_specific_physics.c:2595
void uiatpr(const int *const nsalpp, const int *const nsalto, const int *const ippmod, const int *const iatmos, const int *const ipppro, const int *const ipproc, const int *const itempc, const int *const iliqwt)
Definition: cs_gui_specific_physics.c:2472
void uicppr(const int *const nclass, const int *const nsalpp, const int *const nsalto, const int *const ippmod, const int *const iccoal, const int *const ipppro, const int *const ipproc, const int *const ieqnox, const int *const ieqco2, const int *const ihtco2, const int *const ihth2o, const int *const itemp1, const int *const irom1, const int *const ym1, const int *const ighcn1, const int *const ighcn2, const int *const ignoth, const int *const imel, const int *const itemp2, const int *const ix2, const int *const irom2, const int *const idiam2, const int *const igmdch, const int *const igmdv1, const int *const igmdv2, const int *const igmhet, const int *const ighco2, const int *const ighh2o, const int *const igmsec, const int *const ibcarbone, const int *const iboxygen, const int *const ibhydrogen)
Definition: cs_gui_specific_physics.c:1520
char * cs_gui_get_thermophysical_model(const char *const model_thermo)
Definition: cs_gui_specific_physics.c:2966
void uicopr(const int *const nsalpp, const int *const ippmod, const int *const ipppro, const int *const ipproc, const int *const icod3p, const int *const icoebu, const int *const icolwc, const int *const iirayo, const int *const itemp, const int *const imam, const int *const iym, const int *const ickabs, const int *const it4m, const int *const it3m, const int *const ix2, const int *const itsc, const int *const irhol, const int *const iteml, const int *const ifmel, const int *const ifmal, const int *const iampl, const int *const itscl, const int *const imaml)
Definition: cs_gui_specific_physics.c:1899
void uicosc(const int *const ippmod, const int *const icolwc, const int *const icoebu, const int *const icod3p, const int *const ihm, const int *const ifm, const int *const ifp2m, const int *const iygfm, const int *const iyfm, const int *const iyfp2m, const int *const icoyfp)
Definition: cs_gui_specific_physics.c:2090
void uiati1(int *const imeteo)
Definition: cs_gui_specific_physics.c:2433
void uicfsc(const int *const irho, const int *const ienerg, const int *const itempk)
Definition: cs_gui_specific_physics.c:2396
#define END_C_DECLS
Definition: cs_defs.h:366
void uicpsc(const int *const ncharb, const int *const nclass, const int *const noxyd, const int *const ippmod, const int *const iccoal, const int *const ieqnox, const int *const ieqco2, const int *const ihtco2, const int *const ihth2o, const int *const ihm, const int *const inp, const int *const ixch, const int *const ixck, const int *const ixwt, const int *const ih2, const int *const if1m, const int *const if2m, const int *const if4m, const int *const if5m, const int *const if6m, const int *const if7m, const int *const if8m, const int *const ifvp2m, const int *const iyco2, const int *const if9m, const int *const iyhcn, const int *const iyno, const int *const ihox)
Definition: cs_gui_specific_physics.c:2175
void cs_gui_numerical_double_parameters(const char *const param, double *const keyword)
Definition: cs_gui.c:763
#define CS_PROCF(x, y)
Definition: cs_defs.h:379
void uicpi2(double *const toxy, double *const tfuel)
Definition: cs_gui_specific_physics.c:1503
void uiatsc(const int *const ippmod, const int *const iatmos, const int *const itempp, const int *const itempl, const int *const itotwt, const int *const intdrp)
Definition: cs_gui_specific_physics.c:2537
BEGIN_C_DECLS void uippmo(int *const ippmod, int *const icod3p, int *const icodeq, int *const icoebu, int *const icobml, int *const icolwc, int *const iccoal, int *const icpl3c, int *const icfuel, int *const ieljou, int *const ielarc, int *const ielion, int *const icompf, int *const iatmos, int *const iaeros, int *const indjon, int *const ieos, int *const ieqco2)
Definition: cs_gui_specific_physics.c:1318
void uicpi1(double *const srrom, double *const diftl0)
Definition: cs_gui_specific_physics.c:1471
int cs_gui_get_activ_thermophysical_model(void)
Definition: cs_gui_specific_physics.c:2994