Set of local quantities and connectivities related to a mesh cell. More...
#include <cs_cdo_local.h>
Collaboration diagram for cs_cell_mesh_t:Public Member Functions | |
| short int | get_vertex (const cs_lnum_t v_id) const |
| Retrieve the vertex id in the cellwise numbering associated to the given vertex id in the mesh numbering. More... | |
| short int | get_edge (const cs_lnum_t e_id) const |
| Retrieve the edge id in the cellwise numbering associated to the given edge id in the mesh numbering. More... | |
| short int | get_face (const cs_lnum_t f_id) const |
| Retrieve the face id in the cellwise numbering associated to the given face id in the mesh numbering. More... | |
| void | get_f2v (short int f, short int *n_vf, short int *vids) const |
| Retrieve the list of vertices attached to a face. More... | |
| bool | is_boundary_face (const short int f) const |
| Is the face a boundary one ? More... | |
| void | reset () |
| Initialize to invalid values a cs_cell_mesh_t structure. More... | |
| void | dump () const |
| Dump a cs_cell_mesh_t structure. More... | |
Public Attributes | |
| cs_eflag_t | flag |
| fvm_element_t | type |
| short int | n_max_vbyc |
| short int | n_max_ebyc |
| short int | n_max_fbyc |
| cs_lnum_t | c_id |
| cs_real_3_t | xc |
| double | vol_c |
| double | diam_c |
| short int | n_vc |
| cs_lnum_t * | v_ids |
| double * | xv |
| double * | wvc |
| short int | n_ec |
| cs_lnum_t * | e_ids |
| cs_quant_t * | edge |
| cs_nvec3_t * | dface |
| cs_real_t * | pvol_e |
| short int | n_fc |
| cs_lnum_t | bface_shift |
| cs_lnum_t * | f_ids |
| short int * | f_sgn |
| double * | f_diam |
| double * | hfc |
| cs_quant_t * | face |
| cs_nvec3_t * | dedge |
| cs_real_t * | pvol_f |
| short int * | e2v_ids |
| short int * | e2v_sgn |
| short int * | f2v_idx |
| short int * | f2v_ids |
| short int * | f2e_idx |
| short int * | f2e_ids |
| short int * | f2e_sgn |
| double * | tef |
| short int * | e2f_ids |
| cs_nvec3_t * | sefc |
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.
| void dump | ( | ) | const |
Dump a cs_cell_mesh_t structure.
|
inline |
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 |
| void get_f2v | ( | short int | f, |
| short int * | n_vf, | ||
| short int * | vids | ||
| ) | const |
Retrieve the list of vertices attached to a face.
| [in] | f | face id in the cell numbering |
| [in,out] | n_vf | pointer of pointer to a cellwise view of the mesh |
| [in,out] | vids | list of vertex ids in the cell numbering |
|
inline |
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 |
|
inline |
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 |
|
inline |
Is the face a boundary one ?
| [in] | f | id of the face in the cellwise numbering |
| void reset | ( | ) |
Initialize to invalid values a cs_cell_mesh_t structure.
| cs_lnum_t bface_shift |
shift to get the boundary face numbering
| cs_lnum_t c_id |
id of related cell
| cs_nvec3_t* dedge |
dual edge quantities (length + unit vector)
| cs_nvec3_t* dface |
dual face quantities (area and unit normal)
| double diam_c |
diameter of the current cell
| short int* e2f_ids |
cell-wise edge -> faces connectivity
| short int* e2v_ids |
cell-wise edge->vertices connectivity
| short int* e2v_sgn |
cell-wise edge->vertices orientation (-1 or +1)
| cs_lnum_t* e_ids |
edge ids on this rank
| cs_quant_t* edge |
edge quantities (xe, length and unit vector)
| short int* f2e_ids |
cellwise face->edges ids (size 2*n_max_ebyc)
| short int* f2e_idx |
cellwise face->edges connectivity (size n_fc+1)
| short int* f2e_sgn |
cellwise face->edges orientation (-1 or +1)
| short int* f2v_ids |
size 2*n_max_ebyc
| short int* f2v_idx |
size n_fc + 1
| double* f_diam |
diameters of local faces
| cs_lnum_t* f_ids |
face ids on this rank
| short int* f_sgn |
incidence number between f and c
| cs_quant_t* face |
face quantities (xf, area and unit normal)
| cs_eflag_t flag |
indicate which quantities have to be computed
| double* hfc |
height of the pyramid of basis f and apex c
| short int n_ec |
number of edges in a cell
| short int n_fc |
number of faces in a cell
| short int n_max_ebyc |
| short int n_max_fbyc |
| short int n_max_vbyc |
| short int n_vc |
number of vertices in a cell
| cs_real_t* pvol_e |
volume associated to an edge in the cell
| cs_real_t* pvol_f |
volume associated to a face in the cell
| cs_nvec3_t* sefc |
portion of dual faces (2 triangles by edge)
| double* tef |
area of the triangle of base |e| and apex xf
| fvm_element_t type |
type of element related to this cell
| cs_lnum_t* v_ids |
vertex ids on this rank
| double vol_c |
volume of the current cell
| double* wvc |
weight |dualvol(v) cap vol_c|/|vol_c|, size: n_vc
| cs_real_3_t xc |
coordinates of the cell center
| double* xv |
local vertex coordinates (copy)