Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources. More...
#include <cs_equation_param.h>
Data Fields | |
bool | time_control_owner |
cs_time_control_t * | time_control |
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 |
union { | |
double theta | |
double thetav | |
}; | |
double | blencv |
double | blend_st |
double | epsilo |
double | epsrsm |
double | epsrgr |
double | climgr |
cs_real_t | b_climgr |
double | relaxv |
int | b_gradient_r |
int | b_diff_flux_rc |
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 |
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 |
double | cip_scaling_coef |
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_saddle_t * | saddle_param |
cs_param_nl_algo_t | incremental_algo_type |
cs_param_convergence_t | incremental_algo_cvg |
cs_real_t | incremental_relax_factor |
cs_iter_algo_param_aac_t | incremental_anderson_param |
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
union { ... } |
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.
union { ... } |
name of the equation
cs_param_advection_extrapol_t adv_extrapol |
Extrapolation used to estimate the advection field (please refer to cs_param_advection_extrapol_t)
cs_adv_field_t* adv_field |
Pointer to the cs_adv_field_t structure associated to the advection term
cs_param_advection_form_t adv_formulation |
Type of formulation (conservative, non-conservative...) for the advective term
cs_property_t* adv_scaling_property |
May be set to NULL even if the advection term is activated. The value of this property in each cell is a 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.
cs_param_advection_scheme_t adv_scheme |
Numerical scheme used for the discretization of the advection term
cs_param_advection_strategy_t adv_strategy |
Strategy used to handle the advection term (please refer to cs_param_advection_strategy_t)
cs_real_t b_climgr |
For least squares gradients, boundary factor of gradient limitation (high value means little limitation).
Relevant for all the variables using least-squares gradients for which imligr > CS_GRADIENT_LIMIT_NONE.
int b_diff_flux_rc |
Indicate whether the fluxes (convective and diffusive) and boundary conditions at the faces should be reconstructed:
int b_gradient_r |
Type of boundary gradient reconstruction Same codes as for imrgra (default is 2: least-squares, using extended neighborhood if available)
cs_xdef_t** bc_defs |
Pointers to the definitions of the boundary conditions
double blencv |
double blend_st |
double cip_scaling_coef |
Value of the scaling coefficient in front of the stabilization term when a CIP scheme is used (cf. CS_PARAM_ADVECTION_SCHEME_CIP or CS_PARAM_ADVECTION_SCHEME_CIP_CW). By default, this is set to -1.0 and later modified automatically if not modified by a user. Should be > 0.
double climgr |
For least squares gradients, volumic factor of gradient limitation (high value means little limitation).
Relevant for all the variables using least-squares gradients for which imligr > CS_GRADIENT_LIMIT_NONE.
cs_hodge_param_t curlcurl_hodgep |
Set of parameters for the discrete Hodge operator related to the curl-curl operator
cs_property_t* curlcurl_property |
Pointer to the property related to the curl-curl term
cs_param_bc_type_t default_bc |
Default boundary condition related to this equation. Valid choices:
cs_param_bc_enforce_t 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.
cs_hodge_param_t diffusion_hodgep |
Set of parameters for the discrete Hodge operator related to the diffusion
cs_property_t* diffusion_property |
Pointer to the property related to the diffusion term
int dim |
Dimension of the unknown
bool 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
cs_enforcement_param_t** enforcement_params |
Array of cs_enforcement_param_t structures storing the settings of each enforcement
double epsilo |
double epsrgr |
Relative precision for the iterative gradient reconstruction. (when imrgra = 0).
double epsrsm |
Relative precision on the reconstruction of the right hand-side. The default is epsrsm =
cs_flag_t flag |
Flag to know if unsteady or diffusion or convection or reaction or source terms are activated or not
cs_hodge_param_t graddiv_hodgep |
Set of parameters for the discrete Hodge operator related to the grad-div operator
cs_property_t* graddiv_property |
Pointer to the property related to the grad-div term
int ibdtso |
Backward differential scheme in time order.
cs_xdef_t** ic_defs |
List of pointers to the definition of the inititial condition
int 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.
int icoupl |
Internal coupling indicator
int idften |
Type of diffusivity flag (sum of mask constants defining if diffusivity is isotropic, anisotropic, ... Masks are defined in Transported scalars parameters).
int idiff |
Indifcate if diffusion is taken into account (1) or not (0).
int idifft |
int 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
int imligr |
Type of gradient limiter
int imrgra |
Type of gradient reconstruction
int imvisf |
Face viscosity field interpolation
cs_param_convergence_t incremental_algo_cvg |
Set of parameters to drive the convergence of the incremental algorithm
cs_param_nl_algo_t incremental_algo_type |
Type of algorithm used to handle a (non-linear) incremental resolution
cs_iter_algo_param_aac_t 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.
cs_real_t incremental_relax_factor |
strictly positive value for the relaxation of the incremental algorithm A recommanded range is between 0.5 and 0.9
int ircflu |
Indicate whether the convective and diffusive fluxes at the faces should be reconstructed:
int ischcv |
Indicate the type of second-order convective scheme
int 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.
int 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.
int iswdyn |
Dynamic relaxation type:
int iwarni |
int iwgrec |
Gradient calculation weighting
int n_bc_defs |
Number of boundary conditions which are defined for this equation
int n_enforcements |
Number of enforcements which have been specified
int n_ic_defs |
Number of definitions for setting the intial condition
int n_reaction_terms |
Number of reaction terms to consider.
int n_source_terms |
Number of source terms to consider.
int n_volume_mass_injections |
Number of volume injections to consider.
char* restrict name |
name of the equation
int ndircl |
Number of Dirichlet BCs
int nswrgr |
int 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.
cs_flag_t post_flag |
Flag to determine if predefined post-treatments such as Peclet, are requested
cs_hodge_param_t reaction_hodgep |
Set of parameters for the discrete Hodge operator related to the reaction terms
cs_property_t** reaction_properties |
List of properties associated to each reaction term
double 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 (
cs_param_saddle_t* saddle_param |
Set of parameters to specify how to solve a saddle-point system. Up to now, only CDO cell-based schemes yield this type of problem. Other saddle-point problems arise when dealing with Stokes or Navier-Stokes equations with a monolithic velocity/pressure coupling. In the latter case, this is directly handled by the structures dedicated to the Navier-Stokes solver.
cs_param_sles_t* sles_param |
Set of parameters to specify how to to solve the algebraic system
cs_xdef_t** source_terms |
List of definition of each source term
int space_poly_degree |
Maximum degree of the polynomial basis
cs_param_space_scheme_t space_scheme |
Space discretization scheme
cs_real_t 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.
double theta |
Value of
double thetav |
cs_time_control_t* time_control |
bool time_control_owner |
cs_hodge_param_t time_hodgep |
Set of parameters for the discrete Hodge operator related to the unsteady term
cs_property_t* time_property |
Pointer to the cs_property_t structure related to the unsteady term
cs_param_time_scheme_t time_scheme |
Type of numerical scheme used for the time discretization
NB: theta is share with the legacy scheme
cs_equation_type_t type |
type of equation: predefined...
cs_real_t 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
int verbosity |
Verbosity for the resolution (0 or 1 for a reasonable log size, 2 or more for troubleshooting).
cs_xdef_t** volume_mass_injections |
List of definitions of injection values
cs_real_t 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