My Project
programmer's documentation
|
#include "cs_cdo_connect.h"
#include "cs_cdo_quantities.h"
#include "cs_flag.h"
#include "cs_param_cdo.h"
#include "cs_sdm.h"
Go to the source code of this file.
Data Structures | |
struct | cs_cell_builder_t |
Set of local and temporary buffers useful for building the algebraic system with a cellwise process. This structure belongs to one thread. More... | |
struct | cs_cell_sys_t |
Set of arrays and local (small) dense matrices related to a mesh cell This is a key structure for building the local algebraic system. This structure belongs to one thread and only. More... | |
struct | cs_cell_mesh_t |
Set of local quantities and connectivities related to a mesh cell This is a key structure for all cellwise processes. This structure belongs to one thread and only. This structure used allows one to get a better memory locality. It maps the existing global mesh and other related structures into a more compact one dedicated to a cell. Arrays are allocated to the max number of related entities (e.g. n_max_vbyc or to n_max_ebyc). The cell-wise numbering is based on the c2v, c2e and c2f connectivity. More... | |
struct | cs_face_mesh_t |
Set of local quantities and connectivities related to a mesh face Structure used to get a better memory locality. Map existing structure into a more compact one dedicated to a face. Arrays are allocated to n_max_vbyf (= n_max_ebyf). Face-wise numbering is based on the f2e connectivity. More... | |
struct | cs_face_mesh_light_t |
Functions | |
static short int | cs_cell_mesh_get_v (const cs_lnum_t v_id, const cs_cell_mesh_t *const cm) |
Retrieve the vertex id in the cellwise numbering associated to the given vertex id in the mesh numbering. More... | |
static short int | cs_cell_mesh_get_f (const cs_lnum_t f_id, const cs_cell_mesh_t *const cm) |
Retrieve the face id in the cellwise numbering associated to the given face id in the mesh numbering. More... | |
static void | cs_cell_mesh_get_f2v (short int f, const cs_cell_mesh_t *cm, short int *n_vf, short int *v_ids) |
Retrieve the list of vertices attached to a face. More... | |
static void | cs_cell_mesh_get_next_3_vertices (const short int *f2e_ids, const short int *e2v_ids, short int *v0, short int *v1, short int *v2) |
Get the next three vertices in a row from a face to edge connectivity and a edge to vertex connectivity. More... | |
static bool | cs_cell_mesh_is_boundary_face (const cs_cell_mesh_t *cm, const short int f) |
Is the face a boundary one ? More... | |
void | cs_cdo_local_initialize (const cs_cdo_connect_t *connect) |
Allocate global structures related to a cs_cell_mesh_t and cs_face_mesh_t structures. More... | |
void | cs_cdo_local_finalize (void) |
Free global structures related to cs_cell_mesh_t and cs_face_mesh_t structures. More... | |
cs_cell_sys_t * | cs_cell_sys_create (int n_max_dofbyc, int n_max_fbyc, int n_blocks, int *block_sizes) |
Allocate a cs_cell_sys_t structure. More... | |
void | cs_cell_sys_reset (int n_fbyc, cs_cell_sys_t *csys) |
Reset all members related to BC and some other ones in a cs_cell_sys_t structure. More... | |
void | cs_cell_sys_free (cs_cell_sys_t **p_csys) |
Free a cs_cell_sys_t structure. More... | |
void | cs_cell_sys_dump (const char msg[], const cs_cell_sys_t *csys) |
Dump a local system for debugging purpose. More... | |
cs_cell_builder_t * | cs_cell_builder_create (void) |
Allocate cs_cell_builder_t structure. More... | |
void | cs_cell_builder_free (cs_cell_builder_t **p_cb) |
Free a cs_cell_builder_t structure. More... | |
cs_cell_mesh_t * | cs_cell_mesh_create (const cs_cdo_connect_t *connect) |
Allocate and initialize a cs_cell_mesh_t structure. More... | |
cs_cell_mesh_t * | cs_cdo_local_get_cell_mesh (int mesh_id) |
Get a pointer to a cs_cell_mesh_t structure corresponding to mesh id. More... | |
void | cs_cell_mesh_reset (cs_cell_mesh_t *cm) |
Initialize to invalid values a cs_cell_mesh_t structure. More... | |
void | cs_cell_mesh_dump (const cs_cell_mesh_t *cm) |
Dump a cs_cell_mesh_t structure. More... | |
void | cs_cell_mesh_free (cs_cell_mesh_t **p_cm) |
Free a cs_cell_mesh_t structure. More... | |
void | cs_cell_mesh_build (cs_lnum_t c_id, cs_flag_t build_flag, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, cs_cell_mesh_t *cm) |
Define a cs_cell_mesh_t structure for a given cell id. According to the requested level, some quantities may not be defined;. More... | |
cs_face_mesh_t * | cs_face_mesh_create (short int n_max_vbyf) |
Allocate a cs_face_mesh_t structure. More... | |
cs_face_mesh_t * | cs_cdo_local_get_face_mesh (int mesh_id) |
Get a pointer to a cs_face_mesh_t structure corresponding to mesh id. More... | |
void | cs_face_mesh_free (cs_face_mesh_t **p_fm) |
Free a cs_face_mesh_t structure. More... | |
void | cs_face_mesh_build (cs_lnum_t c_id, cs_lnum_t f_id, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, cs_face_mesh_t *fm) |
Define a cs_face_mesh_t structure for a given face/cell id. More... | |
void | cs_face_mesh_build_from_cell_mesh (const cs_cell_mesh_t *cm, short int f, cs_face_mesh_t *fm) |
Define a cs_face_mesh_t structure for a given cell from a cs_cell_mesh_t structure. v_ids and e_ids are defined in the cell numbering given by cm. More... | |
cs_face_mesh_light_t * | cs_face_mesh_light_create (short int n_max_vbyf, short int n_max_vbyc) |
Allocate a cs_face_mesh_light_t structure. More... | |
cs_face_mesh_light_t * | cs_cdo_local_get_face_mesh_light (int mesh_id) |
Get a pointer to a cs_face_mesh_light_t structure corresponding to mesh id. More... | |
void | cs_face_mesh_light_free (cs_face_mesh_light_t **p_fm) |
Free a cs_face_mesh_light_t structure. More... | |
void | cs_face_mesh_light_build (const cs_cell_mesh_t *cm, short int f, cs_face_mesh_light_t *fm) |
Define a cs_face_mesh_light_t structure starting from a cs_cell_mesh_t structure. More... | |
Variables | |
cs_cell_mesh_t ** | cs_cdo_local_cell_meshes |
cs_face_mesh_t ** | cs_cdo_local_face_meshes |
cs_face_mesh_light_t ** | cs_cdo_local_face_meshes_light |
void cs_cdo_local_finalize | ( | void | ) |
Free global structures related to cs_cell_mesh_t and cs_face_mesh_t structures.
cs_cell_mesh_t* cs_cdo_local_get_cell_mesh | ( | int | mesh_id | ) |
Get a pointer to a cs_cell_mesh_t structure corresponding to mesh id.
[in] | mesh_id | id in the array of pointer to cs_cell_mesh_t struct. |
cs_face_mesh_t* cs_cdo_local_get_face_mesh | ( | int | mesh_id | ) |
Get a pointer to a cs_face_mesh_t structure corresponding to mesh id.
[in] | mesh_id | id in the array of pointer to cs_face_mesh_t struct. |
cs_face_mesh_light_t* cs_cdo_local_get_face_mesh_light | ( | int | mesh_id | ) |
Get a pointer to a cs_face_mesh_light_t structure corresponding to mesh id.
[in] | mesh_id | id in the cs_face_mesh_light_t array |
void cs_cdo_local_initialize | ( | const cs_cdo_connect_t * | connect | ) |
Allocate global structures related to a cs_cell_mesh_t and cs_face_mesh_t structures.
[in] | connect | pointer to a cs_cdo_connect_t structure |
cs_cell_builder_t* cs_cell_builder_create | ( | void | ) |
Allocate cs_cell_builder_t structure.
void cs_cell_builder_free | ( | cs_cell_builder_t ** | p_cb | ) |
Free a cs_cell_builder_t structure.
[in,out] | p_cb | pointer of pointer to a cs_cell_builder_t struct |
void cs_cell_mesh_build | ( | cs_lnum_t | c_id, |
cs_flag_t | build_flag, | ||
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | quant, | ||
cs_cell_mesh_t * | cm | ||
) |
Define a cs_cell_mesh_t structure for a given cell id. According to the requested level, some quantities may not be defined;.
[in] | c_id | cell id |
[in] | build_flag | indicate which members are really built |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to a cs_cdo_quantities_t structure |
[in,out] | cm | pointer to a cs_cell_mesh_t structure to set |
cs_cell_mesh_t* cs_cell_mesh_create | ( | const cs_cdo_connect_t * | connect | ) |
Allocate and initialize a cs_cell_mesh_t structure.
[in] | connect | pointer to a cs_cdo_connect_t structure |
void cs_cell_mesh_dump | ( | const cs_cell_mesh_t * | cm | ) |
Dump a cs_cell_mesh_t structure.
[in] | cm | pointer to a cs_cell_mesh_t structure |
void cs_cell_mesh_free | ( | cs_cell_mesh_t ** | p_cm | ) |
Free a cs_cell_mesh_t structure.
[in,out] | p_cm | pointer of pointer to a cs_cell_mesh_t structure |
|
inlinestatic |
Retrieve the face id in the cellwise numbering associated to the given face id in the mesh numbering.
[in] | f_id | face id in the mesh numbering |
[in] | cm | pointer to a cs_cell_mesh_t structure |
|
inlinestatic |
Retrieve the list of vertices attached to a face.
[in] | f | face id in the cell numbering |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in,out] | n_vf | pointer of pointer to a cellwise view of the mesh |
[in,out] | v_ids | list of vertex ids in the cell numbering |
|
inlinestatic |
Get the next three vertices in a row from a face to edge connectivity and a edge to vertex connectivity.
[in] | f2e_ids | face-edge connectivity |
[in] | e2v_ids | edge-vertex connectivity |
[in,out] | v0 | id of the first vertex |
[in,out] | v1 | id of the second vertex |
[in,out] | v2 | id of the third vertex |
|
inlinestatic |
Retrieve the vertex id in the cellwise numbering associated to the given vertex id in the mesh numbering.
[in] | v_id | vertex id in the mesh numbering |
[in] | cm | pointer to a cs_cell_mesh_t structure |
|
inlinestatic |
Is the face a boundary one ?
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | f | id of the face in the cellwise numbering |
void cs_cell_mesh_reset | ( | cs_cell_mesh_t * | cm | ) |
Initialize to invalid values a cs_cell_mesh_t structure.
[in] | cm | pointer to a cs_cell_mesh_t structure |
cs_cell_sys_t* cs_cell_sys_create | ( | int | n_max_dofbyc, |
int | n_max_fbyc, | ||
int | n_blocks, | ||
int * | block_sizes | ||
) |
Allocate a cs_cell_sys_t structure.
[in] | n_max_dofbyc | max number of entries |
[in] | n_max_fbyc | max number of faces in a cell |
[in] | n_blocks | number of blocks in a row/column |
[in] | block_sizes | size of each block or NULL if n_blocks = 1 Specific treatment n_blocks = 1. |
[in] | n_max_dofbyc | max number of entries |
[in] | n_max_fbyc | max number of faces in a cell |
[in] | n_blocks | number of blocks in a row/column |
[in] | block_sizes | size of each block or NULL. Specific treatment n_blocks = 1. |
void cs_cell_sys_dump | ( | const char | msg[], |
const cs_cell_sys_t * | csys | ||
) |
Dump a local system for debugging purpose.
[in] | msg | associated message to print |
[in] | csys | pointer to a cs_cell_sys_t structure |
void cs_cell_sys_free | ( | cs_cell_sys_t ** | p_csys | ) |
Free a cs_cell_sys_t structure.
[in,out] | p_csys | pointer of pointer to a cs_cell_sys_t struct. |
[in,out] | p_csys | pointer of pointer to a cs_cell_sys_t struct |
void cs_cell_sys_reset | ( | int | n_fbyc, |
cs_cell_sys_t * | csys | ||
) |
Reset all members related to BC and some other ones in a cs_cell_sys_t structure.
[in] | n_fbyc | number of faces in a cell |
[in,out] | csys | pointer to the cs_cell_sys_t struct to reset |
void cs_face_mesh_build | ( | cs_lnum_t | c_id, |
cs_lnum_t | f_id, | ||
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | quant, | ||
cs_face_mesh_t * | fm | ||
) |
Define a cs_face_mesh_t structure for a given face/cell id.
[in] | c_id | cell id |
[in] | f_id | face id in the mesh structure |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to a cs_cdo_quantities_t structure |
[in,out] | fm | pointer to a cs_face_mesh_t structure to set |
void cs_face_mesh_build_from_cell_mesh | ( | const cs_cell_mesh_t * | cm, |
short int | f, | ||
cs_face_mesh_t * | fm | ||
) |
Define a cs_face_mesh_t structure for a given cell from a cs_cell_mesh_t structure. v_ids and e_ids are defined in the cell numbering given by cm.
[in] | cm | pointer to the reference cs_cell_mesh_t structure |
[in] | f | face id in the cs_cell_mesh_t structure |
[in,out] | fm | pointer to a cs_face_mesh_t structure to set |
Define a cs_face_mesh_t structure for a given cell from a cs_cell_mesh_t structure. v_ids and e_ids are defined in the cell numbering given by cm.
[in] | cm | pointer to the reference cs_cell_mesh_t structure |
[in] | f | face id in the cs_cell_mesh_t structure |
[in,out] | fm | pointer to a cs_face_mesh_t structure to set |
cs_face_mesh_t* cs_face_mesh_create | ( | short int | n_max_vbyf | ) |
Allocate a cs_face_mesh_t structure.
[in] | n_max_vbyf | max. number of vertices for a face |
[in] | n_max_vbyf | max. number of vertices fir a face |
void cs_face_mesh_free | ( | cs_face_mesh_t ** | p_fm | ) |
Free a cs_face_mesh_t structure.
[in,out] | p_fm | pointer of pointer to a cs_face_mesh_t structure |
void cs_face_mesh_light_build | ( | const cs_cell_mesh_t * | cm, |
short int | f, | ||
cs_face_mesh_light_t * | fm | ||
) |
Define a cs_face_mesh_light_t structure starting from a cs_cell_mesh_t structure.
[in] | cm | pointer to the reference cs_cell_mesh_t structure |
[in] | f | face id in the cs_cell_mesh_t structure |
[in,out] | fm | pointer to a cs_face_mesh_light_t structure to set |
cs_face_mesh_light_t* cs_face_mesh_light_create | ( | short int | n_max_vbyf, |
short int | n_max_vbyc | ||
) |
Allocate a cs_face_mesh_light_t structure.
[in] | n_max_vbyf | max. number of vertices for a face |
[in] | n_max_vbyc | max. number of vertices for a cell |
void cs_face_mesh_light_free | ( | cs_face_mesh_light_t ** | p_fm | ) |
Free a cs_face_mesh_light_t structure.
[in,out] | p_fm | pointer of pointer to a cs_face_mesh_light_t struct. |
cs_cell_mesh_t** cs_cdo_local_cell_meshes |
cs_face_mesh_t** cs_cdo_local_face_meshes |
cs_face_mesh_light_t** cs_cdo_local_face_meshes_light |