#include "cs_cdo_connect.h"#include "cs_cdo_quantities.h"#include "cs_flag.h"#include "cs_param_cdo.h"#include "cs_sdm.h" Include dependency graph for cs_cdo_local.h:
 Include dependency graph for cs_cdo_local.h:Go to the source code of this file.
| Data Structures | |
| struct | cs_cell_builder_t | 
| Set of local and temporary buffers.  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.  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 bool | cs_cell_has_boundary_elements (const cs_cell_builder_t *const cb) | 
| Check if at least one entity of the cell belongs to the boundary.  More... | |
| 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_e (const cs_lnum_t e_id, const cs_cell_mesh_t *const cm) | 
| Retrieve the edge id in the cellwise numbering associated to the given edge 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 used for build system with a cellwise or facewise process.  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_eflag_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 used for build system with a cellwise or facewise process.
| [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 | 
| 
 | inlinestatic | 
Check if at least one entity of the cell belongs to the boundary.
| [in] | cb | pointer to a cs_cell_builder_t structure | 
| void cs_cell_mesh_build | ( | cs_lnum_t | c_id, | 
| cs_eflag_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 edge id in the cellwise numbering associated to the given edge id in the mesh numbering.
| [in] | e_id | vertex id in the mesh numbering | 
| [in] | cm | 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 DoFs at a cell-wise level | 
| [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. | 
| [in] | n_max_dofbyc | max. number of DoFs at a cell-wise level | 
| [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 for 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. | 
| 
 | extern | 
| 
 | extern | 
| 
 | extern |