1#ifndef CS_EQUATION_BUILDER_H
2#define CS_EQUATION_BUILDER_H
265 return eqb->msh_flag | eqb->src_flag | eqb->bdy_flag;
267 return eqb->msh_flag | eqb->src_flag;
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
unsigned cs_gnum_t
global mesh entity number
Definition: cs_defs.h:317
unsigned short int cs_flag_t
Definition: cs_defs.h:334
void cs_equation_builder_log_performance(int n_time_steps, cs_gnum_t n_g_dofs, const cs_equation_param_t *eqp, const cs_equation_builder_t *eqb)
Print a message in the performance output file related to the monitoring of equation.
Definition: cs_equation_builder.cpp:420
static cs_eflag_t cs_equation_builder_cell_mesh_flag(cs_flag_t cell_flag, const cs_equation_builder_t *eqb)
Retrieve the flag to give for building a cs_cell_mesh_t structure.
Definition: cs_equation_builder.h:261
cs_equation_builder_t * cs_equation_builder_create(const cs_equation_param_t *eqp, const cs_mesh_t *mesh)
Allocate a new structure to handle the building of algebraic system related to a cs_equation_t struct...
Definition: cs_equation_builder.cpp:126
void() cs_equation_build_hook_t(const cs_equation_param_t *eqp, const cs_equation_builder_t *eqb, const void *eqc, const cs_cell_mesh_t *cm, void *context, cs_hodge_t *mass_hodge, cs_hodge_t *diff_hodge, cs_cell_sys_t *csys, cs_cell_builder_t *cb)
Generic function prototype for a hook during the cellwise building of the linear system Enable an adv...
Definition: cs_equation_builder.h:72
void cs_equation_builder_free(cs_equation_builder_t **p_builder)
Free a cs_equation_builder_t structure.
Definition: cs_equation_builder.cpp:332
void cs_equation_builder_enforce_dofs(const cs_equation_builder_t *eqb, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Take into account the enforcement of internal DoFs. Apply an algebraic manipulation....
Definition: cs_equation_builder.cpp:589
void cs_equation_builder_reset(cs_equation_builder_t *eqb)
Free some members of a cs_equation_builder_t structure.
Definition: cs_equation_builder.cpp:376
const cs_range_set_t * cs_equation_builder_get_range_set(const cs_equation_builder_t *builder, int block_id)
Retrieve the range set structure associated to a builder structure for the block defined in block_id ...
Definition: cs_equation_builder.cpp:303
void cs_equation_builder_enforce_block_dofs(const cs_equation_builder_t *eqb, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Take into account the enforcement of internal DoFs. Case of matrices defined by blocks....
Definition: cs_equation_builder.cpp:663
void cs_equation_builder_update_default_flags(cs_eflag_t msh_flag, cs_eflag_t bdy_flag, cs_eflag_t src_flag)
Update the default flags used to know which quantities have to be built by each cs_cell_mesh_t struct...
Definition: cs_equation_builder.cpp:104
void cs_equation_builder_apply_default_flags(cs_equation_builder_t *eqb)
Update the flags with the default flags. These flags are used to know which quantities have to be bui...
Definition: cs_equation_builder.cpp:397
void cs_equation_builder_init_properties(const cs_equation_param_t *eqp, const cs_equation_builder_t *eqb, cs_hodge_t *diff_hodge, cs_cell_builder_t *cb)
Initialize all properties potentially useful to build the algebraic system. This function is shared a...
Definition: cs_equation_builder.cpp:525
bool cs_equation_builder_set_reaction_pty_cw(const cs_equation_param_t *eqp, const cs_equation_builder_t *eqb, const cs_cell_mesh_t *cm, cs_cell_builder_t *cb)
Initialize all reaction properties. This function is shared across all CDO schemes....
Definition: cs_equation_builder.cpp:486
const cs_matrix_t * cs_equation_builder_get_matrix(const cs_equation_builder_t *builder, int block_id)
Retrieve the matrix structure associated to the given block_id When there is only one block,...
Definition: cs_equation_builder.cpp:271
#define CS_FLAG_BOUNDARY_CELL_BY_FACE
(= 1) boundary cell with at least one border face
Definition: cs_flag.h:59
unsigned char cs_mask_t
Definition: cs_flag.h:157
unsigned int cs_eflag_t
Definition: cs_flag.h:190
struct _cs_matrix_t cs_matrix_t
Definition: cs_matrix.h:108
#define CS_CDO_N_MAX_REACTIONS
Definition: cs_param_cdo.h:67
void() cs_source_term_cellwise_t(const cs_xdef_t *source, const cs_cell_mesh_t *cm, cs_real_t time_eval, cs_cell_builder_t *cb, void *input, double *values)
Compute the contribution for a cell related to a source term and add it to the given array of values.
Definition: cs_source_term.h:64
Definition: cs_equation_builder.h:87
cs_timer_counter_t tcs
Definition: cs_equation_builder.h:231
bool curlcurl_pty_uniform
Definition: cs_equation_builder.h:113
cs_real_t * enforced_values
Definition: cs_equation_builder.h:158
cs_flag_t sys_flag
Definition: cs_equation_builder.h:104
cs_cdo_bc_face_t * face_bc
Definition: cs_equation_builder.h:189
cs_eflag_t bdy_flag
Definition: cs_equation_builder.h:98
bool init_step
Definition: cs_equation_builder.h:89
cs_mask_t * source_mask
Definition: cs_equation_builder.h:125
cs_real_t * dir_values
Definition: cs_equation_builder.h:192
cs_timer_counter_t tcb
Definition: cs_equation_builder.h:229
bool reac_pty_uniform[CS_CDO_N_MAX_REACTIONS]
Definition: cs_equation_builder.h:116
cs_timer_counter_t tce
Definition: cs_equation_builder.h:233
cs_eflag_t msh_flag
Definition: cs_equation_builder.h:96
cs_real_t * increment
Definition: cs_equation_builder.h:173
cs_cdo_system_helper_t * system_helper
Definition: cs_equation_builder.h:146
bool diff_pty_uniform
Definition: cs_equation_builder.h:112
bool graddiv_pty_uniform
Definition: cs_equation_builder.h:114
bool time_pty_uniform
Definition: cs_equation_builder.h:115
cs_equation_build_hook_t * hook_function
Definition: cs_equation_builder.h:218
cs_iter_algo_t * incremental_algo
Definition: cs_equation_builder.h:174
cs_eflag_t src_flag
Definition: cs_equation_builder.h:101
cs_source_term_cellwise_t ** compute_source
Definition: cs_equation_builder.h:134
void * hook_context
Definition: cs_equation_builder.h:217
Definition: cs_cdo_bc.h:105
Definition: cs_cdo_system.h:373
Set of local and temporary buffers.
Definition: cs_cdo_local.h:56
Set of local quantities and connectivities related to a mesh cell.
Definition: cs_cdo_local.h:242
Set of arrays and local (small) dense matrices related to a mesh cell This is a key structure for bui...
Definition: cs_cdo_local.h:163
Store common elements used when building an algebraic system related to an equation.
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
Definition: cs_equation_param.h:190
Structure associated to a discrete Hodge operator *.
Definition: cs_hodge.h:179
Structure to handle the convergence of an iterative algorithm.
Definition: cs_iter_algo.h:285
Definition: cs_range_set.h:53
Definition: cs_timer.h:51