8.2
general documentation
cs_physical_constants.h
Go to the documentation of this file.
1 #ifndef __CS_PHYSICAL_CONSTANTS_H__
2 #define __CS_PHYSICAL_CONSTANTS_H__
3 
4 /*============================================================================
5  * Base physical constants data.
6  *============================================================================*/
7 
8 /*
9  This file is part of code_saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2024 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_defs.h"
35 
36 /*----------------------------------------------------------------------------*/
37 
39 
40 /*=============================================================================
41  * Macro definitions
42  *============================================================================*/
43 
44 /*============================================================================
45  * Type definitions
46  *============================================================================*/
47 
48 /* physical constants descriptor */
49 /*-------------------------------*/
50 
51 typedef struct {
52 
53  cs_real_t gravity[3]; /* gravity vector in m.s^-2 */
54  int icorio; /* Coriolis source terms indicator */
55 
57 
58 /* fluid properties descriptor */
59 /*-----------------------------*/
60 
61 typedef struct {
62 
63  int ixyzp0; /* indicator for filling of reference point for
64  total pressure */
65  int icp; /* property index of the isobaric specific heat */
66  int icv; /* property index of the isochoric specific
67  heat */
68  int iviscv; /* property field id for volume viscosity
69  (for compressible model) */
70  int irovar; /* variable density field */
71  int ivivar; /* variable viscosity field */
72  int ivsuth; /* Sutherland law for laminar viscosity and
73  thermal conductivity in gas mix spec. phys. */
74  double ro0; /* reference density */
75  double viscl0; /* reference molecular dynamic viscosity */
76  double viscv0; /* reference volume viscosity
77  (for compressible model) */
78  double p0; /* reference pressure for the total pressure */
79  double pred0; /* reference value for the reduced pressure */
80  double xyzp0[3]; /* reference point coordinates for the total
81  pressure */
82  double t0; /* reference temperature */
83  double cp0; /* reference specific heat at constant pressure */
84  double cv0; /* reference specific heat at constant volume */
85  double cpv0; /* reference specific heat at constant volume
86  for water vapor */
87  double cvl; /* reference specific for liquid water */
88  double l00; /* Latent heat */
89  double lambda0; /* reference heat conductivity */
90 
91  double r_pg_cnst; /* perfect gas specific constant in J/kg/K */
92  double r_v_cnst; /* water vapor specific constant in J/kg/K */
93  double rvsra; /* ratio gas constant h2o / dry air */
94  double clatev; /* latent heat of evaporation */
95  double xmasmr; /* molar mass of the perfect gas in kg/mol
96  (if ieos=1) */
97  int ipthrm; /* uniform variable thermodynamic pressure for the
98  low-Mach algorithm */
99  double pther; /* uniform thermodynamic pressure for the low-Mach
100  algorithm */
101  double pthera; /* thermodynamic pressure for the previous time
102  step */
103  double pthermax; /* thermodynamic maximum pressure for user
104  clipping, used to model a venting effect */
105  double eint0; /* reference internal energy for the barotropic
106  compressible module. */
107  double sleak; /* leak surface */
108  double kleak; /* leak head loss (2.9 by default, from Idelcick) */
109  double roref; /* Initial reference density */
110 
112 
113 /*============================================================================
114  * Static global variables
115  *============================================================================*/
116 
117 /* Physical constants */
118 
119 extern const double cs_physical_constants_r; /* Ideal gas constant (J/mol/K) */
120 extern const double cs_physical_constants_kb; /* Boltzmann constant (J/K) */
121 extern const double cs_physical_constants_celsius_to_kelvin; /* Celsius to
122  Kelvin*/
123 extern const double cs_physical_constants_stephan; /* Stephan constant
124  (W/m2/K4)*/
125 extern const double cs_physical_constants_avogadro; /* Avogadro constant
126  (1/mol) */
127 
128 /* Pointer to main physical constants structure */
129 
131 
132 /* Pointer to main fluid properties structure */
133 
135 
136 /*=============================================================================
137  * Public function prototypes
138  *============================================================================*/
139 
140 /*----------------------------------------------------------------------------
141  * Provide access to cs_glob_physical_constants
142  *
143  * needed to initialize structure with GUI
144  *----------------------------------------------------------------------------*/
145 
148 
149 /*----------------------------------------------------------------------------
150  * Provide access to cs_glob_fluid_properties
151  *
152  * needed to initialize structure with GUI
153  *----------------------------------------------------------------------------*/
154 
157 
158 /*----------------------------------------------------------------------------
159  * Print the physical constants structure to setup.log.
160  *----------------------------------------------------------------------------*/
161 
162 void
164 
165 /*----------------------------------------------------------------------------
166  * Print the fluid properties structure to setup.log.
167  *----------------------------------------------------------------------------*/
168 
169 void
171 
172 /*----------------------------------------------------------------------------*/
173 
175 
176 #endif /* __CS_PHYSICAL_CONSTANTS_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:528
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
#define END_C_DECLS
Definition: cs_defs.h:529
const double cs_physical_constants_stephan
Definition: cs_physical_constants.c:434
void cs_physical_constants_log_setup(void)
Definition: cs_physical_constants.c:686
const double cs_physical_constants_r
Definition: cs_physical_constants.c:421
cs_physical_constants_t * cs_get_glob_physical_constants(void)
Definition: cs_physical_constants.c:661
const double cs_physical_constants_kb
Definition: cs_physical_constants.c:425
const double cs_physical_constants_celsius_to_kelvin
Definition: cs_physical_constants.c:429
const double cs_physical_constants_avogadro
Definition: cs_physical_constants.c:438
const cs_fluid_properties_t * cs_glob_fluid_properties
Definition: cs_physical_constants.c:445
cs_fluid_properties_t * cs_get_glob_fluid_properties(void)
Definition: cs_physical_constants.c:674
const cs_physical_constants_t * cs_glob_physical_constants
Definition: cs_physical_constants.c:442
void cs_fluid_properties_log_setup(void)
Definition: cs_physical_constants.c:717
real(c_double), dimension(:), pointer, save xyzp0
coordinates of the reference point for the total pressure.
Definition: cstphy.f90:209
Fluid properties descriptor.
Definition: cs_physical_constants.h:61
int ivivar
Definition: cs_physical_constants.h:71
double kleak
Definition: cs_physical_constants.h:108
double viscl0
Definition: cs_physical_constants.h:75
int icp
Definition: cs_physical_constants.h:65
double pthermax
Definition: cs_physical_constants.h:103
double sleak
Definition: cs_physical_constants.h:107
double l00
Definition: cs_physical_constants.h:88
double eint0
Definition: cs_physical_constants.h:105
double ro0
Definition: cs_physical_constants.h:74
double cv0
Definition: cs_physical_constants.h:84
double pthera
Definition: cs_physical_constants.h:101
int iviscv
Definition: cs_physical_constants.h:68
double viscv0
Definition: cs_physical_constants.h:76
double cpv0
Definition: cs_physical_constants.h:85
double r_pg_cnst
Definition: cs_physical_constants.h:91
double xmasmr
Definition: cs_physical_constants.h:95
double cvl
Definition: cs_physical_constants.h:87
double rvsra
Definition: cs_physical_constants.h:93
int irovar
Definition: cs_physical_constants.h:70
double pred0
Definition: cs_physical_constants.h:79
int ipthrm
Definition: cs_physical_constants.h:97
int ixyzp0
Definition: cs_physical_constants.h:63
int icv
Definition: cs_physical_constants.h:66
double pther
Definition: cs_physical_constants.h:99
double clatev
Definition: cs_physical_constants.h:94
double t0
Definition: cs_physical_constants.h:82
double r_v_cnst
Definition: cs_physical_constants.h:92
double cp0
Definition: cs_physical_constants.h:83
double lambda0
Definition: cs_physical_constants.h:89
double roref
Definition: cs_physical_constants.h:109
double p0
Definition: cs_physical_constants.h:78
int ivsuth
Definition: cs_physical_constants.h:72
Physical constants descriptor.
Definition: cs_physical_constants.h:51
int icorio
Definition: cs_physical_constants.h:54