9.0
general documentation
Loading...
Searching...
No Matches
cs_hho_vecteq.h File Reference
Include dependency graph for cs_hho_vecteq.h:

Go to the source code of this file.

Functions

void cs_hho_vecteq_init_sharing (cs_flag_t scheme_flag, const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, const cs_time_step_t *time_step)
 Allocate work buffer and general structures related to HHO schemes Set shared pointers.
void cs_hho_vecteq_get (cs_cell_sys_t **csys, cs_cell_builder_t **cb, cs_hho_builder_t **hhob)
 Retrieve work buffers used for building a CDO system cellwise.
void cs_hho_vecteq_finalize_sharing (void)
 Free buffers and generic structures related to HHO schemes.
void * cs_hho_vecteq_init_context (cs_equation_param_t *eqp, int var_id, int bflux_id, cs_equation_builder_t *eqb)
 Initialize a cs_hho_vecteq_t structure storing data useful for managing such a scheme.
void * cs_hho_vecteq_free_context (void *data)
 Destroy a cs_hho_vecteq_t structure.
void cs_hho_vecteq_init_values (cs_real_t t_eval, const int field_id, const cs_mesh_t *mesh, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *context)
 Set the initial values of the variable field taking into account the boundary conditions. Case of vector-valued HHO schemes.
void cs_hho_vecteq_compute_source (const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data)
 Compute the contributions of source terms (store inside builder)
void cs_hho_vecteq_build_system (const cs_mesh_t *mesh, const cs_real_t *field_val, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *context)
 Build the linear system arising from a scalar convection/diffusion equation with a HHO scheme. One works cellwise and then process to the assembly.
void cs_hho_vecteq_update_field (const cs_real_t *solu, const cs_real_t *rhs, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, cs_real_t *field_val)
 Store solution(s) of the linear system into a field structure Update extra-field values required for hybrid discretization.
cs_real_tcs_hho_vecteq_get_face_values (void *data, bool previous)
 Get the computed values at faces (DoF used in the linear system are located at primal faces)
cs_real_tcs_hho_vecteq_get_cell_values (void *data, bool previous)
 Get the computed values at cells (DoF used in the linear system are located at primal faces)
void cs_hho_vecteq_read_restart (cs_restart_t *restart, const char *eqname, void *scheme_context)
 Read additional arrays (not defined as fields) but useful for the checkpoint/restart process.
void cs_hho_vecteq_write_restart (cs_restart_t *restart, const char *eqname, void *scheme_context)
 Write additional arrays (not defined as fields) but useful for the checkpoint/restart process.
void cs_hho_vecteq_extra_post (const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *context)
 Predefined extra-operations related to this equation.

Function Documentation

◆ cs_hho_vecteq_build_system()

void cs_hho_vecteq_build_system ( const cs_mesh_t * mesh,
const cs_real_t * field_val,
const cs_equation_param_t * eqp,
cs_equation_builder_t * eqb,
void * context )

Build the linear system arising from a scalar convection/diffusion equation with a HHO scheme. One works cellwise and then process to the assembly.

Parameters
[in]meshpointer to a cs_mesh_t structure
[in]field_valpointer to the current value of the field
[in]eqppointer to a cs_equation_param_t structure
[in,out]eqbpointer to a cs_equation_builder_t structure
[in,out]contextpointer to cs_hho_vecteq_t structure

◆ cs_hho_vecteq_compute_source()

void cs_hho_vecteq_compute_source ( const cs_equation_param_t * eqp,
cs_equation_builder_t * eqb,
void * data )

Compute the contributions of source terms (store inside builder)

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in,out]eqbpointer to a cs_equation_builder_t structure
[in,out]datapointer to a cs_hho_vecteq_t structure

◆ cs_hho_vecteq_extra_post()

void cs_hho_vecteq_extra_post ( const cs_equation_param_t * eqp,
cs_equation_builder_t * eqb,
void * context )

Predefined extra-operations related to this equation.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in,out]eqbpointer to a cs_equation_builder_t structure
[in,out]contextpointer to cs_hho_vecteq_t structure

◆ cs_hho_vecteq_finalize_sharing()

void cs_hho_vecteq_finalize_sharing ( void )

Free buffers and generic structures related to HHO schemes.

◆ cs_hho_vecteq_free_context()

void * cs_hho_vecteq_free_context ( void * data)

Destroy a cs_hho_vecteq_t structure.

Parameters
[in,out]datapointer to a cs_hho_vecteq_t structure
Returns
a null pointer

◆ cs_hho_vecteq_get()

void cs_hho_vecteq_get ( cs_cell_sys_t ** csys,
cs_cell_builder_t ** cb,
cs_hho_builder_t ** hhob )

Retrieve work buffers used for building a CDO system cellwise.

Parameters
[out]csyspointer to a pointer on a cs_cell_sys_t structure
[out]cbpointer to a pointer on a cs_cell_builder_t structure
[out]hhobpointer to a pointer on a cs_hho_builder_t structure

◆ cs_hho_vecteq_get_cell_values()

cs_real_t * cs_hho_vecteq_get_cell_values ( void * data,
bool previous )

Get the computed values at cells (DoF used in the linear system are located at primal faces)

Parameters
[in,out]datapointer to a data structure cast-on-fly
[in]previousretrieve the previous state (true/false)
Returns
a pointer to an array of cs_real_t

◆ cs_hho_vecteq_get_face_values()

cs_real_t * cs_hho_vecteq_get_face_values ( void * data,
bool previous )

Get the computed values at faces (DoF used in the linear system are located at primal faces)

Parameters
[in,out]datapointer to a data structure cast-on-fly
[in]previousretrieve the previous state (true/false)
Returns
a pointer to an array of cs_real_t

◆ cs_hho_vecteq_init_context()

void * cs_hho_vecteq_init_context ( cs_equation_param_t * eqp,
int var_id,
int bflux_id,
cs_equation_builder_t * eqb )

Initialize a cs_hho_vecteq_t structure storing data useful for managing such a scheme.

Parameters
[in,out]eqpset of parameters related an equation
[in]var_idid of the variable field
[in]bflux_idid of the boundary flux field
[in,out]eqbpointer to a cs_equation_builder_t structure
Returns
a pointer to a new allocated cs_hho_vecteq_t structure

◆ cs_hho_vecteq_init_sharing()

void cs_hho_vecteq_init_sharing ( cs_flag_t scheme_flag,
const cs_cdo_quantities_t * quant,
const cs_cdo_connect_t * connect,
const cs_time_step_t * time_step )

Allocate work buffer and general structures related to HHO schemes Set shared pointers.

Parameters
[in]scheme_flagflag to identify which kind of numerical scheme is requested to solve the computational domain
[in]quantpointer to a cs_cdo_quantities_t struct.
[in]connectpointer to a cs_cdo_connect_t struct.
[in]time_steppointer to a cs_time_step_t struct.

◆ cs_hho_vecteq_init_values()

void cs_hho_vecteq_init_values ( cs_real_t t_eval,
const int field_id,
const cs_mesh_t * mesh,
const cs_equation_param_t * eqp,
cs_equation_builder_t * eqb,
void * context )

Set the initial values of the variable field taking into account the boundary conditions. Case of vector-valued HHO schemes.

Parameters
[in]t_evaltime at which one evaluates BCs
[in]field_idid related to the variable field of this equation
[in]meshpointer to a cs_mesh_t structure
[in]eqppointer to a cs_equation_param_t structure
[in,out]eqbpointer to a cs_equation_builder_t structure
[in,out]contextpointer to the scheme context (cast on-the-fly)

◆ cs_hho_vecteq_read_restart()

void cs_hho_vecteq_read_restart ( cs_restart_t * restart,
const char * eqname,
void * scheme_context )

Read additional arrays (not defined as fields) but useful for the checkpoint/restart process.

Parameters
[in,out]restartpointer to cs_restart_t structure
[in]eqnamename of the related equation
[in]scheme_contextpointer to a data structure cast on-the-fly

◆ cs_hho_vecteq_update_field()

void cs_hho_vecteq_update_field ( const cs_real_t * solu,
const cs_real_t * rhs,
const cs_equation_param_t * eqp,
cs_equation_builder_t * eqb,
void * data,
cs_real_t * field_val )

Store solution(s) of the linear system into a field structure Update extra-field values required for hybrid discretization.

Parameters
[in]solusolution array
[in]rhsrhs associated to this solution array
[in]eqppointer to a cs_equation_param_t structure
[in,out]eqbpointer to a cs_equation_builder_t structure
[in,out]datapointer to cs_hho_vecteq_t structure
[in,out]field_valpointer to the current value of the field

◆ cs_hho_vecteq_write_restart()

void cs_hho_vecteq_write_restart ( cs_restart_t * restart,
const char * eqname,
void * scheme_context )

Write additional arrays (not defined as fields) but useful for the checkpoint/restart process.

Parameters
[in,out]restartpointer to cs_restart_t structure
[in]eqnamename of the related equation
[in]scheme_contextpointer to a data structure cast on-the-fly