programmer's documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups 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-2014 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 ieos,
94  int *const ieqco2);
95 
96 /*----------------------------------------------------------------------------
97  * Density under relaxation
98  *
99  * Fortran Interface:
100  *
101  * SUBROUTINE UICPI1 (SRROM)
102  * *****************
103  * DOUBLE PRECISION SRROM <-- density relaxation
104  * DOUBLE PRECISION DIFTL0 <-- dynamic diffusion
105  *----------------------------------------------------------------------------*/
106 
107 void CS_PROCF (uicpi1, UICPI1) (double *const srrom,
108  double *const diftl0);
109 
110 /*----------------------------------------------------------------------------
111  * Temperature for D3P Gas Combustion
112  *
113  * Fortran Interface:
114  *
115  * SUBROUTINE UICPI2 (SRROM)
116  * *****************
117  * DOUBLE PRECISION Toxy <-- Oxydant temperature
118  * DOUBLE PRECISION Tfuel <-- Fuel temperature
119  *----------------------------------------------------------------------------*/
120 
121 void CS_PROCF (uicpi2, UICPI2) (double *const toxy,
122  double *const tfuel);
123 
124 /*----------------------------------------------------------------------------
125  * Electrical model : read parameters
126  *
127  * Fortran Interface:
128  *
129  * subroutine uieli1
130  * *****************
131  * integer ieljou --> joule model
132  * integer ielarc --> arc model
133  * integer ielcor <-- scaling electrical variables
134  * double couimp <-- imposed current intensity
135  * double puisim <-- imposed power
136  * integer modrec <-- scaling type for electric arc
137  * integer idrecal <-- current density component used to scaling
138  * (modrec ==2)
139  * char crit_reca <-- define criteria for plane used to scaling (modrec ==2)
140  *----------------------------------------------------------------------------*/
141 
142 void CS_PROCF (uieli1, UIELI1) (const int *const ieljou,
143  const int *const ielarc,
144  int *const ielcor,
145  double *const couimp,
146  double *const puisim,
147  int *const modrec,
148  int *const idreca,
149  double *const crit_reca);
150 
151 /*----------------------------------------------------------------------------
152  * Electrical model : define plane for elreca
153  *
154  * Fortran Interface:
155  *
156  * subroutine uielrc
157  * *****************
158  * integer izreca <-- define plane used to scaling (modrec ==2)
159  * char crit_reca <-- define criteria for plane used to scaling (modrec ==2)
160  *----------------------------------------------------------------------------*/
161 
162 void CS_PROCF (uielrc, UIELRC) (int *const izreca,
163  double *const crit_reca);
164 
165 /*----------------------------------------------------------------------------
166  * Atmospheric flows: read of meteorological file of data
167  *
168  * Fortran Interface:
169  *
170  * subroutine uiati1
171  * *****************
172  * integer imeteo <-- on/off index
173  * char(*) fmeteo <-- meteo file name
174  * int len <-- meteo file name destination string length
175  *----------------------------------------------------------------------------*/
176 
177 void CS_PROCF (uiati1, UIATI1) (int *imeteo,
178  char *fmeteo,
179  int *len
181 
182 
183 /*----------------------------------------------------------------------------
184  * Indirection between the solver numbering and the XML one
185  * for physical properties of the activated specific physics (pulverized solid fuels)
186  *----------------------------------------------------------------------------*/
187 
188 void CS_PROCF (uisofu, UISOFU) (const int *const ippmod,
189  const int *const iccoal,
190  const int *const icpl3c,
191  const int *const iirayo,
192  const int *const iihmpr,
193  const int *const ncharm,
194  int *const ncharb,
195  int *const nclpch,
196  int *const nclacp,
197  const int *const ncpcmx,
198  int *const ichcor,
199  double *const diam20,
200  double *const cch,
201  double *const hch,
202  double *const och,
203  double *const nch,
204  double *const sch,
205  double *const ipci,
206  double *const pcich,
207  double *const cp2ch,
208  double *const rho0ch,
209  double *const thcdch,
210  double *const cck,
211  double *const hck,
212  double *const ock,
213  double *const nck,
214  double *const sck,
215  double *const xashch,
216  double *const xashsec,
217  double *const xwatch,
218  double *const h0ashc,
219  double *const cpashc,
220  int *const iy1ch,
221  double *const y1ch,
222  int *const iy2ch,
223  double *const y2ch,
224  double *const a1ch,
225  double *const a2ch,
226  double *const e1ch,
227  double *const e2ch,
228  double *const crepn1,
229  double *const crepn2,
230  double *const ahetch,
231  double *const ehetch,
232  int *const iochet,
233  double *const ahetc2,
234  double *const ehetc2,
235  int *const ioetc2,
236  double *const ahetwt,
237  double *const ehetwt,
238  int *const ioetwt,
239  int *const ieqnox,
240  int *const imdnox,
241  int *const irb,
242  int *const ihtco2,
243  int *const ihth2o,
244  double *const qpr,
245  double *const fn,
246  double *const ckabs1,
247  int *const noxyd,
248  double *const oxyo2,
249  double *const oxyn2,
250  double *const oxyh2o,
251  double *const oxyco2,
252  double *const repnck,
253  double *const repnle,
254  double *const repnlo);
255 
256 /*----------------------------------------------------------------------------
257  * Copy name of thermophysical data file from C to Fortran
258  *----------------------------------------------------------------------------*/
259 
260 void CS_PROCF(cfnmtd, CFNMTD) (char *fstr, /* --> Fortran string */
261  int *len /* --> String Length */
263 
264 /*=============================================================================
265  * Public function prototypes
266  *============================================================================*/
267 
268 /*-----------------------------------------------------------------------------
269  * Return the name of a thermophysical model.
270  *
271  * parameter:
272  * model_thermo --> thermophysical model
273  *----------------------------------------------------------------------------*/
274 
275 char *
276 cs_gui_get_thermophysical_model(const char *const model_thermo);
277 
278 /*-----------------------------------------------------------------------------
279  * Modify double numerical parameters.
280  *
281  * parameters:
282  * param --> label of the numerical parameter
283  * keyword <--> value of the numerical parameter
284  *----------------------------------------------------------------------------*/
285 
286 void
287 cs_gui_numerical_double_parameters(const char *const param,
288  double *const keyword);
289 
290 /*-----------------------------------------------------------------------------
291  * Return if a predifined physics model is activated.
292  *----------------------------------------------------------------------------*/
293 
294 int
296 
297 /*------------------------------------------------------------------------------
298  * Set GUI-defined labels for the atmospheric module
299  *----------------------------------------------------------------------------*/
300 
301 void
303 
304 /*------------------------------------------------------------------------------
305  * Set GUI-defined labels for the coal combustion module
306  *
307  * parameters:
308  * n_coals <-- number of coals
309  * n_classes <-- number of coal classes
310  *----------------------------------------------------------------------------*/
311 
312 void
314  int n_classes);
315 
316 /*------------------------------------------------------------------------------
317  * Set GUI-defined labels for the electric arcs module
318  *
319  * parameters:
320  * n_gasses <-- number of constituent gasses
321  *----------------------------------------------------------------------------*/
322 
323 void
324 cs_gui_labels_electric_arcs(int n_gasses);
325 
326 /*------------------------------------------------------------------------------
327  * Set GUI-defined labels for the gas combustion variables
328  *----------------------------------------------------------------------------*/
329 
330 void
332 
333 /*------------------------------------------------------------------------------
334  * Set GUI-defined labels for the compressible model variables
335  *----------------------------------------------------------------------------*/
336 
337 void
339 
340 /*----------------------------------------------------------------------------*/
341 
343 
344 #endif /* __CS_GUI_SPECIFIC_PHYSICS_H__ */
void uiati1(int *imeteo, char *fmeteo, int *len CS_ARGF_SUPP_CHAINE)
Definition: cs_gui_specific_physics.c:2021
void uisofu(const int *const ippmod, const int *const iccoal, const int *const icpl3c, 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 thcdch, double *const cck, double *const hck, double *const ock, double *const nck, double *const sck, 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 imdnox, int *const irb, 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, double *const repnck, double *const repnle, double *const repnlo)
Definition: cs_gui_specific_physics.c:2091
void uielrc(int *const izreca, double *const crit_reca)
Definition: cs_gui_specific_physics.c:1964
#define BEGIN_C_DECLS
Definition: cs_defs.h:405
void cs_gui_labels_gas_combustion(void)
Definition: cs_gui_specific_physics.c:2824
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 ieos, int *const ieqco2)
Definition: cs_gui_specific_physics.c:1551
#define CS_ARGF_SUPP_CHAINE
Definition: cs_defs.h:434
void cs_gui_labels_compressible(void)
Definition: cs_gui_specific_physics.c:2766
void cfnmtd(char *fstr, int *lenCS_ARGF_SUPP_CHAINE)
Definition: cs_gui_specific_physics.c:2489
char * cs_gui_get_thermophysical_model(const char *const model_thermo)
Definition: cs_gui_specific_physics.c:2545
void cs_gui_labels_coal_combustion(int n_coals, int n_classes)
Definition: cs_gui_specific_physics.c:2645
void cs_gui_labels_atmospheric(void)
Definition: cs_gui_specific_physics.c:2619
void uieli1(const int *const ieljou, const int *const ielarc, int *const ielcor, double *const couimp, double *const puisim, int *const modrec, int *const idreca, double *const crit_reca)
Definition: cs_gui_specific_physics.c:1795
#define END_C_DECLS
Definition: cs_defs.h:406
void cs_gui_numerical_double_parameters(const char *const param, double *const keyword)
Definition: cs_gui.c:991
#define CS_PROCF(x, y)
Definition: cs_defs.h:419
void uicpi2(double *const toxy, double *const tfuel)
Definition: cs_gui_specific_physics.c:1764
void cs_gui_labels_electric_arcs(int n_gasses)
Definition: cs_gui_specific_physics.c:2788
void uicpi1(double *const srrom, double *const diftl0)
Definition: cs_gui_specific_physics.c:1732
int cs_gui_get_activ_thermophysical_model(void)
Definition: cs_gui_specific_physics.c:2572