8.1
general documentation
cs_gwf_hydraulic_model.h
Go to the documentation of this file.
1 #ifndef __CS_GWF_HYDRAULIC_MODEL_H__
2 #define __CS_GWF_HYDRAULIC_MODEL_H__
3 
4 /*============================================================================
5  * Structures related to the hydraulic models available in the GWF module
6  *============================================================================*/
7 
8 /*
9  This file is part of code_saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2023 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  * Local headers
30  *----------------------------------------------------------------------------*/
31 
32 #include "cs_defs.h"
33 
34 #include "cs_equation_system.h"
35 #include "cs_gwf_priv.h"
36 #include "cs_param_sles.h"
37 
38 /*----------------------------------------------------------------------------*/
39 
41 
42 /*============================================================================
43  * Macro definitions
44  *============================================================================*/
45 
46 /*============================================================================
47  * Type definitions
48  *============================================================================*/
49 
50 /* ++++++++++++++++++++++++++++++++++++++++++++++ */
51 /* Saturated single-phase flows in a porous media */
52 /* ++++++++++++++++++++++++++++++++++++++++++++++ */
53 
63 typedef struct {
64 
77 
90 
102 
118 
123 } cs_gwf_sspf_t;
124 
125 /* ++++++++++++++++++++++++++++++++++++++++++++++++ */
126 /* Unsaturated single-phase flows in a porous media */
127 /* ++++++++++++++++++++++++++++++++++++++++++++++++ */
128 
137 typedef struct {
138 
150 
163 
185 
222 
224 
229 } cs_gwf_uspf_t;
230 
231 /* +++++++++++++++++++++++++++++++++ */
232 /* Two-phase flows in a porous media */
233 /* +++++++++++++++++++++++++++++++++ */
234 
258 typedef enum {
259 
263 
265 
267 
275 typedef enum {
276 
281 
283 
285 
287 
315 typedef struct {
316 
317  /* Set of equations associated to this modelling */
318 
331 
339 
346 
353 
360 
382 
454 
455  /* Properties associated to a discret term in the system of equations */
456 
461 
464 
467 
470 
472 
475 
503 
522 
561 
569 
637  double cell_weight;
643 
649 
651 
656 } cs_gwf_tpf_t;
657 
658 
666 typedef struct {
667 
692 
713 
726 
731 } cs_gwf_t;
732 
733 /*============================================================================
734  * Public function prototypes
735  *============================================================================*/
736 
737 /*----------------------------------------------------------------------------*/
738 
740 
741 #endif /* __CS_GWF_HYDRAULIC_MODEL_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
#define END_C_DECLS
Definition: cs_defs.h:515
unsigned short int cs_flag_t
Definition: cs_defs.h:321
cs_gwf_tpf_approx_type_t
Type of approximation used for the computation of unsteady or diffusion properties.
Definition: cs_gwf_hydraulic_model.h:275
@ CS_GWF_TPF_APPROX_PC_CELL_VERTEX_AVERAGE
Definition: cs_gwf_hydraulic_model.h:278
@ CS_GWF_TPF_N_APPROX
Definition: cs_gwf_hydraulic_model.h:284
@ CS_GWF_TPF_APPROX_PC_VERTEX_AVERAGE
Definition: cs_gwf_hydraulic_model.h:280
@ CS_GWF_TPF_APPROX_VERTEX_SUBCELL
Definition: cs_gwf_hydraulic_model.h:282
@ CS_GWF_TPF_APPROX_PC_CELL_AVERAGE
Definition: cs_gwf_hydraulic_model.h:277
@ CS_GWF_TPF_APPROX_PC_EDGE_AVERAGE
Definition: cs_gwf_hydraulic_model.h:279
cs_gwf_tpf_solver_type_t
Type of solver considered for a two-phase flow model.
Definition: cs_gwf_hydraulic_model.h:258
@ CS_GWF_TPF_SOLVER_PLPC_COUPLED
Definition: cs_gwf_hydraulic_model.h:261
@ CS_GWF_TPF_SOLVER_PLPG_SEGREGATED
Definition: cs_gwf_hydraulic_model.h:262
@ CS_GWF_TPF_SOLVER_PCPG_COUPLED
Definition: cs_gwf_hydraulic_model.h:260
@ CS_GWF_TPF_N_SOLVERS
Definition: cs_gwf_hydraulic_model.h:264
cs_gwf_model_type_t
Type of system of equation(s) to consider for the physical modelling.
Definition: cs_gwf_param.h:126
Structure and routines handling the SLES settings stored inside a cs_param_sles_t structure.
cs_param_nl_algo_t
Class of non-linear iterative algorithm.
Definition: cs_param_types.h:552
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
Definition: cs_equation_param.h:192
Main structure to handle a set of coupled equations.
Definition: cs_equation_system.h:123
Main structure to handle the discretization and the resolution of an equation.
Field descriptor.
Definition: cs_field.h:131
Structure to handle the Darcy flux.
Structure to handle the modelling of a single-phase flows in a porous media considered as saturated.
Definition: cs_gwf_hydraulic_model.h:63
cs_gwf_darcy_flux_t * darcy
Definition: cs_gwf_hydraulic_model.h:89
cs_equation_t * richards
Definition: cs_gwf_hydraulic_model.h:76
cs_property_t * moisture_content
Definition: cs_gwf_hydraulic_model.h:101
cs_field_t * pressure_head
Definition: cs_gwf_hydraulic_model.h:117
Main set of parameters/structures to manage the groundwater flow (GWF) module. This is an explicit de...
Definition: cs_gwf_hydraulic_model.h:666
cs_gwf_model_type_t model
Definition: cs_gwf_hydraulic_model.h:689
cs_flag_t flag
Definition: cs_gwf_hydraulic_model.h:690
cs_flag_t post_flag
Definition: cs_gwf_hydraulic_model.h:691
int verbosity
Definition: cs_gwf_hydraulic_model.h:688
cs_property_t * soil_porosity
Definition: cs_gwf_hydraulic_model.h:711
void * model_context
Definition: cs_gwf_hydraulic_model.h:725
cs_property_t * abs_permeability
Definition: cs_gwf_hydraulic_model.h:712
Structure to handle the modelling of miscible or immiscible two-phase flows in a porous media.
Definition: cs_gwf_hydraulic_model.h:315
double cell_weight
weight associated to the cell value w.r.t. to the values at vertices when a CS_GWF_TPF_APPROX_PC_CELL...
Definition: cs_gwf_hydraulic_model.h:637
cs_real_t henry_constant
Definition: cs_gwf_hydraulic_model.h:568
cs_real_t l_diffusivity_h
Definition: cs_gwf_hydraulic_model.h:565
cs_real_t h_molar_mass
Definition: cs_gwf_hydraulic_model.h:566
cs_property_t * diff_hl_pty
Definition: cs_gwf_hydraulic_model.h:469
cs_field_t * c_pressure
Definition: cs_gwf_hydraulic_model.h:499
cs_property_t * diff_wg_pty
Definition: cs_gwf_hydraulic_model.h:460
cs_param_nl_algo_t nl_algo_type
Definition: cs_gwf_hydraulic_model.h:644
cs_property_t * diff_hg_pty
Definition: cs_gwf_hydraulic_model.h:466
cs_equation_param_t * b01_w_eqp
Definition: cs_gwf_hydraulic_model.h:345
cs_property_t * time_hl_pty
Definition: cs_gwf_hydraulic_model.h:468
cs_iter_algo_param_aac_t anderson_param
Definition: cs_gwf_hydraulic_model.h:648
cs_field_t * l_saturation
Definition: cs_gwf_hydraulic_model.h:502
cs_property_t * diff_wl_pty
Definition: cs_gwf_hydraulic_model.h:458
cs_property_t * time_hc_pty
Definition: cs_gwf_hydraulic_model.h:462
cs_gwf_tpf_solver_type_t solver_type
Type of solver considered to solve the system of equations (choice of main unknowns and strategy of r...
Definition: cs_gwf_hydraulic_model.h:639
cs_property_t * diff_w_pty
Definition: cs_gwf_hydraulic_model.h:474
bool use_diffusion_view_for_darcy
Use a diffusion term for the discretization of the Darcy terms in the conservation equation for the m...
Definition: cs_gwf_hydraulic_model.h:642
cs_real_t * srct_h_array
Definition: cs_gwf_hydraulic_model.h:521
double upwind_weight
weight associated to the upwind value w.r.t. to the centered value There is no effect when CS_GWF_TPF...
Definition: cs_gwf_hydraulic_model.h:638
cs_real_t l_mass_density
Definition: cs_gwf_hydraulic_model.h:562
int nl_algo_verbosity
Definition: cs_gwf_hydraulic_model.h:645
cs_equation_t * w_eq
Definition: cs_gwf_hydraulic_model.h:330
cs_property_t * diff_g_pty
Definition: cs_gwf_hydraulic_model.h:473
cs_property_t * lsat_pty
Definition: cs_gwf_hydraulic_model.h:452
cs_real_t nl_relax_factor
Definition: cs_gwf_hydraulic_model.h:646
cs_real_t ref_temperature
Definition: cs_gwf_hydraulic_model.h:567
bool use_incremental_solver
When a model includes non-linearities it can be useful to formulate the problem using increment and t...
Definition: cs_gwf_hydraulic_model.h:641
cs_gwf_darcy_flux_t * g_darcy
Definition: cs_gwf_hydraulic_model.h:380
cs_equation_param_t * b10_h_eqp
Definition: cs_gwf_hydraulic_model.h:352
cs_real_t g_viscosity
Definition: cs_gwf_hydraulic_model.h:564
cs_field_t * g_pressure
Definition: cs_gwf_hydraulic_model.h:501
cs_real_t * srct_w_array
Definition: cs_gwf_hydraulic_model.h:520
cs_gwf_darcy_flux_t * t_darcy
Definition: cs_gwf_hydraulic_model.h:381
cs_property_t * time_wc_pty
Definition: cs_gwf_hydraulic_model.h:457
cs_property_t * time_hg_pty
Definition: cs_gwf_hydraulic_model.h:465
cs_property_t * reac_h_pty
Definition: cs_gwf_hydraulic_model.h:471
cs_property_t * krl_pty
Definition: cs_gwf_hydraulic_model.h:450
cs_gwf_darcy_flux_t * l_darcy
Definition: cs_gwf_hydraulic_model.h:379
cs_equation_system_t * system
Definition: cs_gwf_hydraulic_model.h:359
cs_property_t * krg_pty
Definition: cs_gwf_hydraulic_model.h:451
cs_iter_algo_t * nl_algo
Definition: cs_gwf_hydraulic_model.h:650
cs_param_sles_cvg_t nl_cvg_param
Definition: cs_gwf_hydraulic_model.h:647
bool is_miscible
Definition: cs_gwf_hydraulic_model.h:560
cs_gwf_tpf_approx_type_t approx_type
type of approximation used for the computation of diffusion, unsteady coefficients
Definition: cs_gwf_hydraulic_model.h:636
cs_property_t * lcap_pty
Definition: cs_gwf_hydraulic_model.h:453
cs_equation_t * h_eq
Definition: cs_gwf_hydraulic_model.h:338
bool use_coupled_solver
When a model relies on several coupled equations, there are two main options to build and solve the s...
Definition: cs_gwf_hydraulic_model.h:640
cs_field_t * l_pressure
Definition: cs_gwf_hydraulic_model.h:500
cs_real_t l_viscosity
Definition: cs_gwf_hydraulic_model.h:563
cs_property_t * diff_wc_pty
Definition: cs_gwf_hydraulic_model.h:459
cs_property_t * diff_hc_pty
Definition: cs_gwf_hydraulic_model.h:463
Structure to handle the modelling of a single-phase flows in a porous media considered as saturated o...
Definition: cs_gwf_hydraulic_model.h:137
cs_gwf_darcy_flux_t * darcy
Definition: cs_gwf_hydraulic_model.h:162
cs_field_t * moisture_field
Definition: cs_gwf_hydraulic_model.h:219
cs_equation_t * richards
Definition: cs_gwf_hydraulic_model.h:149
cs_property_t * soil_capacity
Definition: cs_gwf_hydraulic_model.h:184
cs_real_t * head_in_law
Definition: cs_gwf_hydraulic_model.h:223
cs_property_t * moisture_content
Definition: cs_gwf_hydraulic_model.h:183
cs_field_t * pressure_head
Definition: cs_gwf_hydraulic_model.h:221
cs_field_t * capacity_field
Definition: cs_gwf_hydraulic_model.h:220
cs_field_t * permeability_field
Definition: cs_gwf_hydraulic_model.h:218
cs_property_t * permeability
Definition: cs_gwf_hydraulic_model.h:182
Structure storing all the parameters to drive the algorithm called Anderson acceleration.
Definition: cs_iter_algo.h:137
Structure to handle the convergence of an iterative algorithm.
Definition: cs_iter_algo.h:289
Set of parameters to check the convergence (or the divergence) of an iterative process (tolerances or...
Definition: cs_param_sles.h:61
Structure associated to the definition of a property relying on the cs_xdef_t structure.