programmer's documentation
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-2019 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  * Density under relaxation
50  *
51  * Fortran Interface:
52  *
53  * SUBROUTINE UICPI1 (SRROM)
54  * *****************
55  * DOUBLE PRECISION SRROM <-- density relaxation
56  * DOUBLE PRECISION DIFTL0 <-- dynamic diffusion
57  *----------------------------------------------------------------------------*/
58 
59 void CS_PROCF (uicpi1, UICPI1) (double *const srrom,
60  double *const diftl0);
61 
62 /*----------------------------------------------------------------------------
63  * Temperature for D3P Gas Combustion
64  *
65  * Fortran Interface:
66  *
67  * SUBROUTINE UICPI2 (SRROM)
68  * *****************
69  * DOUBLE PRECISION Toxy <-- Oxydant temperature
70  * DOUBLE PRECISION Tfuel <-- Fuel temperature
71  *----------------------------------------------------------------------------*/
72 
73 void CS_PROCF (uicpi2, UICPI2) (double *const toxy,
74  double *const tfuel);
75 
76 /*----------------------------------------------------------------------------
77  * Atmospheric flows: read of meteorological file of data
78  *
79  * Fortran Interface:
80  *
81  * subroutine uiati1
82  * *****************
83  * integer imeteo <-- on/off index
84  * char(*) fmeteo <-- meteo file name
85  * int len <-- meteo file name destination string length
86  *----------------------------------------------------------------------------*/
87 
88 void CS_PROCF (uiati1, UIATI1) (int *imeteo,
89  char *fmeteo,
90  int *len
92 
93 /*----------------------------------------------------------------------------
94  * Indirection between the solver numbering and the XML one
95  * for physical properties of the activated specific physics
96  * (pulverized solid fuels)
97  *----------------------------------------------------------------------------*/
98 
99 void CS_PROCF (uisofu, UISOFU) (const int *iirayo,
100  const int *iihmpr,
101  const int *ncharm,
102  int *ncharb,
103  int *nclpch,
104  int *nclacp,
105  const int *ncpcmx,
106  int *ichcor,
107  double *diam20,
108  double *cch,
109  double *hch,
110  double *och,
111  double *nch,
112  double *sch,
113  int *ipci,
114  double *pcich,
115  double *cp2ch,
116  double *rho0ch,
117  double *thcdch,
118  double *cck,
119  double *hck,
120  double *ock,
121  double *nck,
122  double *sck,
123  double *xashch,
124  double *xashsec,
125  double *xwatch,
126  double *h0ashc,
127  double *cpashc,
128  int *iy1ch,
129  double *y1ch,
130  int *iy2ch,
131  double *y2ch,
132  double *a1ch,
133  double *a2ch,
134  double *e1ch,
135  double *e2ch,
136  double *crepn1,
137  double *crepn2,
138  double *ahetch,
139  double *ehetch,
140  int *iochet,
141  double *ahetc2,
142  double *ehetc2,
143  int *ioetc2,
144  double *ahetwt,
145  double *ehetwt,
146  int *ioetwt,
147  int *ieqnox,
148  int *ieqco2,
149  int *imdnox,
150  int *irb,
151  int *ihtco2,
152  int *ihth2o,
153  double *qpr,
154  double *fn,
155  double *ckabs1,
156  int *noxyd,
157  double *oxyo2,
158  double *oxyn2,
159  double *oxyh2o,
160  double *oxyco2,
161  double *repnck,
162  double *repnle,
163  double *repnlo);
164 
165 /*----------------------------------------------------------------------------
166  * Copy name of thermophysical data file from C to Fortran
167  *----------------------------------------------------------------------------*/
168 
169 void CS_PROCF(cfnmtd, CFNMTD) (char *fstr, /* --> Fortran string */
170  int *len /* --> String Length */
172 
173 /*----------------------------------------------------------------------------
174  * groundwater model : read parameters
175  *
176  * Fortran Interface:
177  *
178  * subroutine uidai1
179  * *****************
180  * integer permeability <-- permeability type
181  * integer dispersion <-- dispersion type
182  * integer unsteady <-- steady flow
183  * integer gravity <-- check if gravity is taken into account
184  * integer unsaturated <-- take into account unsaturated zone
185  *----------------------------------------------------------------------------*/
186 
187 void CS_PROCF (uidai1, UIDAI1) (int *permeability,
188  int *dispersion,
189  int *unsteady,
190  int *gravity,
191  int *unsaturated);
192 
193 /*=============================================================================
194  * Public function prototypes
195  *============================================================================*/
196 
197 /*-----------------------------------------------------------------------------
198  * Activate specific physical models based on XML settings.
199  *----------------------------------------------------------------------------*/
200 
201 void
203 
204 /*----------------------------------------------------------------------------
205  * Electrical model: read parameters
206  *----------------------------------------------------------------------------*/
207 
208 void
209 cs_gui_elec_model(void);
210 
211 /*----------------------------------------------------------------------------
212  * Electrical model: define plane for elreca
213  *----------------------------------------------------------------------------*/
214 
215 void
217 
218 /*-----------------------------------------------------------------------------
219  * Return the name of a thermophysical model.
220  *
221  * parameter:
222  * model_thermo --> thermophysical model category
223  *----------------------------------------------------------------------------*/
224 
225 const char *
226 cs_gui_get_thermophysical_model(const char *model_thermo);
227 
228 /*-----------------------------------------------------------------------------
229  * Return 1 if a specific physics model is activated, 0 othewise.
230  *
231  * Updates the cs_glob_vars global structure.
232  *----------------------------------------------------------------------------*/
233 
234 int
236 
237 /*----------------------------------------------------------------------------*/
238 
240 
241 #endif /* __CS_GUI_SPECIFIC_PHYSICS_H__ */
void uiati1(int *imeteo, char *fmeteo, int *len CS_ARGF_SUPP_CHAINE)
Definition: cs_gui_specific_physics.c:599
double precision, dimension(ncharm), save thcdch
Definition: cpincl.f90:99
integer ncharm
maximum number of coals
Definition: ppppar.f90:55
void cs_gui_physical_model_select(void)
Definition: cs_gui_specific_physics.c:1257
integer, dimension(ncharm), save iy2ch
Definition: cpincl.f90:150
integer, dimension(ncharm), save nclpch
Number of classes per coal.
Definition: cpincl.f90:58
double precision, dimension(ncharm), save cck
Definition: cpincl.f90:99
void cs_gui_elec_model_rec(void)
Definition: cs_gui_specific_physics.c:1477
double precision, dimension(ncharm), save xashsec
Definition: cs_coal_incl.f90:42
double precision, dimension(ncharm), save ahetc2
Definition: cpincl.f90:152
size_t len
Definition: mei_scanner.c:569
double precision, dimension(ncharm), save ehetc2
Definition: cpincl.f90:152
double precision, dimension(ncharm), save ahetwt
Definition: cpincl.f90:152
integer, save ieqco2
Definition: ppcpfu.f90:63
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
double precision, dimension(ncharm), save e1ch
Definition: cpincl.f90:152
double precision, dimension(ncharm), save a1ch
Definition: cpincl.f90:152
double precision, dimension(ncharm), save h0ashc
Definition: cpincl.f90:99
double precision, dimension(ncharm), save sch
Definition: cpincl.f90:99
double precision, dimension(3), save oxyn2
Definition: ppcpfu.f90:175
double precision, dimension(ncharm), save hck
Definition: cpincl.f90:99
double precision, dimension(3), save oxyo2
Definition: ppcpfu.f90:175
double precision, dimension(ncharm), save hch
Definition: cpincl.f90:99
double precision, dimension(3), save oxyco2
Definition: ppcpfu.f90:175
double precision, dimension(ncharm), save cp2ch
Definition: cpincl.f90:99
double precision, dimension(ncharm), save sck
Definition: cpincl.f90:99
#define CS_ARGF_SUPP_CHAINE
Definition: cs_defs.h:496
integer(c_int), pointer, save iirayo
Activation of the radiative transfer module:
Definition: radiat.f90:45
double precision, dimension(ncharm), save e2ch
Definition: cpincl.f90:152
integer(c_int), dimension(:), pointer, save ichcor
Definition: cpincl.f90:195
double precision, dimension(ncharm), save y2ch
Definition: cpincl.f90:152
double precision, dimension(ncharm), save nch
Definition: cpincl.f90:99
void cs_gui_elec_model(void)
Definition: cs_gui_specific_physics.c:1403
integer(c_int), pointer, save nclacp
Definition: cpincl.f90:183
integer, save ieqnox
Definition: ppcpfu.f90:102
double precision, dimension(ncharm), save cpashc
Definition: cpincl.f90:99
const char * cs_gui_get_thermophysical_model(const char *model_thermo)
Definition: cs_gui_specific_physics.c:1516
void uisofu(const int *iirayo, const int *iihmpr, const int *ncharm, int *ncharb, int *nclpch, int *nclacp, const int *ncpcmx, int *ichcor, double *diam20, double *cch, double *hch, double *och, double *nch, double *sch, int *ipci, double *pcich, double *cp2ch, double *rho0ch, double *thcdch, double *cck, double *hck, double *ock, double *nck, double *sck, double *xashch, double *xashsec, double *xwatch, double *h0ashc, double *cpashc, int *iy1ch, double *y1ch, int *iy2ch, double *y2ch, double *a1ch, double *a2ch, double *e1ch, double *e2ch, double *crepn1, double *crepn2, double *ahetch, double *ehetch, int *iochet, double *ahetc2, double *ehetc2, int *ioetc2, double *ahetwt, double *ehetwt, int *ioetwt, int *ieqnox, int *ieqco2, int *imdnox, int *irb, int *ihtco2, int *ihth2o, double *qpr, double *fn, double *ckabs1, int *noxyd, double *oxyo2, double *oxyn2, double *oxyh2o, double *oxyco2, double *repnck, double *repnle, double *repnlo)
Definition: cs_gui_specific_physics.c:651
integer, save ncharb
Number of coals.
Definition: cpincl.f90:51
double precision, dimension(ncharm), save och
Definition: cpincl.f90:99
double precision, dimension(ncharm), save repnck
Definition: cs_coal_incl.f90:79
double precision, dimension(ncharm), save y1ch
Definition: cpincl.f90:152
real(c_double), pointer, save ckabs1
Absorption coefficient of gas mixture.
Definition: ppthch.f90:152
double precision, dimension(ncharm), save fn
Definition: cs_coal_incl.f90:42
double precision, dimension(ncharm), save cch
Definition: cpincl.f90:99
double precision, dimension(ncharm), save pcich
Definition: cpincl.f90:99
integer ncpcmx
maximum number of coals classes
Definition: ppppar.f90:57
double precision, save diftl0
Definition: ppthch.f90:161
integer, dimension(ncharm), save ioetwt
Definition: cpincl.f90:151
integer, save iihmpr
indicator of the use of the GUI (We could avoid this module by querying a C structure) ...
Definition: ihmpre.f90:44
integer, dimension(ncharm), save ioetc2
Definition: cpincl.f90:151
double precision, dimension(2, ncharm), save crepn1
Definition: cpincl.f90:99
integer, save imeteo
imeteo –> flag for reading the meteo input file
Definition: atincl.f90:116
void cfnmtd(char *fstr, int *len CS_ARGF_SUPP_CHAINE)
Definition: cs_gui_specific_physics.c:1101
double precision, dimension(ncharm), save nck
Definition: cpincl.f90:99
double precision, dimension(ncharm), save ock
Definition: cpincl.f90:99
double precision, dimension(ncharm), save ahetch
Definition: cpincl.f90:152
double precision, dimension(ncharm), save repnle
Definition: cs_coal_incl.f90:79
integer, save noxyd
Definition: ppcpfu.f90:168
integer, dimension(ncharm), save ipci
Definition: cs_coal_incl.f90:36
double precision, dimension(ncharm), save xwatch
Definition: cpincl.f90:99
integer, dimension(ncharm), save iochet
Definition: cpincl.f90:151
real(c_double), dimension(:), pointer, save xashch
Definition: cpincl.f90:115
double precision, save srrom
Definition: ppincl.f90:732
#define END_C_DECLS
Definition: cs_defs.h:468
integer, save ihtco2
Definition: ppcpfu.f90:71
#define CS_PROCF(x, y)
Definition: cs_defs.h:481
double precision, dimension(ncharm), save a2ch
Definition: cpincl.f90:152
double precision, dimension(2, ncharm), save crepn2
Definition: cpincl.f90:99
void uicpi2(double *const toxy, double *const tfuel)
Definition: cs_gui_specific_physics.c:575
double precision, dimension(ncharm), save ehetch
Definition: cpincl.f90:152
integer, dimension(ncharm), save iy1ch
Definition: cpincl.f90:150
void uicpi1(double *const srrom, double *const diftl0)
Definition: cs_gui_specific_physics.c:542
integer, save imdnox
Definition: ppcpfu.f90:102
double precision, dimension(ncharm), save qpr
Definition: cs_coal_incl.f90:42
integer, save ihth2o
Definition: cs_coal_incl.f90:36
integer, save irb
Definition: ppcpfu.f90:102
int cs_gui_get_activ_thermophysical_model(void)
Definition: cs_gui_specific_physics.c:1540
double precision, dimension(3), save oxyh2o
Definition: ppcpfu.f90:175
double precision, dimension(ncharm), save ehetwt
Definition: cpincl.f90:152
double precision, dimension(ncharm), save rho0ch
Definition: cpincl.f90:99
double precision, dimension(ncharm), save repnlo
Definition: cs_coal_incl.f90:79
real(c_double), dimension(:), pointer, save diam20
Definition: cpincl.f90:196
void uidai1(int *permeability, int *dispersion, int *unsteady, int *gravity, int *unsaturated)
Definition: cs_gui_specific_physics.c:1145