Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources. More...
#include <cs_equation_param.h>
Data Fields | |
General settings | |
char *restrict | name |
cs_equation_type_t | type |
int | dim |
union { | |
int verbosity | |
int iwarni | |
}; | |
cs_flag_t | flag |
cs_flag_t | post_flag |
cs_param_space_scheme_t | space_scheme |
cs_param_dof_reduction_t | dof_reduction |
int | space_poly_degree |
Legacy Settings | |
int | iconv |
int | istat |
int | idircl |
int | ndircl |
int | idiff |
int | idifft |
int | idften |
int | iswdyn |
int | ischcv |
int | ibdtso |
int | isstpc |
int | nswrgr |
int | nswrsm |
int | imvisf |
int | imrgra |
int | imligr |
int | ircflu |
int | iwgrec |
int | icoupl |
double | thetav |
double | blencv |
double | blend_st |
double | epsilo |
double | epsrsm |
double | epsrgr |
double | climgr |
double | relaxv |
Settings for the boundary conditions | |
cs_param_bc_type_t | default_bc |
int | n_bc_defs |
cs_xdef_t ** | bc_defs |
cs_param_bc_enforce_t | default_enforcement |
cs_real_t | strong_pena_bc_coeff |
cs_real_t | weak_pena_bc_coeff |
Numerical settings for the time-dependent parameters | |
int | n_ic_defs |
cs_xdef_t ** | ic_defs |
bool | do_lumping |
cs_hodge_param_t | time_hodgep |
cs_property_t * | time_property |
cs_param_time_scheme_t | time_scheme |
cs_real_t | theta |
Numerical settings for the diffusion (Laplacian div-grad) term | |
cs_hodge_param_t | diffusion_hodgep |
cs_property_t * | diffusion_property |
Numerical settings for the curl-curl term | |
cs_hodge_param_t | curlcurl_hodgep |
cs_property_t * | curlcurl_property |
Numerical settings for the grad-div term | |
cs_hodge_param_t | graddiv_hodgep |
cs_property_t * | graddiv_property |
Numerical settings for the advection term | |
cs_param_advection_form_t | adv_formulation |
cs_param_advection_scheme_t | adv_scheme |
cs_param_advection_strategy_t | adv_strategy |
cs_param_advection_extrapol_t | adv_extrapol |
cs_real_t | upwind_portion |
cs_adv_field_t * | adv_field |
cs_property_t * | adv_scaling_property |
Numerical settings for the reaction term | |
The contribution of a reaction term to the algebraic system is either at the left-hand and/or right-hand side according to the choice of time scheme | |
cs_hodge_param_t | reaction_hodgep |
int | n_reaction_terms |
cs_property_t ** | reaction_properties |
Definition of the related source terms | |
The contribution of a source term to the algebraic system is always at right-hand side whatever is the choice of time scheme | |
int | n_source_terms |
cs_xdef_t ** | source_terms |
Definition of the related volume mass injection | |
The contribution of a volume mass injection to the algebraic system is always at right-hand side whatever is the choice of time scheme, and is defined in a manner similar to boundary conditions. For variables whose injection value matches the "ambient" value, no term needs to be added. | |
int | n_volume_mass_injections |
cs_xdef_t ** | volume_mass_injections |
Enforcement of values inside the computational domain | |
This is different from the enforcement of boundary conditions but rely on the same algebraic manipulation. Only an algebraic manipulation is used to enforce interior/border DoFs. | |
int | n_enforcements |
cs_enforcement_param_t ** | enforcement_params |
Settings related to the resolution of the algebraic system | |
cs_param_sles_t * | sles_param |
cs_param_nl_algo_t | incremental_algo_type |
cs_iter_algo_param_t | incremental_algo_param |
cs_real_t | incremental_relax_factor |
cs_iter_algo_param_aa_t | incremental_anderson_param |
Settings related to the optimization of the performance | |
cs_param_assemble_omp_strategy_t | omp_assembly_choice |
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
union { ... } |
adv_extrapol |
Extrapolation used to estimate the advection field (please refer to cs_param_advection_extrapol_t)
adv_field |
Pointer to the cs_adv_field_t structure associated to the advection term
adv_formulation |
Type of formulation (conservative, non-conservative...) for the advective term
adv_scaling_property |
May be set to NULL even if the advection term is activated. The value of this property in each cell is multiplicative coefficient in front of the advection term (boundary terms are also considered) This is useful to treat the thermal module using the variable temperature instead of the enthalpy for instance or in the solidification module.
adv_scheme |
Numerical scheme used for the discretization of the advection term
adv_strategy |
Strategy used to handle the advection term (please refer to cs_param_advection_strategy_t)
bc_defs |
Pointers to the definitions of the boundary conditions
blencv |
blend_st |
climgr |
For least squares gradients, factor of gradient limitation (high value means little limitation).
Relevant for all the variables using least-squares gradientsfor which imligr > CS_GRADIENT_LIMIT_NONE.
curlcurl_hodgep |
Set of parameters for the discrete Hodge operator related to the curl-curl operator
curlcurl_property |
Pointer to the property related to the curl-curl term
default_bc |
Default boundary condition related to this equation. Valid choices:
default_enforcement |
Type of strategy to enforce an essential boundary conditions (Dirichlet for instance) when no predefined strategy is prescribed. See cs_param_bc_enforce_t for more details.
diffusion_hodgep |
Set of parameters for the discrete Hodge operator related to the diffusion
diffusion_property |
Pointer to the property related to the diffusion term
int dim |
Dimension of the unknown
do_lumping |
Set to true or false. Activate several actions: Perform a mass lumping of the matrices related to the time and reaction discretization. All source terms are evaluated using a barycentric quadrature.
cs_param_dof_reduction_t dof_reduction |
How is defined DoF
enforcement_params |
Array of cs_enforcement_param_t structures storing the settings of each enforcement
epsilo |
epsrgr |
Relative precision for the iterative gradient reconstruction. (when imrgra = 0).
epsrsm |
Relative precision on the reconstruction of the right hand-side. The default is epsrsm = . When there are not enough iterations on the reconstruction of the right-hand side of the equation, the value may be increased (by default, in case of second-order in time, with nswrsm = 5 or 10, epsrsm is increased to
).
flag |
Flag to know if unsteady or diffusion or convection or reaction or source terms are activated or not
graddiv_hodgep |
Set of parameters for the discrete Hodge operator related to the grad-div operator
graddiv_property |
Pointer to the property related to the grad-div term
ibdtso |
Backward differential scheme in time order.
ic_defs |
List of pointers to the definition of the inititial condition
iconv |
Indicate if the convection is taken into account (1) or not (0). By default, 0 for the pressure or f in v2f model, 1 for the other unknowns.
icoupl |
Internal coupling indicator
idften |
Type of diffusivity flag (sum of mask constants defining if diffusivity is isotropic, anisotropic, ... Masks are defined in Transported scalars parameters).
idiff |
Indifcate if diffusion is taken into account (1) or not (0).
idifft |
idircl |
Indicate whether the diagonal of the matrix should be slightly shifted if there is no Dirichlet boundary condition and if istat = 0 (0: false / 1: true). Indeed, in such a case, the matrix for the general advection/diffusion equation is singular. A slight shift in the diagonal will make it invertible again. By default, idircl is set to 1 for all the unknowns, except in the v2f model (whose equation already contain another diagonal term).
imligr |
Type of gradient limiter
imrgra |
Type of gradient reconstruction
imvisf |
Face viscosity field interpolation
incremental_algo_param |
Set of parameters to manage an iterative algorithm
incremental_algo_type |
Type of algorithm used to handle a (non-linear) incremental resolution
incremental_anderson_param |
Set of parameters dedicated to the driving of the Anderson acceleration. This is only useful if the incremental_algo_type is set to the Anderson acceleration.
incremental_relax_factor |
strictly positive value for the relaxation of the incremental algorithm A recommanded range is between 0.5 and 0.9
ircflu |
Indicate whether the convective and diffusive fluxes at the faces should be reconstructed:
ischcv |
Indicate the type of second-order convective scheme
isstpc |
Indicate whether a slope test should be used to switch from a second-order to an upwind convective scheme under certain conditions, to ensure stability.
istat |
Indicate whether unsteady terms are present (1) or not (0) in the matrices. By default, 0 for the pressure or f in v2f model, 1 for the other unknowns.
iswdyn |
Dynamic relaxation type:
iwarni |
iwgrec |
Gradient calculation weighting
n_bc_defs |
Number of boundary conditions which are defined for this equation
n_enforcements |
Number of enforcements which have been specified
n_ic_defs |
Number of definitions for setting the intial condition
n_reaction_terms |
Number of reaction terms to consider.
n_source_terms |
Number of source terms to consider.
n_volume_mass_injections |
Number of volume injections to consider.
char* restrict name |
name of the equation
ndircl |
Number of Dirichlet BCs
nswrgr |
nswrsm |
Iteration limit for the reconstruction of the right-hand sides of the equations with a first-order scheme in time (standard case), the default values are 2 for pressure and 1 for the other variables. With a second-order scheme in time (ischtp = 2) or LES, the default values are 5 for pressure and 10 for the other variables.
omp_assembly_choice |
When OpenMP is active, choice of parallel reduction for the assembly
post_flag |
Flag to determine if predefined post-treatments such as Peclet, are requested
reaction_hodgep |
Set of parameters for the discrete Hodge operator related to the reaction terms
reaction_properties |
List of properties associated to each reaction term
relaxv |
Relaxation coefficient for the associated variable. This relaxation parameter is only useful for the pressure with the unsteady algorithm (so as to improve the convergence in case of meshes of insufficient quality or of some turbulent models (k-epsilon, v2f, k-omega) and ikecou = 0; if ikecou = 1, relaxv is ignored.
Default values are 0.7 for turbulent variables and 1. for pressure. relaxv also stores the value of the relaxation coefficient when using the steady algorithm, deduced from the value of relxst (defaulting to relaxv = 1. - relxst).
Used only for the pressure and for turbulent variables ( , v2f or
models without coupling) with the unsteady algorithm. Always used with the steady algorithm.
sles_param |
Set of parameters to specify how to to solve the algebraic system
source_terms |
List of definition of each source term
space_poly_degree |
Maximum degree of the polynomial basis
cs_param_space_scheme_t space_scheme |
Space discretization scheme
strong_pena_bc_coeff |
Value of the penalization coefficient used to enforce the Dirichlet boundary conditions when CS_PARAM_BC_ENFORCE_PENALIZED is set. This value should be sufficiently large in order to neglect off-diagonal terms.
theta |
Value of the coefficient for a theta scheme (between 0 and 1)
thetav |
Value of used to express at the second order the terms of convection, diffusion and the source terms which are linear functions of the solved variable, according to the formula
. Generally, only the values 1 and 0.5 are used. The user is not allowed to modify this variable.
time_hodgep |
Set of parameters for the discrete Hodge operator related to the unsteady term
time_property |
Pointer to the cs_property_t structure related to the unsteady term
time_scheme |
Type of numerical scheme used for the time discretization
cs_equation_type_t type |
type of equation: predefined...
upwind_portion |
Value between 0. and 1. (0: centered scheme, 1: pure upwind scheme) Introduce a constant portion of upwinding in a centered scheme Only useful if the advection scheme is set to CS_PARAM_ADVECTION_SCHEME_HYBRID_CENTERED_UPWIND
verbosity |
Verbosity for the resolution (0 or 1 for a reasonable log size, 2 or more for troubleshooting).
volume_mass_injections |
List of definitions of injection values
weak_pena_bc_coeff |
Value of the penalization coefficient used to enforce the Dirichlet boundary condition when CS_PARAM_BC_ENFORCE_WEAK_NITSCHE or CS_PARAM_BC_ENFORCE_WEAK_SYM is set. This two latter strategies have a lesser influence on the conditioning number of the linear system than the choice CS_PARAM_BC_ENFORCE_PENALIZED