![]() |
programmer's documentation
|
#include "cs_defs.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "bft_mem.h"
#include "fvm_io_num.h"
#include "cs_cdo.h"
#include "cs_log.h"
#include "cs_order.h"
#include "cs_parall.h"
#include "cs_sort.h"
#include "cs_cdo_connect.h"
Macros | |
#define | CS_CDO_CONNECT_DBG 0 |
Functions | |
static cs_adjacency_t * | _build_c2f_connect (const cs_mesh_t *mesh) |
Define the cell -> faces connectivity which is stored in a cs_adjacency_t structure Interior and border faces are both considered. Border face ids are shift by n_i_faces. More... | |
static void | _update_v2v_idx (int n_vf, const cs_lnum_t f2v_lst[], cs_lnum_t v2v_idx[]) |
Update the v2v index with the data from the given face connectivity. More... | |
static void | _update_v2v_lst (int n_vf, const cs_lnum_t f2v_lst[], short int count[], cs_adjacency_t *v2v) |
Update the v2v index with the data from the given face connectivity. More... | |
static cs_adjacency_t * | _create_edges (const cs_mesh_t *m) |
Allocate and define a cs_adjacency_t structure related to vertex. More... | |
static void | _add_f2e_entry (cs_lnum_t shift, cs_lnum_t v1_id, cs_lnum_t v2_id, const cs_adjacency_t *v2v, cs_adjacency_t *f2e) |
Add a entry in the face –> edges connectivity. More... | |
static cs_adjacency_t * | _build_f2e_connect (const cs_mesh_t *m, const cs_adjacency_t *v2v) |
Define the face -> edges connectivity which is stored in a cs_adjacency_t structure. More... | |
static cs_adjacency_t * | _build_e2v_connect (const cs_adjacency_t *v2v) |
Define the edge -> vertices connectivity which is stored in a cs_adjacency_t structure. More... | |
static void | _compute_max_ent (const cs_mesh_t *m, cs_cdo_connect_t *connect) |
Compute max number of entities by cell and the max range between the min. id and the max.id for edges and vertices. More... | |
static fvm_element_t | _get_cell_type (cs_lnum_t c_id, const cs_cdo_connect_t *connect) |
Associate to each cell a type of element (fvm_element_t) More... | |
static void | _assign_ifs_rs (const cs_mesh_t *mesh, cs_lnum_t n_faces, int n_face_dofs, cs_interface_set_t **p_ifs, cs_range_set_t **p_rs) |
Allocate and define a cs_range_set_t structure and a cs_interface_set_t structure for schemes with DoFs at faces. More... | |
cs_cdo_connect_t * | cs_cdo_connect_init (cs_mesh_t *mesh, cs_flag_t scheme_flag) |
Allocate and define a new cs_cdo_connect_t structure Range sets related to vertices and faces are computed inside and set as members of the cs_mesh_t structure. More... | |
cs_cdo_connect_t * | cs_cdo_connect_free (cs_cdo_connect_t *connect) |
Destroy a cs_cdo_connect_t structure. More... | |
void | cs_cdo_connect_summary (const cs_cdo_connect_t *connect) |
Summary of connectivity information. More... | |
void | cs_cdo_connect_dump (const cs_cdo_connect_t *connect) |
Dump a cs_cdo_connect_t structure. More... | |
#define CS_CDO_CONNECT_DBG 0 |
|
inlinestatic |
Add a entry in the face –> edges connectivity.
[in] | shift | position where to add the new entry |
[in] | v1_id | id of the first vertex |
[in] | v2_id | id of the second vertex |
[in] | v2v | pointer to a cs_adjacency_t structure |
[in,out] | f2e | face –> edges connectivity |
|
static |
Allocate and define a cs_range_set_t structure and a cs_interface_set_t structure for schemes with DoFs at faces.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | n_faces | number of faces (interior + border) |
[in] | n_face_dofs | number of DoFs per face |
[in,out] | p_ifs | pointer of pointer to a cs_interface_set_t |
[in,out] | p_ifs | pointer of pointer to a cs_interface_set_t |
|
static |
Define the cell -> faces connectivity which is stored in a cs_adjacency_t structure Interior and border faces are both considered. Border face ids are shift by n_i_faces.
[in] | mesh | pointer to a cs_mesh_t structure |
|
static |
Define the edge -> vertices connectivity which is stored in a cs_adjacency_t structure.
[in] | v2v | pointer to a cs_adjacency_t structure |
|
static |
Define the face -> edges connectivity which is stored in a cs_adjacency_t structure.
[in] | m | pointer to a cs_mesh_t structure |
[in] | v2v | pointer to the cs_adjacency_t structure |
|
static |
Compute max number of entities by cell and the max range between the min. id and the max.id for edges and vertices.
[in] | m | pointer to a cs_mesh_t structure |
[in,out] | connect | pointer to the cs_cdo_connect_t struct. |
|
static |
Allocate and define a cs_adjacency_t structure related to vertex.
[in] | m | pointer to the cs_mesh_t structure |
|
static |
Associate to each cell a type of element (fvm_element_t)
[in] | c_id | cell id |
[in] | connect | pointer to a cs_cdo_connect_t struct. |
|
inlinestatic |
Update the v2v index with the data from the given face connectivity.
[in] | n_vf | number of vertices for this face |
[in] | f2v_lst | face -> vertices list |
[in,out] | v2v_idx | index to update |
|
inlinestatic |
Update the v2v index with the data from the given face connectivity.
[in] | n_vf | number of vertices for this face |
[in] | f2v_lst | face -> vertices list |
[in,out] | count | array to known where to place the new elements |
[in,out] | v2v | structure to update |
void cs_cdo_connect_dump | ( | const cs_cdo_connect_t * | connect | ) |
Dump a cs_cdo_connect_t structure.
[in] | connect | pointer to cs_cdo_connect_t structure |
cs_cdo_connect_t* cs_cdo_connect_free | ( | cs_cdo_connect_t * | connect | ) |
Destroy a cs_cdo_connect_t structure.
[in] | connect | pointer to the cs_cdo_connect_t struct. to destroy |
cs_cdo_connect_t* cs_cdo_connect_init | ( | cs_mesh_t * | mesh, |
cs_flag_t | scheme_flag | ||
) |
Allocate and define a new cs_cdo_connect_t structure Range sets related to vertices and faces are computed inside and set as members of the cs_mesh_t structure.
[in,out] | mesh | pointer to a cs_mesh_t structure |
[in] | scheme_flag | flag storing requested space schemes |
void cs_cdo_connect_summary | ( | const cs_cdo_connect_t * | connect | ) |
Summary of connectivity information.
[in] | connect | pointer to cs_cdo_connect_t structure |