My Project
programmer's documentation
Functions
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 (const short int f_sgn, const cs_quant_t pfq, const cs_nvec3_t deq, 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) 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 hat 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...
 
double cs_compute_fwbs_q1 (short int f, const cs_cell_mesh_t *cm, cs_real_t *wvf, cs_real_t *pefc_vol)
 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. Compute also the volume pefc attached to each edge of the face wvf should be allocated to n_max_vbyc and pefc_vol to n_max_ebyf. More...
 
void cs_compute_fwbs_q2 (short int f, const cs_cell_mesh_t *cm, cs_real_3_t grd_c, cs_real_t *wvf, cs_real_t *pefc_vol)
 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. Compute also the volume pefc attached to each edge of the face wvf should be allocated to n_max_vbyc and pefc_vol to n_max_ebyf. More...
 
double cs_compute_fwbs_q3 (short int f, const cs_cell_mesh_t *cm, cs_real_3_t grd_c, cs_real_t *wvf, cs_real_t *pefc_vol)
 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. Compute also the volume pefc attached to each edge of the face wvf should be allocated to n_max_vbyc and pefc_vol to n_max_ebyf. 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_fwbs_q1()

double cs_compute_fwbs_q1 ( short int  f,
const cs_cell_mesh_t cm,
cs_real_t wvf,
cs_real_t pefc_vol 
)

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. Compute also the volume pefc attached to each edge of the face wvf should be allocated to n_max_vbyc and pefc_vol to n_max_ebyf.

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
[in,out]pefc_volpointer to an array storing the volume of pefc
Returns
the volume of p_{f,c}

◆ cs_compute_fwbs_q2()

void cs_compute_fwbs_q2 ( short int  f,
const cs_cell_mesh_t cm,
cs_real_3_t  grd_c,
cs_real_t wvf,
cs_real_t pefc_vol 
)

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. Compute also the volume pefc attached to each edge of the face wvf should be allocated to n_max_vbyc and pefc_vol to n_max_ebyf.

Parameters
[in]fid of the face in the cell-wise numbering
[in]cmpointer to a cs_cell_mesh_t structure
[in,out]grd_cgradient of the Lagrange function related to xc
[in,out]wvfpointer to an array storing the weight/vertex
[in,out]pefc_volpointer to an array storing the volume of pefc

◆ cs_compute_fwbs_q3()

double cs_compute_fwbs_q3 ( short int  f,
const cs_cell_mesh_t cm,
cs_real_3_t  grd_c,
cs_real_t wvf,
cs_real_t pefc_vol 
)

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. Compute also the volume pefc attached to each edge of the face wvf should be allocated to n_max_vbyc and pefc_vol to n_max_ebyf.

Parameters
[in]fid of the face in the cell-wise numbering
[in]cmpointer to a cs_cell_mesh_t structure
[in,out]grd_cgradient of the Lagrange function related to xc
[in,out]wvfpointer to an array storing the weight/vertex
[in,out]pefc_volpointer to an array storing the volume of pefc
Returns
the volume of p_{f,c}

◆ 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 hat 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()

static void cs_compute_grdfc ( const short int  f_sgn,
const cs_quant_t  pfq,
const cs_nvec3_t  deq,
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)

Parameters
[in]f_sgnorientation of the face
[in]pfqquantities related to a face
[in]deqquantities related a dual edge
[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