Functions to handle low-level actions related to CDO local quantities such as cell mesh structures or cellwise systems. More...
#include "cs_defs.h"#include <assert.h>#include <float.h>#include <limits.h>#include <bft_mem.h>#include <bft_printf.h>#include "cs_math.h"#include "cs_param_types.h"#include "cs_cdo_local.h" Include dependency graph for cs_cdo_local.c:
 Include dependency graph for cs_cdo_local.c:| Macros | |
| #define | CS_CDO_LOCAL_DBG 0 | 
| #define | _dp3 cs_math_3_dot_product | 
| Functions | |
| 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.  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 = NULL | 
| cs_face_mesh_t ** | cs_cdo_local_face_meshes = NULL | 
| cs_face_mesh_light_t ** | cs_cdo_local_face_meshes_light = NULL | 
| static const int | n_robin_parameters = 3 | 
| static int | cs_cdo_local_n_structures = 0 | 
| static short int ** | cs_cdo_local_kbuf = NULL | 
Functions to handle low-level actions related to CDO local quantities such as cell mesh structures or cellwise systems.
| #define _dp3 cs_math_3_dot_product | 
| #define CS_CDO_LOCAL_DBG 0 | 
| 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 | 
| 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 | 
| 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 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 | 
| 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.
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 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 = NULL | 
| cs_face_mesh_t** cs_cdo_local_face_meshes = NULL | 
| cs_face_mesh_light_t** cs_cdo_local_face_meshes_light = NULL | 
| 
 | static | 
| 
 | static | 
| 
 | static |