1#ifndef __CS_CDO_QUANTITIES_H__
2#define __CS_CDO_QUANTITIES_H__
50#define CS_CDO_ORTHO (1 << 0)
196 const double xab[3] = {xb[0] - qa.
center[0],
199 const double cp[3] = {qa.
unitv[1]*xab[2] - qa.
unitv[2]*xab[1],
382 if (f_id < cdoq->n_i_faces)
403 if (f_id < cdoq->n_i_faces)
cs_cdo_quantities_algo_ccenter_t
Definition cs_cdo_quantities.h:57
@ CS_CDO_QUANTITIES_BARYC_CENTER
Definition cs_cdo_quantities.h:63
@ CS_CDO_QUANTITIES_SATURNE_CENTER
Definition cs_cdo_quantities.h:66
@ CS_CDO_QUANTITIES_N_CENTER_ALGOS
Definition cs_cdo_quantities.h:68
@ CS_CDO_QUANTITIES_MEANV_CENTER
Definition cs_cdo_quantities.h:60
static const cs_real_t * cs_quant_get_face_center(cs_lnum_t f_id, const cs_cdo_quantities_t *cdoq)
Retrieve the face center for a primal face (interior or border)
Definition cs_cdo_quantities.h:400
void cs_cdo_quantities_dump(const cs_cdo_quantities_t *cdoq)
Dump a cs_cdo_quantities_t structure.
Definition cs_cdo_quantities.c:1218
cs_quant_t cs_quant_set_face(cs_lnum_t f_id, const cs_cdo_quantities_t *cdoq)
Define a cs_quant_t structure for a primal face (interior or border)
Definition cs_cdo_quantities.c:1506
void cs_cdo_quantities_compute_dual_volumes(const cs_cdo_quantities_t *cdoq, const cs_adjacency_t *c2v, cs_real_t *dual_vol)
Compute the dual volume surrounding each vertex.
Definition cs_cdo_quantities.c:1296
static const cs_real_t * cs_quant_get_face_vector_area(cs_lnum_t f_id, const cs_cdo_quantities_t *cdoq)
Retrieve the face vector which the face_area * face_normal for a primal face (interior or border)
Definition cs_cdo_quantities.h:379
cs_cdo_quantities_t * cs_cdo_quantities_free(cs_cdo_quantities_t *q)
Destroy a cs_cdo_quantities_t structure.
Definition cs_cdo_quantities.c:1122
cs_nvec3_t cs_quant_set_edge_nvec(cs_lnum_t e_id, const cs_cdo_quantities_t *cdoq)
Get the normalized vector associated to a primal edge.
Definition cs_cdo_quantities.c:1583
void cs_cdo_quantities_compute_b_wvf(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, cs_lnum_t bf_id, cs_real_t wvf[])
Compute the weight related to each vertex of a face. This weight ensures a 2nd order approximation if...
Definition cs_cdo_quantities.c:1460
void cs_cdo_quantities_set_algo_ccenter(cs_cdo_quantities_algo_ccenter_t algo)
Set the type of algorithm to use for computing the cell center.
Definition cs_cdo_quantities.c:894
cs_nvec3_t cs_quant_set_dedge_nvec(cs_lnum_t f_shift, const cs_cdo_quantities_t *cdoq)
Get the two normalized vector associated to a dual edge.
Definition cs_cdo_quantities.c:1604
void cs_cdo_quantities_summary(const cs_cdo_quantities_t *quant)
Summarize generic information about the cdo mesh quantities.
Definition cs_cdo_quantities.c:1158
cs_nvec3_t cs_quant_set_face_nvec(cs_lnum_t f_id, const cs_cdo_quantities_t *cdoq)
Retrieve the face surface and its unit normal vector for a primal face (interior or border)
Definition cs_cdo_quantities.c:1558
void cs_cdo_quantities_compute_i_tef(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, cs_lnum_t f_id, cs_real_t tef[])
Compute the area of the triangles with basis each edge of the face and apex the face center....
Definition cs_cdo_quantities.c:1327
void cs_quant_dump(FILE *f, cs_lnum_t num, const cs_quant_t q)
Dump a cs_quant_t structure.
Definition cs_cdo_quantities.c:1624
cs_cdo_quantities_t * cs_cdo_quantities_build(const cs_mesh_t *m, const cs_mesh_quantities_t *mq, const cs_cdo_connect_t *topo)
Build a cs_cdo_quantities_t structure.
Definition cs_cdo_quantities.c:912
void cs_cdo_quantities_compute_b_tef(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, cs_lnum_t bf_id, cs_real_t tef[])
Compute the area of the triangles with basis each edge of the face and apex the face center....
Definition cs_cdo_quantities.c:1369
void cs_cdo_quantities_compute_i_wvf(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, cs_lnum_t f_id, cs_real_t wvf[])
Compute the weight related to each vertex of a face. This weight ensures a 2nd order approximation if...
Definition cs_cdo_quantities.c:1411
static double cs_compute_area_from_quant(const cs_quant_t qa, const cs_real_t *xb)
Compute the area of the triangle of base given by q (related to a segment) with apex located at xa.
Definition cs_cdo_quantities.h:193
#define BEGIN_C_DECLS
Definition cs_defs.h:467
double cs_real_t
Floating-point value.
Definition cs_defs.h:302
#define END_C_DECLS
Definition cs_defs.h:468
int cs_lnum_t
local mesh entity id
Definition cs_defs.h:298
unsigned short int cs_flag_t
Definition cs_defs.h:304
@ cp
Definition cs_field_pointer.h:106
static cs_real_t cs_math_3_norm(const cs_real_t v[3])
Compute the euclidean norm of a vector of dimension 3.
Definition cs_math.h:372
Definition cs_mesh_adjacencies.h:90
Definition cs_cdo_connect.h:74
Definition cs_cdo_quantities.h:94
cs_gnum_t n_g_edges
Definition cs_cdo_quantities.h:144
const cs_real_t * b_face_surf
Definition cs_cdo_quantities.h:123
cs_real_t * sface_normal
Definition cs_cdo_quantities.h:155
cs_flag_t * cell_flag
Definition cs_cdo_quantities.h:106
const cs_real_t * i_face_center
Definition cs_cdo_quantities.h:117
const cs_real_t * b_face_center
Definition cs_cdo_quantities.h:122
cs_real_t * dcell_vol
Definition cs_cdo_quantities.h:166
cs_lnum_t n_i_faces
Definition cs_cdo_quantities.h:115
cs_lnum_t n_faces
Definition cs_cdo_quantities.h:125
cs_lnum_t n_b_faces
Definition cs_cdo_quantities.h:120
cs_quant_info_t edge_info
Definition cs_cdo_quantities.h:158
cs_gnum_t n_g_vertices
Definition cs_cdo_quantities.h:164
cs_lnum_t n_cells
Definition cs_cdo_quantities.h:102
cs_real_t * cell_vol
Definition cs_cdo_quantities.h:105
cs_quant_info_t face_info
Definition cs_cdo_quantities.h:138
const cs_real_t * i_face_normal
Definition cs_cdo_quantities.h:116
const cs_real_t * b_face_normal
Definition cs_cdo_quantities.h:121
cs_gnum_t n_g_cells
Definition cs_cdo_quantities.h:103
double vol_tot
Definition cs_cdo_quantities.h:97
const cs_real_t * vtx_coord
Definition cs_cdo_quantities.h:168
cs_lnum_t n_vertices
Definition cs_cdo_quantities.h:163
cs_gnum_t n_g_faces
Definition cs_cdo_quantities.h:126
cs_real_t * cell_centers
Definition cs_cdo_quantities.h:104
cs_lnum_t n_edges
Definition cs_cdo_quantities.h:143
cs_quant_info_t cell_info
Definition cs_cdo_quantities.h:110
const cs_real_t * i_face_surf
Definition cs_cdo_quantities.h:118
cs_real_t * edge_vector
Definition cs_cdo_quantities.h:146
cs_real_t * dedge_vector
Definition cs_cdo_quantities.h:131
Definition cs_mesh_quantities.h:90
Definition cs_cdo_quantities.h:74
double meas_max
Definition cs_cdo_quantities.h:79
double meas_min
Definition cs_cdo_quantities.h:78
double h_min
Definition cs_cdo_quantities.h:80
double h_max
Definition cs_cdo_quantities.h:81
Definition cs_cdo_quantities.h:86
double meas
Definition cs_cdo_quantities.h:88
double center[3]
Definition cs_cdo_quantities.h:90
double unitv[3]
Definition cs_cdo_quantities.h:89