1 #ifndef __CS_EQUATION_PARAM_H__ 2 #define __CS_EQUATION_PARAM_H__ 78 #define CS_EQUATION_LOCKED (1 << 0) 79 #define CS_EQUATION_UNSTEADY (1 << 1) 80 #define CS_EQUATION_CONVECTION (1 << 2) 81 #define CS_EQUATION_DIFFUSION (1 << 3) 82 #define CS_EQUATION_REACTION (1 << 4) 83 #define CS_EQUATION_FORCE_VALUES (1 << 5) 104 #define CS_EQUATION_POST_BALANCE (1 << 0) 105 #define CS_EQUATION_POST_PECLET (1 << 1) 106 #define CS_EQUATION_POST_UPWIND_COEF (1 << 2) 107 #define CS_EQUATION_POST_NORMAL_FLUX (1 << 3) 838 if (eqp->
name == NULL)
840 if (strcmp(eqp->
name, name) == 0)
1119 const char *z_name);
cs_real_t * enforced_dof_values
Definition: cs_equation_param.h:375
cs_xdef_t * cs_equation_add_source_term_by_analytic(cs_equation_param_t *eqp, const char *z_name, cs_analytic_func_t *ana, void *input)
Define a new source term structure and initialize it by an analytical function.
Definition: cs_equation_param.c:2498
void cs_equation_summary_param(const cs_equation_param_t *eqp)
Summary of a cs_equation_param_t structure.
Definition: cs_equation_param.c:1651
Definition: cs_equation_param.h:657
cs_adv_field_t * adv_field
Definition: cs_equation_param.h:313
#define restrict
Definition: cs_defs.h:127
Definition: cs_equation_param.h:646
void() cs_analytic_func_t(cs_real_t time, cs_lnum_t n_elts, const cs_lnum_t *elt_ids, const cs_real_t *coords, bool compact, void *input, cs_real_t *retval)
Generic function pointer for an analytic function elt_ids is optional. If not NULL, it enables to access in coords at the right location and the same thing to fill retval if compact is set to false.
Definition: cs_param.h:66
cs_real_t theta
Definition: cs_equation_param.h:271
Definition: cs_equation_param.h:662
Definition: cs_advection_field.h:149
cs_flag_t flag
Definition: cs_equation_param.h:163
Definition: cs_equation_param.h:664
cs_flag_t process_flag
Definition: cs_equation_param.h:169
void cs_equation_enforce_vertex_dofs(cs_equation_param_t *eqp, cs_lnum_t n_elts, const cs_lnum_t elt_ids[], const cs_real_t elt_values[])
Add an enforcement of the value of degrees of freedom located at mesh vertices. The spatial discretiz...
Definition: cs_equation_param.c:2615
cs_xdef_t ** ic_defs
Definition: cs_equation_param.h:236
cs_param_advection_form_t adv_formulation
Definition: cs_equation_param.h:310
cs_param_assemble_omp_strategy_t
Definition: cs_param_cdo.h:91
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources...
Definition: cs_equation_param.h:148
Definition: cs_equation_param.h:647
cs_param_hodge_t time_hodge
Definition: cs_equation_param.h:268
cs_equation_type_t type
Definition: cs_equation_param.h:155
Definition: cs_equation_param.h:673
cs_xdef_t * cs_equation_add_ic_by_value(cs_equation_param_t *eqp, const char *z_name, cs_real_t *val)
Define the initial condition for the unknown related to this equation This definition can be done on ...
Definition: cs_equation_param.c:1951
cs_param_advection_scheme_t
Definition: cs_param.h:255
static bool cs_equation_param_has_time(const cs_equation_param_t *eqp)
Ask if the parameters of the equation needs an unsteady term.
Definition: cs_equation_param.h:769
cs_param_dof_reduction_t dof_reduction
Definition: cs_equation_param.h:173
cs_param_hodge_t diffusion_hodge
Definition: cs_equation_param.h:285
cs_param_space_scheme_t space_scheme
Definition: cs_equation_param.h:172
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
cs_real_t upwind_portion
Definition: cs_equation_param.h:312
static bool cs_equation_param_has_diffusion(const cs_equation_param_t *eqp)
Ask if the parameters of the equation needs a diffusion term.
Definition: cs_equation_param.h:709
int space_poly_degree
Definition: cs_equation_param.h:178
cs_property_t ** reaction_properties
Definition: cs_equation_param.h:336
Definition: cs_equation_param.h:654
cs_real_t strong_pena_bc_coeff
Definition: cs_equation_param.h:220
Definition: cs_equation_param.h:652
cs_xdef_t * cs_equation_add_bc_by_value(cs_equation_param_t *eqp, const cs_param_bc_type_t bc_type, const char *z_name, cs_real_t *values)
Define and initialize a new structure to set a boundary condition related to the given equation struc...
Definition: cs_equation_param.c:2118
Definition: cs_equation_param.h:650
cs_xdef_t * cs_equation_add_source_term_by_val(cs_equation_param_t *eqp, const char *z_name, cs_real_t *val)
Define a new source term structure and initialize it by value.
Definition: cs_equation_param.c:2450
cs_param_time_scheme_t time_scheme
Definition: cs_equation_param.h:270
cs_param_advection_form_t
Definition: cs_param.h:212
Definition: cs_equation_param.h:658
cs_xdef_t * cs_equation_add_bc_by_array(cs_equation_param_t *eqp, const cs_param_bc_type_t bc_type, const char *z_name, cs_flag_t loc, cs_real_t *array, bool is_owner, cs_lnum_t *index)
Define and initialize a new structure to set a boundary condition related to the given equation struc...
Definition: cs_equation_param.c:2178
double cs_real_t
Floating-point value.
Definition: cs_defs.h:302
#define CS_EQUATION_UNSTEADY
Unsteady term is needed.
Definition: cs_equation_param.h:79
Definition: cs_equation_param.h:668
cs_property_t * time_property
Definition: cs_equation_param.h:269
cs_real_t weak_pena_bc_coeff
Definition: cs_equation_param.h:221
Definition: cs_equation_param.h:670
void cs_equation_add_sliding_condition(cs_equation_param_t *eqp, const char *z_name)
Define and initialize a new structure to set a sliding boundary condition related to the given equati...
Definition: cs_equation_param.c:2305
void cs_equation_param_update_from(const cs_equation_param_t *ref, cs_equation_param_t *dst)
Copy the settings from one cs_equation_param_t structure to another one.
Definition: cs_equation_param.c:1088
Definition: cs_equation_param.h:671
Definition: cs_equation_param.h:137
cs_xdef_t ** source_terms
Definition: cs_equation_param.h:353
#define CS_EQUATION_CONVECTION
Convection term is needed.
Definition: cs_equation_param.h:80
Definition: cs_equation_param.h:669
Definition: cs_equation_param.h:649
int cs_equation_add_reaction(cs_equation_param_t *eqp, cs_property_t *property)
Define and initialize a new structure to store parameters related to a reaction term.
Definition: cs_equation_param.c:2417
cs_lnum_t * enforced_dof_ids
Definition: cs_equation_param.h:374
Definition: cs_equation_param.h:655
cs_param_assemble_omp_strategy_t omp_assembly_choice
Definition: cs_equation_param.h:400
static void cs_equation_param_set_flag(cs_equation_param_t *eqp, cs_flag_t flag)
Update the flag related to a cs_equation_param_t structure.
Definition: cs_equation_param.h:691
Definition: cs_equation_param.h:660
int dim
Definition: cs_equation_param.h:156
Definition: cs_equation_param.h:666
Definition: cs_equation_param.h:645
Definition: cs_equation_param.h:651
cs_xdef_t * cs_equation_add_bc_by_analytic(cs_equation_param_t *eqp, const cs_param_bc_type_t bc_type, const char *z_name, cs_analytic_func_t *analytic, void *input)
Define and initialize a new structure to set a boundary condition related to the given equation param...
Definition: cs_equation_param.c:2251
cs_property_t * diffusion_property
Definition: cs_equation_param.h:286
Definition: cs_equation_param.h:661
cs_param_time_scheme_t
Definition: cs_param.h:183
Definition: cs_equation_param.h:648
cs_param_dof_reduction_t
Definition: cs_param.h:151
char *restrict name
Definition: cs_equation_param.h:154
Definition: cs_equation_param.h:656
Definition: cs_equation_param.h:663
cs_xdef_t * cs_equation_add_source_term_by_array(cs_equation_param_t *eqp, const char *z_name, cs_flag_t loc, cs_real_t *array, bool is_owner, cs_lnum_t *index)
Define a new source term defined by an array.
Definition: cs_equation_param.c:2555
void cs_equation_add_xdef_bc(cs_equation_param_t *eqp, cs_xdef_t *xdef)
Set a boundary condition from an existing cs_xdef_t structure The lifecycle of the cs_xdef_t structur...
Definition: cs_equation_param.c:2090
int n_ic_defs
Definition: cs_equation_param.h:235
static bool cs_equation_param_has_name(cs_equation_param_t *eqp, const char *name)
Check if a cs_equation_param_t structure has its name member equal to the given name.
Definition: cs_equation_param.h:833
cs_xdef_t * cs_equation_add_ic_by_qov(cs_equation_param_t *eqp, const char *z_name, double quantity)
Define the initial condition for the unknown related to this equation This definition can be done on ...
Definition: cs_equation_param.c:1999
Structure storing medata for defining a quantity in a very flexible way.
Definition: cs_xdef.h:126
int n_source_terms
Definition: cs_equation_param.h:352
#define CS_EQUATION_FORCE_VALUES
Add an algebraic manipulation to set the value of a given set of interior degrees of freedom...
Definition: cs_equation_param.h:83
cs_equation_key_t
List of available keys for setting the parameters of an equation.
Definition: cs_equation_param.h:643
Definition: cs_equation_param.h:136
cs_equation_type_t
Type of equations managed by the solver.
Definition: cs_equation_param.h:133
cs_param_bc_type_t
Definition: cs_param.h:302
cs_param_sles_t sles_param
Definition: cs_equation_param.h:389
void cs_equation_add_time(cs_equation_param_t *eqp, cs_property_t *property)
Define and initialize a new structure to store parameters related to an unsteady term.
Definition: cs_equation_param.c:2371
void cs_equation_add_advection(cs_equation_param_t *eqp, cs_adv_field_t *adv_field)
Define and initialize a new structure to store parameters related to an advection term...
Definition: cs_equation_param.c:2393
int verbosity
Definition: cs_equation_param.h:157
Definition: cs_equation_param.h:135
cs_param_bc_enforce_t default_enforcement
Definition: cs_equation_param.h:219
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:298
int n_reaction_terms
Definition: cs_equation_param.h:335
cs_param_advection_scheme_t adv_scheme
Definition: cs_equation_param.h:311
cs_lnum_t n_enforced_dofs
Definition: cs_equation_param.h:373
int n_bc_defs
Definition: cs_equation_param.h:216
Definition: cs_equation_param.h:139
#define END_C_DECLS
Definition: cs_defs.h:468
unsigned short int cs_flag_t
Definition: cs_defs.h:304
cs_xdef_t * cs_equation_add_ic_by_analytic(cs_equation_param_t *eqp, const char *z_name, cs_analytic_func_t *analytic, void *input)
Define the initial condition for the unknown related to this equation. This definition can be done on...
Definition: cs_equation_param.c:2046
void cs_equation_set_param(cs_equation_param_t *eqp, cs_equation_key_t key, const char *keyval)
Set a parameter attached to a keyname in a cs_equation_param_t structure.
Definition: cs_equation_param.c:1266
bool do_lumping
Definition: cs_equation_param.h:250
void cs_equation_param_set_sles(cs_equation_param_t *eqp, int field_id)
Set parameters for initializing SLES structures used for the resolution of the linear system...
Definition: cs_equation_param.c:1300
cs_param_bc_type_t default_bc
Definition: cs_equation_param.h:215
static bool cs_equation_param_has_internal_enforcement(const cs_equation_param_t *eqp)
Ask if the parameters of the equation has an internal enforcement of the degrees of freedom...
Definition: cs_equation_param.h:810
cs_xdef_t ** bc_defs
Definition: cs_equation_param.h:217
Definition: cs_equation_param.h:659
cs_equation_param_t * cs_equation_free_param(cs_equation_param_t *eqp)
Free a cs_equation_param_t.
Definition: cs_equation_param.c:1198
Definition: cs_equation_param.h:667
cs_param_hodge_t reaction_hodge
Definition: cs_equation_param.h:334
Definition: cs_equation_param.h:653
#define CS_EQUATION_REACTION
Reaction term is needed.
Definition: cs_equation_param.h:82
#define CS_EQUATION_DIFFUSION
Diffusion term is needed.
Definition: cs_equation_param.h:81
cs_param_space_scheme_t
Type of numerical scheme for the discretization in space.
Definition: cs_param.h:125
Definition: cs_param_cdo.h:129
static bool cs_equation_param_has_reaction(const cs_equation_param_t *eqp)
Ask if the parameters of the equation needs a reaction term.
Definition: cs_equation_param.h:749
Definition: cs_equation_param.h:665
static bool cs_equation_param_has_sourceterm(const cs_equation_param_t *eqp)
Ask if the parameters of the equation needs a source term.
Definition: cs_equation_param.h:789
cs_equation_param_t * cs_equation_create_param(const char *name, cs_equation_type_t type, int dim, cs_param_bc_type_t default_bc)
Create a cs_equation_param_t structure.
Definition: cs_equation_param.c:960
Definition: cs_property.h:104
void cs_equation_param_last_stage(cs_equation_param_t *eqp)
Last modification of the cs_equation_param_t structure before launching the computation.
Definition: cs_equation_param.c:1619
cs_param_bc_enforce_t
Definition: cs_param.h:343
Structure storing all metadata related to the resolution of a linear system with an iterative solver...
Definition: cs_param.h:469
void cs_equation_add_diffusion(cs_equation_param_t *eqp, cs_property_t *property)
Define and initialize a new structure to store parameters related to a diffusion term.
Definition: cs_equation_param.c:2344
Definition: cs_equation_param.h:138
static bool cs_equation_param_has_convection(const cs_equation_param_t *eqp)
Ask if the parameters of the equation needs a convection term.
Definition: cs_equation_param.h:729