1 #ifndef __CS_CF_MODEL_H__
2 #define __CS_CF_MODEL_H__
3 
4 /*============================================================================
5  * Thermodynamic laws for the compressible module
6  *============================================================================*/
7 
8 /*
9   This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11   Copyright (C) 1998-2021 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 #include "cs_defs.h"
31 
32 /*----------------------------------------------------------------------------
33  * Standard C library headers
34  *----------------------------------------------------------------------------*/
35 
36 /*----------------------------------------------------------------------------
37  *  Local headers
38  *----------------------------------------------------------------------------*/
39 
40 BEGIN_C_DECLS
41 
42 /*============================================================================
43  * Type definitions
44  *============================================================================*/
45 
46 /* compressible model general options descriptor */
47 /*-----------------------------------------------*/
48 
49 typedef struct {
50 
51   int           ieos;             /* indicator of equation of state */
52 
53   int           ithvar;           /* indicator for thermodynamic
54                                      variables initialization */
55 
56   double        psginf;       /* stiffened gas limit pressure (zero in
57                                  perfect gas) (Pa) for single phase model */
58 
59   double        gammasg;      /* stiffened gas polytropic coefficient,
60                                  (dimensionless) for single phase model */
61 
62   int           hgn_relax_eq_st;  /* source term step:
63                                      - -1 disabled
64                                      -  0 enabled
65                                    */
66 
67 } cs_cf_model_t;
68 
69 typedef enum {
70 
71   CS_EOS_IDEAL_GAS             = 1,
72 
73   CS_EOS_STIFFENED_GAS         = 2,
74 
75   CS_EOS_GAS_MIX               = 3,
76 
77   CS_EOS_HOMOGENEOUS_TWO_PHASE = 4
78 
79 } cs_cf_model_eos_t;
80 
81 /*============================================================================
82  * Static global variables
83  *============================================================================*/
84 
85 /* pointer to main compressible model descriptor structure */
86 
87 extern const cs_cf_model_t         *cs_glob_cf_model;
88 
89 /*=============================================================================
90  * Public function definitions
91  *============================================================================*/
92 
93 /*----------------------------------------------------------------------------*/
94 /*!
95  * \brief Provide access to compressible model global structure cs_glob_cf_model
96  */
97 /*----------------------------------------------------------------------------*/
98 
99 cs_cf_model_t *
100 cs_get_glob_cf_model(void);
101 
102 /*----------------------------------------------------------------------------*/
103 
104 END_C_DECLS
105 
106 #endif /* __CS_CF_MODEL_H__ */
107