programmer's documentation
Functions
cs_hho_scaleq.h File Reference
#include "cs_base.h"
#include "cs_time_step.h"
#include "cs_mesh.h"
#include "cs_field.h"
#include "cs_cdo_connect.h"
#include "cs_cdo_quantities.h"
#include "cs_equation_param.h"
#include "cs_source_term.h"
Include dependency graph for cs_hho_scaleq.h:

Go to the source code of this file.

Functions

void cs_hho_scaleq_set_shared_pointers (const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, const cs_time_step_t *time_step)
 Set shared pointers from the main domain members. More...
 
void cs_hho_scaleq_initialize (void)
 Allocate work buffer and general structures related to HHO schemes. More...
 
void cs_hho_scaleq_finalize (void)
 Free buffers and generic structures related to HHO schemes. More...
 
void * cs_hho_scaleq_init (const cs_equation_param_t *eqp, const cs_mesh_t *mesh)
 Initialize a cs_hho_scaleq_t structure. More...
 
void * cs_hho_scaleq_free (void *builder)
 Destroy a cs_hho_scaleq_t structure. More...
 
void cs_hho_scaleq_compute_source (void *builder)
 Compute the contributions of source terms (store inside builder) More...
 
cs_matrix_tcs_hho_allocate_matrix (void)
 Allocate the matrix related to the algebraic system to solve. More...
 
cs_real_tcs_hho_initialize_rhs (void *builder)
 Allocate and initialize the right-hand side associated to the given builder structure. More...
 
void cs_hho_scaleq_build_system (const cs_mesh_t *mesh, const cs_real_t *field_val, double dt_cur, void *builder, cs_real_t *rhs, cs_matrix_t *matrix)
 Build the linear system arising from a scalar convection/diffusion equation with a HHO scheme. One works cellwise and then process to the assembly. More...
 
void cs_hho_scaleq_update_field (const cs_real_t *solu, const cs_real_t *rhs, void *builder, cs_real_t *field_val)
 Store solution(s) of the linear system into a field structure Update extra-field values required for hybrid discretization. More...
 
double * cs_hho_scaleq_get_face_values (const void *builder)
 Get the computed values at faces (DoF used in the linear system are located at primal faces) More...
 
void cs_hho_scaleq_extra_op (const char *eqname, const cs_field_t *field, void *builder)
 Predefined extra-operations related to this equation. More...
 

Function Documentation

◆ cs_hho_allocate_matrix()

cs_matrix_t* cs_hho_allocate_matrix ( void  )

Allocate the matrix related to the algebraic system to solve.

Returns
a pointer to a new allocated structure

◆ cs_hho_initialize_rhs()

cs_real_t* cs_hho_initialize_rhs ( void *  builder)

Allocate and initialize the right-hand side associated to the given builder structure.

Parameters
[in,out]builderpointer to generic builder structure
Returns
an initialized array

◆ cs_hho_scaleq_build_system()

void cs_hho_scaleq_build_system ( const cs_mesh_t mesh,
const cs_real_t field_val,
double  dt_cur,
void *  builder,
cs_real_t rhs,
cs_matrix_t matrix 
)

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]dt_curcurrent value of the time step
[in,out]builderpointer to cs_hho_scaleq_t structure
[in,out]rhsright-hand side
[in,out]matrixpointer to cs_matrix_t structure to compute

◆ cs_hho_scaleq_compute_source()

void cs_hho_scaleq_compute_source ( void *  builder)

Compute the contributions of source terms (store inside builder)

Parameters
[in,out]builderpointer to a cs_hho_scaleq_t structure

◆ cs_hho_scaleq_extra_op()

void cs_hho_scaleq_extra_op ( const char *  eqname,
const cs_field_t field,
void *  builder 
)

Predefined extra-operations related to this equation.

Parameters
[in]eqnamename of the equation
[in]fieldpointer to a field structure
[in,out]builderpointer to builder structure

◆ cs_hho_scaleq_finalize()

void cs_hho_scaleq_finalize ( void  )

Free buffers and generic structures related to HHO schemes.

◆ cs_hho_scaleq_free()

void* cs_hho_scaleq_free ( void *  builder)

Destroy a cs_hho_scaleq_t structure.

Parameters
[in,out]builderpointer to a cs_hho_scaleq_t structure
Returns
a NULL pointer

◆ cs_hho_scaleq_get_face_values()

double* cs_hho_scaleq_get_face_values ( const void *  builder)

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

Parameters
[in]builderpointer to a builder structure
Returns
a pointer to an array of double

◆ cs_hho_scaleq_init()

void* cs_hho_scaleq_init ( const cs_equation_param_t eqp,
const cs_mesh_t mesh 
)

Initialize a cs_hho_scaleq_t structure.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]meshpointer to a cs_mesh_t structure
Returns
a pointer to a new allocated cs_hho_scaleq_t structure

◆ cs_hho_scaleq_initialize()

void cs_hho_scaleq_initialize ( void  )

Allocate work buffer and general structures related to HHO schemes.

◆ cs_hho_scaleq_set_shared_pointers()

void cs_hho_scaleq_set_shared_pointers ( const cs_cdo_quantities_t quant,
const cs_cdo_connect_t connect,
const cs_time_step_t time_step 
)

Set shared pointers from the main domain members.

Parameters
[in]quantadditional mesh quantities struct.
[in]connectpointer to a cs_cdo_connect_t struct.
[in]time_steppointer to a time step structure

◆ cs_hho_scaleq_update_field()

void cs_hho_scaleq_update_field ( const cs_real_t solu,
const cs_real_t rhs,
void *  builder,
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,out]builderpointer to builder structure
[in,out]field_valpointer to the current value of the field