My Project
programmer's documentation
Functions
cs_equation_assemble.c File Reference

Assembly of local cellwise system into a cs_matrix_t structure through the cs_matrix_assembler_t and its related structures. More...

#include "cs_defs.h"
#include <assert.h>
#include "bft_error.h"
#include "bft_mem.h"
#include "cs_log.h"
#include "cs_matrix_priv.h"
#include "cs_matrix_assembler_priv.h"
#include "cs_matrix_assembler.h"
#include "cs_param_cdo.h"
#include "cs_parall.h"
#include "cs_sort.h"
#include "cs_timer.h"
#include "cs_equation_assemble.h"
Include dependency graph for cs_equation_assemble.c:

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 vb_flag, cs_flag_t vcb_flag, cs_flag_t fb_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_cell_sys_t *csys, 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 Scalar-valued case. Sequential and with openMP threading. More...
 
void cs_equation_assemble_matrix_seqs (const cs_cell_sys_t *csys, 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 Scalar-valued case. Sequential and without openMP. More...
 
void cs_equation_assemble_eblock33_matrix_seqs (const cs_cell_sys_t *csys, 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 3x3 entries. Expand each row. Sequential run without openMP threading. More...
 
void cs_equation_assemble_eblock33_matrix_seqt (const cs_cell_sys_t *csys, 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 3x3 entries. Expand each row. Sequential run with openMP threading. More...
 
void cs_equation_assemble_eblock_matrix_seqs (const cs_cell_sys_t *csys, 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 without openMP threading. More...
 
void cs_equation_assemble_eblock_matrix_seqt (const cs_cell_sys_t *csys, 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...
 

Detailed Description

Assembly of local cellwise system into a cs_matrix_t structure through the cs_matrix_assembler_t and its related structures.

This function are specific to CDO schemes. Thus one can assume a more specific behavior in order to get a more optimzed version of the standard assembly process.

Function Documentation

◆ cs_equation_assemble_eblock33_matrix_seqs()

void cs_equation_assemble_eblock33_matrix_seqs ( const cs_cell_sys_t csys,
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 3x3 entries. Expand each row. Sequential run without openMP threading.

Parameters
[in]csyscellwise view of the algebraic system
[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_cell_sys_t csys,
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 3x3 entries. Expand each row. Sequential run with openMP threading.

Parameters
[in]csyscellwise view of the algebraic system
[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_cell_sys_t csys,
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 without openMP threading.

Parameters
[in]csyscellwise view of the algebraic system
[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_cell_sys_t csys,
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]csyscellwise view of the algebraic system
[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  vb_flag,
cs_flag_t  vcb_flag,
cs_flag_t  fb_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]vb_flagmetadata for Vb schemes
[in]vcb_flagmetadata for V+C schemes
[in]fb_flagmetadata for Fb schemes
[in]hho_flagmetadata for HHO schemes

◆ cs_equation_assemble_matrix_seqs()

void cs_equation_assemble_matrix_seqs ( const cs_cell_sys_t csys,
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 Scalar-valued case. Sequential and without openMP.

Assemble a cellwise system into the global algebraic system Scalar-valued case. Sequential and without openMP threading.

Parameters
[in]csyscellwise view of the algebraic system
[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_cell_sys_t csys,
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 Scalar-valued case. Sequential and with openMP threading.

Parameters
[in]csyscellwise view of the algebraic system
[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