Structure to handle the modelling of miscible or immiscible two-phase flows in a porous media. More...
#include <cs_gwf_hydraulic_model.h>
Data Fields | |
Equations and system of equations | |
cs_equation_t * | w_eq |
cs_equation_t * | h_eq |
cs_equation_param_t * | b01_w_eqp |
cs_equation_param_t * | b10_h_eqp |
cs_equation_system_t * | system |
Darcy (advection) fields | |
cs_gwf_darcy_flux_t * | l_darcy |
cs_gwf_darcy_flux_t * | g_darcy |
cs_gwf_darcy_flux_t * | t_darcy |
Properties related to the model | |
cs_property_t * | krl_pty |
cs_property_t * | krg_pty |
cs_property_t * | lsat_pty |
cs_property_t * | lcap_pty |
cs_property_t * | time_wc_pty |
cs_property_t * | diff_wl_pty |
cs_property_t * | diff_wc_pty |
cs_property_t * | diff_wg_pty |
cs_property_t * | time_hc_pty |
cs_property_t * | diff_hc_pty |
cs_property_t * | time_hg_pty |
cs_property_t * | diff_hg_pty |
cs_property_t * | time_hl_pty |
cs_property_t * | diff_hl_pty |
cs_property_t * | reac_h_pty |
cs_property_t * | diff_g_pty |
cs_property_t * | diff_w_pty |
Additional fields | |
cs_field_t * | c_pressure |
cs_field_t * | l_pressure |
cs_field_t * | g_pressure |
cs_field_t * | l_saturation |
Additional arrays | |
cs_real_t * | srct_w_array |
cs_real_t * | srct_h_array |
Physical model parameters | |
bool | is_miscible |
cs_real_t | l_mass_density |
cs_real_t | l_viscosity |
cs_real_t | g_viscosity |
cs_real_t | l_diffusivity_h |
cs_real_t | h_molar_mass |
cs_real_t | ref_temperature |
cs_real_t | henry_constant |
Numerical parameters | |
cs_gwf_tpf_approx_type_t | approx_type |
type of approximation used for the computation of diffusion, unsteady coefficients More... | |
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_VERTEX_AVERAGE choice is set for 'approx_type'. If the value is < 0 or > 1, then the default settings is kept. More... | |
double | upwind_weight |
weight associated to the upwind value w.r.t. to the centered value There is no effect when CS_GWF_TPF_APPROX_VERTEX_SUBCELL is chosen to approximate coefficients. If the value is < 0 or > 1, then the default settings is kept. More... | |
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 resolution (coupled/segregated)) More... | |
bool | use_coupled_solver |
When a model relies on several coupled equations, there are two main options to build and solve the system of equations. Either use a coupled solver (and thus build a coupled system) or use a segregated approach and an associated strategy to solve the sequence of equations and apply sub-iterations. The latter case (segregated solver) corresponds to the default choice. true if a coupled solver is used. Otherwise a segregated solver is considered. More... | |
bool | use_incremental_solver |
When a model includes non-linearities it can be useful to formulate the problem using increment and to iterate on the non-linear process (for instance whith a Picard or Anderson acceleration) More... | |
bool | use_diffusion_view_for_darcy |
Use a diffusion term for the discretization of the Darcy terms in the conservation equation for the mass of hydrogen. The default option is to consuder an advection term since it should be more robust as upwinding technique can be used. More... | |
cs_param_nl_algo_t | nl_algo_type |
int | nl_algo_verbosity |
cs_real_t | nl_relax_factor |
cs_param_sles_cvg_t | nl_cvg_param |
cs_iter_algo_param_aac_t | anderson_param |
cs_iter_algo_t * | nl_algo |
Structure to handle the modelling of miscible or immiscible two-phase flows in a porous media.
The model follows what is depicted in "Finite volume approximation of a diffusion-dissolution model and application to nuclear waste storage" O. Angelini, C. Chavant, E. Chénier, R. Eymard and S. Granet in Mathematics and Computers in Simulation (2011), 81 (10), pp. 2001–2017
Main assumptions are:
Notations are the following :
anderson_param |
Set of parameters to drive the Anderson acceleration (useful if the type of non-linear algorithm is set to the Anderson acceleration).
approx_type |
type of approximation used for the computation of diffusion, unsteady coefficients
b01_w_eqp |
Parameters associated to the (0,1) block in the system of equations. Water conservation w.r.t. the capillarity pressure.
b10_h_eqp |
Parameters associated to the (1,0) block in the system of equations. Conservation of the hydrogen w.r.t. the capillarity pressure.
c_pressure |
Pointer to a cs_field_t structure named "capillarity_pressure". Capillarity pressure
cell_weight |
weight associated to the cell value w.r.t. to the values at vertices when a CS_GWF_TPF_APPROX_PC_CELL_VERTEX_AVERAGE choice is set for 'approx_type'. If the value is < 0 or > 1, then the default settings is kept.
diff_g_pty |
Property used in the definition of the Darcy flux in the gas phase
diff_hc_pty |
Property related to the diffusion term of the hydrogen conservation equation w.r.t. the capillarity pressure
diff_hg_pty |
Property related to the diffusion term of the hydrogen conservation equation w.r.t. the pressure in the gas phase
diff_hl_pty |
Property related to the diffusion term of the hydrogen conservation equation w.r.t. the pressure in the liquid phase
cs_property_t* diff_w_pty |
diff_wc_pty |
Property related to the diffusion term of the water conservation equation w.r.t. the capillarity
diff_wg_pty |
Property related to the diffusion term of the water conservation equation w.r.t. the pressure in the gas phase
diff_wl_pty |
Property related to the diffusion term of the water conservation equation w.r.t. the pressure in the liquid phase
g_darcy |
Pointer to a cs_gwf_darcy_flux_t structure. Darcy advective flux in the gas phase
g_pressure |
Pointer to a cs_field_t structure named "gas_pressure". Pressure in the gas phase is denoted by .
g_viscosity |
Viscosity in the gas phase (assumed to be constant) in Pa.s
h_eq |
Equation of mass conservation for (di)hydrogen. Hydrogen can be present in the liquid or in the gaseous phase. This corresponds to the M_10 and M_11 blocks in the system of equations along with the b_h right-hand side
h_molar_mass |
Molar mass of the main component in the gas phase (e.g. hydrogen) in kg.mol^-1
henry_constant |
Value of the Henry constant used in the Henry's law. Setting a very low value for this constant enables the model to degenerate into an immiscible model.
is_miscible |
true or false. Some simplifications can be done if immiscible.
krg_pty |
Property related to the relative permeability in the gas phase
krl_pty |
Property related to the relative permeability in the liquid phase
l_darcy |
Pointer to a cs_gwf_darcy_flux_t structure. Darcy advective flux in the liquid phase
l_diffusivity_h |
Molecular diffusivity of the hydrogen in the liquid phase in m^2.s^-1
l_mass_density |
Mass density in the liquid phase. With the model assumptions, this corresponds to the mass density of the main component in the liquid phase (e.g. water) in kg.m^-3
l_pressure |
Pointer to a cs_field_t structure named "liquid_pressure". Pressure in the liquid phase is denoted by .
l_saturation |
Pointer to a cs_field_t structure. Liquid saturation at cells. This quantity is denoted by and is defined by the soil model
l_viscosity |
Viscosity in the liquid phase (assumed to be constant) in Pa.s
lcap_pty |
Property related to the liquid capacity (derivative of the liquid saturation w.r.t. the capillarity pressure)
lsat_pty |
Property related to the liquid saturation
nl_algo |
Structure used to manage the non-linearities
nl_algo_type |
Type of algorithm to solve the non-linearities
nl_algo_verbosity |
Level of verbosity for the algorithm solving the non-linearities
nl_cvg_param |
Set of parameters to drive the convergence of the non-linear solver
nl_relax_factor |
Value of the relaxation factor in the non-linear algorithm. A classical choice is between 0.70 and 0.95
reac_h_pty |
Property related to the reaction term of the hydrogen conservation equation w.r.t. the pressure in the gas phase. Only used when a segregated solver is considered.
ref_temperature |
Reference temperature used in the "perfect gas" law (this is used when no thermal equation is solved). One expects a temperature in Kelvin.
solver_type |
Type of solver considered to solve the system of equations (choice of main unknowns and strategy of resolution (coupled/segregated))
srct_h_array |
Values of the source terms for the hydrogen conservation equation. Only used if a segregated solver is considered. Size = n_cells or c2v->idx[n_cells] if the definition relies on a submesh
srct_w_array |
Values of the source terms for the water conservation equation. Only used if a segregated solver is considered. Size = n_cells or c2v->idx[n_cells] if the definition relies on a submesh
system |
System of equations (w_eq, h_eq and the cross-terms defined in the related cs_equation_param_t structures) used for the coupled approach
t_darcy |
Pointer to a cs_gwf_darcy_flux_t structure. Darcy advective flux for the total flux (linear combination of the liquid/gas Darcy flux)
time_hc_pty |
Property related to the unsteady term of the hydrogen conservation equation w.r.t. the capillarity pressure
time_hg_pty |
Property related to the unsteady term of the hydrogen conservation equation w.r.t. the pressure in the gas phase
time_hl_pty |
Property related to the unsteady term of the hydrogen conservation equation w.r.t. the pressure in the liquid phase.
time_wc_pty |
Property related to the unsteady term of the water conservation equation w.r.t. the capillarity pressure
upwind_weight |
weight associated to the upwind value w.r.t. to the centered value There is no effect when CS_GWF_TPF_APPROX_VERTEX_SUBCELL is chosen to approximate coefficients. If the value is < 0 or > 1, then the default settings is kept.
use_coupled_solver |
When a model relies on several coupled equations, there are two main options to build and solve the system of equations. Either use a coupled solver (and thus build a coupled system) or use a segregated approach and an associated strategy to solve the sequence of equations and apply sub-iterations. The latter case (segregated solver) corresponds to the default choice. true if a coupled solver is used. Otherwise a segregated solver is considered.
use_diffusion_view_for_darcy |
Use a diffusion term for the discretization of the Darcy terms in the conservation equation for the mass of hydrogen. The default option is to consuder an advection term since it should be more robust as upwinding technique can be used.
use_incremental_solver |
When a model includes non-linearities it can be useful to formulate the problem using increment and to iterate on the non-linear process (for instance whith a Picard or Anderson acceleration)
w_eq |
Equation of mass conservation for water. Only the liquid phase is considered. One assumes no water vapour in the gaseous phase. This corresponds to the M_00 and M_01 blocks in the system of equations and to the b_w right-hand side.