8.0
general documentation
cs_scheme_geometry.h File Reference
#include "cs_cdo_local.h"
#include "cs_math.h"
+ Include dependency graph for cs_scheme_geometry.h:

Go to the source code of this file.

Functions

static void cs_compute_grdfc_cw (short int f, const cs_cell_mesh_t *cm, cs_real_t *grd_c)
 Compute the value of the constant gradient of the Lagrange function attached to xc in p_{f,c} (constant inside this volume) Cell-wise version. More...
 
static void cs_compute_grdfc_fw (const cs_face_mesh_t *fm, cs_real_t *grd_c)
 Compute the value of the constant gradient of the Lagrange function attached to xc in p_{f,c} (constant inside this volume) Face-wise version. More...
 
static void cs_compute_wef (short int f, const cs_cell_mesh_t *cm, cs_real_t *wef)
 Compute the weight wef = |tef|/|f|. More...
 
static void cs_compute_pefc (short int f, const cs_cell_mesh_t *cm, cs_real_t *pefc)
 Compute the volume related to each tetrahedron of base tef and apex x_c (there are as many tetrahedra as edges in a face) More...
 
static void cs_compute_wvf (short int f, const cs_cell_mesh_t *cm, cs_real_t *wvf)
 Compute for a face the weight related to each vertex w_{v,f} This weight is equal to |dc(v) cap f|/|f| so that the sum of the weights is equal to 1. More...
 
void cs_compute_face_covariance_tensor (const cs_cell_mesh_t *cm, short int f, const cs_nvec3_t ax, const cs_nvec3_t ay, const cs_real_t center[3], cs_real_t cov[3])
 Compute the inertial matrix of a cell with respect to the point called "center". This computation is performed exactly thanks to quadrature based on a "tetrahedrization" of the cell. More...
 
void cs_compute_inertia_tensor (const cs_cell_mesh_t *cm, const cs_real_t center[3], cs_real_t inertia[3][3])
 Compute the inertial matrix of a cell with respect to the point called "center". This computation is performed exactly thanks to quadrature based on a "tetrahedrization" of the cell. More...
 
void cs_compute_grd_ve (const short int v1, const short int v2, const cs_nvec3_t deq, const cs_real_3_t uvc[], const cs_real_t lvc[], cs_real_t *grd_v1, cs_real_t *grd_v2)
 Compute the gradient of a Lagrange function related to primal vertices in a p_{ef,c} subvolume of a cell c where e is an edge belonging to the face f with vertices v1 and v2. More...
 
void cs_compute_wef_wvf (short int f, const cs_cell_mesh_t *cm, cs_real_t *wvf, cs_real_t *wef)
 Compute for a face the weight related to each vertex w_{v,f} and the weight related to each edge w_{v,f} = |dc(v) cap f|/|f| Sum of w_{v,f} over the face vertices is equal to 1 Sum of w_{e,f} over the face edges is equal to 1. More...
 

Function Documentation

◆ cs_compute_face_covariance_tensor()

void cs_compute_face_covariance_tensor ( const cs_cell_mesh_t cm,
short int  f,
const cs_nvec3_t  ax,
const cs_nvec3_t  ay,
const cs_real_t  center[3],
cs_real_t  cov[3] 
)

Compute the inertial matrix of a cell with respect to the point called "center". This computation is performed exactly thanks to quadrature based on a "tetrahedrization" of the cell.

Parameters
[in]cmpointer to a cs_cell_mesh_t structure
[in]fid of the face in the cell numbering
[in]axmain X-axis for the face-related coordinate system
[in]aymain Y-axis for the face-related coordinate system
[in]centercoordinates of the face center
[in,out]cov2x2 symmetric covariance matrix to compute

◆ cs_compute_grd_ve()

void cs_compute_grd_ve ( const short int  v1,
const short int  v2,
const cs_nvec3_t  deq,
const cs_real_3_t  uvc[],
const cs_real_t  lvc[],
cs_real_t grd_v1,
cs_real_t grd_v2 
)

Compute the gradient of a Lagrange function related to primal vertices in a p_{ef,c} subvolume of a cell c where e is an edge belonging to the face f with vertices v1 and v2.

Parameters
[in]v1number of the first vertex in cell numbering
[in]v2number of the second vertex in cell numbering
[in]deqdual edge quantities
[in]uvcxc --> xv unit tangent vector
[in]lvcxc --> xv vector length
[in,out]grd_v1gradient of Lagrange function related to v1
[in,out]grd_v2gradient of Lagrange function related to v2

Compute the gradient of a Lagrange function related to primal vertices in a p_{ef,c} subvolume of a cell c where e is an edge belonging to the face f with vertices v1 and v2.

Parameters
[in]v1number of the first vertex in cell numbering
[in]v2number of the second vertex in cell numbering
[in]deqdual edge quantities
[in]uvcxc --> xv unit tangent vector
[in]lvcxc --> xv vector length
[in,out]grd_v1gradient of Lagrange function related to v1
[in,out]grd_v2gradient of Lagrange function related to v2

◆ cs_compute_grdfc_cw()

static void cs_compute_grdfc_cw ( short int  f,
const cs_cell_mesh_t cm,
cs_real_t grd_c 
)
inlinestatic

Compute the value of the constant gradient of the Lagrange function attached to xc in p_{f,c} (constant inside this volume) Cell-wise version.

Parameters
[in]fface number in the cellwise numbering to handle
[in]cmpointer to a cell_mesh_t structure
[in,out]grd_cgradient of the Lagrange function related to xc

◆ cs_compute_grdfc_fw()

static void cs_compute_grdfc_fw ( const cs_face_mesh_t fm,
cs_real_t grd_c 
)
inlinestatic

Compute the value of the constant gradient of the Lagrange function attached to xc in p_{f,c} (constant inside this volume) Face-wise version.

Parameters
[in]fmpointer to a local mesh structure on a face
[in,out]grd_cgradient of the Lagrange function related to xc

◆ cs_compute_inertia_tensor()

void cs_compute_inertia_tensor ( const cs_cell_mesh_t cm,
const cs_real_t  center[3],
cs_real_t  inertia[3][3] 
)

Compute the inertial matrix of a cell with respect to the point called "center". This computation is performed exactly thanks to quadrature based on a "tetrahedrization" of the cell.

Parameters
[in]cmpointer to a cs_cell_mesh_t structure
[in]centercoordinates of the cell center
[in,out]inertiainertia matrix to compute

◆ cs_compute_pefc()

static void cs_compute_pefc ( short int  f,
const cs_cell_mesh_t cm,
cs_real_t pefc 
)
inlinestatic

Compute the volume related to each tetrahedron of base tef and apex x_c (there are as many tetrahedra as edges in a face)

Parameters
[in]fid of the face in the cell-wise numbering
[in]cmpointer to a cs_cell_mesh_t structure
[in,out]pefcpointer to an array storing the volumes

◆ cs_compute_wef()

static void cs_compute_wef ( short int  f,
const cs_cell_mesh_t cm,
cs_real_t wef 
)
inlinestatic

Compute the weight wef = |tef|/|f|.

Parameters
[in]fid of the face in the cell-wise numbering
[in]cmpointer to a cs_cell_mesh_t structure
[in,out]wefpointer to an array storing the weight/vertex

◆ cs_compute_wef_wvf()

void cs_compute_wef_wvf ( short int  f,
const cs_cell_mesh_t cm,
cs_real_t wvf,
cs_real_t wef 
)

Compute for a face the weight related to each vertex w_{v,f} and the weight related to each edge w_{v,f} = |dc(v) cap f|/|f| Sum of w_{v,f} over the face vertices is equal to 1 Sum of w_{e,f} over the face edges is equal to 1.

Parameters
[in]fid of the face in the cell-wise numbering
[in]cmpointer to a cs_cell_mesh_t structure
[in,out]wvfweights of each face vertex
[in,out]wefweights of each face edge

◆ cs_compute_wvf()

static void cs_compute_wvf ( short int  f,
const cs_cell_mesh_t cm,
cs_real_t wvf 
)
inlinestatic

Compute for a face the weight related to each vertex w_{v,f} This weight is equal to |dc(v) cap f|/|f| so that the sum of the weights is equal to 1.

Parameters
[in]fid of the face in the cell-wise numbering
[in]cmpointer to a cs_cell_mesh_t structure
[in,out]wvfpointer to an array storing the weight/vertex (allocated to the number of cell vertices)