9.2
general documentation
cs_cell_mesh_t Struct Reference

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_tv_ids
 
double * xv
 
double * wvc
 
short int n_ec
 
cs_lnum_te_ids
 
cs_quant_tedge
 
cs_nvec3_tdface
 
cs_real_tpvol_e
 
short int n_fc
 
cs_lnum_t bface_shift
 
cs_lnum_tf_ids
 
short int * f_sgn
 
double * f_diam
 
double * hfc
 
cs_quant_tface
 
cs_nvec3_tdedge
 
cs_real_tpvol_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_tsefc
 

Detailed Description

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.

Member Function Documentation

◆ dump()

void dump ( ) const

Dump a cs_cell_mesh_t structure.

◆ get_edge()

short int get_edge ( const cs_lnum_t  e_id) const
inline

Retrieve the edge id in the cellwise numbering associated to the given edge id in the mesh numbering.

Parameters
[in]e_idvertex id in the mesh numbering
Returns
the edge id in the cell numbering or -1 if not found

◆ get_f2v()

void get_f2v ( short int  f,
short int *  n_vf,
short int *  vids 
) const

Retrieve the list of vertices attached to a face.

Parameters
[in]fface id in the cell numbering
[in,out]n_vfpointer of pointer to a cellwise view of the mesh
[in,out]vidslist of vertex ids in the cell numbering

◆ get_face()

short int get_face ( const cs_lnum_t  f_id) const
inline

Retrieve the face id in the cellwise numbering associated to the given face id in the mesh numbering.

Parameters
[in]f_idface id in the mesh numbering
Returns
the face id in the cell numbering or -1 if not found

◆ get_vertex()

short int get_vertex ( const cs_lnum_t  v_id) const
inline

Retrieve the vertex id in the cellwise numbering associated to the given vertex id in the mesh numbering.

Parameters
[in]v_idvertex id in the mesh numbering
[in]cmpointer to a cs_cell_mesh_t structure
Returns
the vertex id in the cell numbering or -1 if not found

◆ is_boundary_face()

bool is_boundary_face ( const short int  f) const
inline

Is the face a boundary one ?

Parameters
[in]fid of the face in the cellwise numbering
Returns
true if this is a boundary face otherwise false

◆ reset()

void reset ( )

Initialize to invalid values a cs_cell_mesh_t structure.

Member Data Documentation

◆ bface_shift

cs_lnum_t bface_shift

shift to get the boundary face numbering

◆ c_id

cs_lnum_t c_id

id of related cell

◆ dedge

cs_nvec3_t* dedge

dual edge quantities (length + unit vector)

◆ dface

cs_nvec3_t* dface

dual face quantities (area and unit normal)

◆ diam_c

double diam_c

diameter of the current cell

◆ e2f_ids

short int* e2f_ids

cell-wise edge -> faces connectivity

◆ e2v_ids

short int* e2v_ids

cell-wise edge->vertices connectivity

◆ e2v_sgn

short int* e2v_sgn

cell-wise edge->vertices orientation (-1 or +1)

◆ e_ids

cs_lnum_t* e_ids

edge ids on this rank

◆ edge

cs_quant_t* edge

edge quantities (xe, length and unit vector)

◆ f2e_ids

short int* f2e_ids

cellwise face->edges ids (size 2*n_max_ebyc)

◆ f2e_idx

short int* f2e_idx

cellwise face->edges connectivity (size n_fc+1)

◆ f2e_sgn

short int* f2e_sgn

cellwise face->edges orientation (-1 or +1)

◆ f2v_ids

short int* f2v_ids

size 2*n_max_ebyc

◆ f2v_idx

short int* f2v_idx

size n_fc + 1

◆ f_diam

double* f_diam

diameters of local faces

◆ f_ids

cs_lnum_t* f_ids

face ids on this rank

◆ f_sgn

short int* f_sgn

incidence number between f and c

◆ face

cs_quant_t* face

face quantities (xf, area and unit normal)

◆ flag

cs_eflag_t flag

indicate which quantities have to be computed

◆ hfc

double* hfc

height of the pyramid of basis f and apex c

◆ n_ec

short int n_ec

number of edges in a cell

◆ n_fc

short int n_fc

number of faces in a cell

◆ n_max_ebyc

short int n_max_ebyc

◆ n_max_fbyc

short int n_max_fbyc

◆ n_max_vbyc

short int n_max_vbyc

◆ n_vc

short int n_vc

number of vertices in a cell

◆ pvol_e

cs_real_t* pvol_e

volume associated to an edge in the cell

◆ pvol_f

cs_real_t* pvol_f

volume associated to a face in the cell

◆ sefc

cs_nvec3_t* sefc

portion of dual faces (2 triangles by edge)

◆ tef

double* tef

area of the triangle of base |e| and apex xf

◆ type

type of element related to this cell

◆ v_ids

cs_lnum_t* v_ids

vertex ids on this rank

◆ vol_c

double vol_c

volume of the current cell

◆ wvc

double* wvc

weight |dualvol(v) cap vol_c|/|vol_c|, size: n_vc

◆ xc

coordinates of the cell center

◆ xv

double* xv

local vertex coordinates (copy)


The documentation for this struct was generated from the following files: