7.1
general documentation
cs_equation_assemble.h File Reference
#include "cs_cdo_connect.h"
#include "cs_matrix.h"
#include "cs_matrix_assembler.h"
#include "cs_param_cdo.h"
#include "cs_param_types.h"
#include "cs_sdm.h"
+ Include dependency graph for cs_equation_assemble.h:

Go to the source code of this file.

Typedefs

typedef struct _cs_equation_assemble_t cs_equation_assemble_t
 
typedef void() cs_equation_assembly_t(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
 Assemble a cellwise matrix into the global matrix Block or no block versions are handled. More...
 

Functions

cs_matrix_structure_tcs_equation_get_matrix_structure (int flag)
 Retrieve the pointer to a requested cs_matrix_structure_t structure. More...
 
cs_equation_assemble_tcs_equation_assemble_get (int t_id)
 Get a pointer to a cs_equation_assemble_t structure related to a given thread. More...
 
void cs_equation_assemble_init (const cs_cdo_connect_t *connect, cs_flag_t eb_flag, cs_flag_t fb_flag, cs_flag_t vb_flag, cs_flag_t vcb_flag, cs_flag_t hho_flag)
 Allocate and initialize matrix-related structures according to the type of discretization used for this simulation. More...
 
void cs_equation_assemble_finalize (void)
 Free matrix-related structures used during the simulation. Display overall statistic about the assembly stage for CDO schemes. More...
 
cs_equation_assembly_tcs_equation_assemble_set (cs_param_space_scheme_t scheme, int ma_id)
 Define the function pointer used to assemble the algebraic system. More...
 
void cs_equation_assemble_matrix_seqt (const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
 Assemble a cellwise matrix into the global matrix Scalar-valued case. Sequential and with openMP threading. More...
 
void cs_equation_assemble_matrix_seqs (const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
 Assemble a cellwise matrix into the global matrix Scalar-valued case. Sequential and without openMP. More...
 
void cs_equation_assemble_eblock33_matrix_seqs (const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
 Assemble a cellwise matrix into the global matrix Case of a block 3x3 entries. Expand each row. Sequential run without openMP threading. More...
 
void cs_equation_assemble_eblock33_matrix_seqt (const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
 Assemble a cellwise matrix into the global matrix Case of a block 3x3 entries. Expand each row. Sequential run with openMP threading. More...
 
void cs_equation_assemble_eblock_matrix_seqs (const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
 Assemble a cellwise matrix into the global matrix Case of a block NxN entries. Expand each row. Sequential run without openMP threading. More...
 
void cs_equation_assemble_eblock_matrix_seqt (const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
 Assemble a cellwise system into the global algebraic system. Case of a block NxN entries. Expand each row. Sequential run with openMP threading. More...
 

Typedef Documentation

◆ cs_equation_assemble_t

typedef struct _cs_equation_assemble_t cs_equation_assemble_t

◆ cs_equation_assembly_t

typedef void() cs_equation_assembly_t(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)

Assemble a cellwise matrix into the global matrix Block or no block versions are handled.

Parameters
[in]mcellwise view of the algebraic system
[in]dof_idslocal DoF numbering
[in]rsetpointer to a cs_range_set_t structure
[in,out]eqapointer to an equation assembly structure
[in,out]mavpointer to a matrix assembler structure

Function Documentation

◆ cs_equation_assemble_eblock33_matrix_seqs()

void cs_equation_assemble_eblock33_matrix_seqs ( const cs_sdm_t *  m,
const cs_lnum_t dof_ids,
const cs_range_set_t rset,
cs_equation_assemble_t eqa,
cs_matrix_assembler_values_t mav 
)

Assemble a cellwise matrix into the global matrix Case of a block 3x3 entries. Expand each row. Sequential run without openMP threading.

Parameters
[in]mcellwise view of the algebraic system
[in]dof_idslocal DoF numbering
[in]rsetpointer to a cs_range_set_t structure
[in,out]eqapointer to an equation assembly structure
[in,out]mavpointer to a matrix assembler structure

◆ cs_equation_assemble_eblock33_matrix_seqt()

void cs_equation_assemble_eblock33_matrix_seqt ( const cs_sdm_t *  m,
const cs_lnum_t dof_ids,
const cs_range_set_t rset,
cs_equation_assemble_t eqa,
cs_matrix_assembler_values_t mav 
)

Assemble a cellwise matrix into the global matrix Case of a block 3x3 entries. Expand each row. Sequential run with openMP threading.

Parameters
[in]mcellwise view of the algebraic system
[in]dof_idslocal DoF numbering
[in]rsetpointer to a cs_range_set_t structure
[in,out]eqapointer to an equation assembly structure
[in,out]mavpointer to a matrix assembler structure

◆ cs_equation_assemble_eblock_matrix_seqs()

void cs_equation_assemble_eblock_matrix_seqs ( const cs_sdm_t *  m,
const cs_lnum_t dof_ids,
const cs_range_set_t rset,
cs_equation_assemble_t eqa,
cs_matrix_assembler_values_t mav 
)

Assemble a cellwise matrix into the global matrix Case of a block NxN entries. Expand each row. Sequential run without openMP threading.

Parameters
[in]mcellwise view of the algebraic system
[in]dof_idslocal DoF numbering
[in]rsetpointer to a cs_range_set_t structure
[in,out]eqapointer to an equation assembly structure
[in,out]mavpointer to a matrix assembler structure

◆ cs_equation_assemble_eblock_matrix_seqt()

void cs_equation_assemble_eblock_matrix_seqt ( const cs_sdm_t *  m,
const cs_lnum_t dof_ids,
const cs_range_set_t rset,
cs_equation_assemble_t eqa,
cs_matrix_assembler_values_t mav 
)

Assemble a cellwise system into the global algebraic system. Case of a block NxN entries. Expand each row. Sequential run with openMP threading.

Parameters
[in]mcellwise view of the algebraic system
[in]dof_idslocal DoF numbering
[in]rsetpointer to a cs_range_set_t structure
[in,out]eqapointer to an equation assembly structure
[in,out]mavpointer to a matrix assembler structure

◆ cs_equation_assemble_finalize()

void cs_equation_assemble_finalize ( void  )

Free matrix-related structures used during the simulation. Display overall statistic about the assembly stage for CDO schemes.

◆ cs_equation_assemble_get()

cs_equation_assemble_t* cs_equation_assemble_get ( int  t_id)

Get a pointer to a cs_equation_assemble_t structure related to a given thread.

Parameters
[in]t_idid in the array of pointer
Returns
a pointer to a cs_equation_assemble_t structure

◆ cs_equation_assemble_init()

void cs_equation_assemble_init ( const cs_cdo_connect_t connect,
cs_flag_t  eb_flag,
cs_flag_t  fb_flag,
cs_flag_t  vb_flag,
cs_flag_t  vcb_flag,
cs_flag_t  hho_flag 
)

Allocate and initialize matrix-related structures according to the type of discretization used for this simulation.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]time_steppointer to a time step structure
[in]eb_flagmetadata for Edge-based schemes
[in]fb_flagmetadata for Face-based schemes
[in]vb_flagmetadata for Vertex-based schemes
[in]vcb_flagmetadata for Vertex+Cell-basde schemes
[in]hho_flagmetadata for HHO schemes

◆ cs_equation_assemble_matrix_seqs()

void cs_equation_assemble_matrix_seqs ( const cs_sdm_t *  m,
const cs_lnum_t dof_ids,
const cs_range_set_t rset,
cs_equation_assemble_t eqa,
cs_matrix_assembler_values_t mav 
)

Assemble a cellwise matrix into the global matrix Scalar-valued case. Sequential and without openMP.

Parameters
[in]mcellwise view of the algebraic system
[in]dof_idslocal DoF numbering
[in]rsetpointer to a cs_range_set_t structure
[in,out]eqapointer to a matrix assembler buffers
[in,out]mavpointer to a matrix assembler structure

◆ cs_equation_assemble_matrix_seqt()

void cs_equation_assemble_matrix_seqt ( const cs_sdm_t *  m,
const cs_lnum_t dof_ids,
const cs_range_set_t rset,
cs_equation_assemble_t eqa,
cs_matrix_assembler_values_t mav 
)

Assemble a cellwise matrix into the global matrix Scalar-valued case. Sequential and with openMP threading.

Parameters
[in]mcellwise view of the algebraic system
[in]dof_idslocal DoF numbering
[in]rsetpointer to a cs_range_set_t structure
[in,out]eqapointer to a matrix assembler buffers
[in,out]mavpointer to a matrix assembler structure

◆ cs_equation_assemble_set()

cs_equation_assembly_t* cs_equation_assemble_set ( cs_param_space_scheme_t  scheme,
int  ma_id 
)

Define the function pointer used to assemble the algebraic system.

Parameters
[in]schemespace discretization scheme
[in]ma_idid in the array of matrix assembler
Returns
a function pointer cs_equation_assembly_t

◆ cs_equation_get_matrix_structure()

cs_matrix_structure_t* cs_equation_get_matrix_structure ( int  flag)

Retrieve the pointer to a requested cs_matrix_structure_t structure.

Parameters
[in]flag_idid in the array of matrix structures
Returns
a pointer to a cs_matrix_structure_t