1 #ifndef __CS_CDO_QUANTITIES_H__
2 #define __CS_CDO_QUANTITIES_H__
243 cs_compute_area_from_quant(
const cs_quant_t qa,
246 const double xab[3] = {xb[0] - qa.
center[0],
249 const double cp[3] = {qa.
unitv[1]*xab[2] - qa.
unitv[2]*xab[1],
253 return 0.5 * qa.
meas * cs_math_3_norm(
cp);
481 cs_quant_get_face_vector_area(
cs_lnum_t f_id,
484 if (f_id < cdoq->n_i_faces)
505 if (f_id < cdoq->n_i_faces)
void cs_cdo_quantities_set_algo_ccenter(cs_cdo_quantities_bit_t algo)
Set the type of algorithm to use for computing the cell center (deprecated)
Definition: cs_cdo_quantities.c:945
cs_cdo_quantities_bit_t
Bit values for setting which quantities to compute.
Definition: cs_cdo_quantities.h:82
@ CS_CDO_QUANTITIES_HHO_SCHEME
Definition: cs_cdo_quantities.h:88
@ CS_CDO_QUANTITIES_VB_SCHEME
Definition: cs_cdo_quantities.h:89
@ CS_CDO_QUANTITIES_FB_SCHEME
Definition: cs_cdo_quantities.h:87
@ CS_CDO_QUANTITIES_MEANV_CENTER
Definition: cs_cdo_quantities.h:95
@ CS_CDO_QUANTITIES_BARYC_CENTER
Definition: cs_cdo_quantities.h:96
@ CS_CDO_QUANTITIES_SATURNE_CENTER
Definition: cs_cdo_quantities.h:97
@ CS_CDO_QUANTITIES_VCB_SCHEME
Definition: cs_cdo_quantities.h:90
@ CS_CDO_QUANTITIES_EB_SCHEME
Definition: cs_cdo_quantities.h:86
void cs_cdo_quantities_dump(const cs_cdo_quantities_t *cdoq)
Dump a cs_cdo_quantities_t structure.
Definition: cs_cdo_quantities.c:1175
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:1095
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. Some quantities are shared with the cs_mesh_quantities_t struc...
Definition: cs_cdo_quantities.c:965
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:1577
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:1367
void cs_cdo_quantities_set(cs_flag_t option_flag)
Set which quantities have to be computed. Additionnal quantities are added to cs_cdo_quantities_flag ...
Definition: cs_cdo_quantities.c:930
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:1654
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:1531
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:1675
void cs_cdo_quantities_summary(const cs_cdo_quantities_t *quant)
Summarize generic information about the cdo mesh quantities.
Definition: cs_cdo_quantities.c:1131
void cs_cdo_quantities_compute_pvol_fc(const cs_cdo_quantities_t *cdoq, const cs_adjacency_t *c2f, cs_real_t **p_pvol_fc)
Compute the portion of volume surrounding each face of a cell. This volume corresponds to a pyramid w...
Definition: cs_cdo_quantities.c:1257
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:1629
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:1398
void cs_cdo_quantities_compute_pvol_ec(const cs_cdo_quantities_t *cdoq, const cs_adjacency_t *c2e, cs_real_t **p_pvol_ec)
Compute the portion of volume surrounding each edge of a cell The computed quantity is scanned with t...
Definition: cs_cdo_quantities.c:1311
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:1695
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:1440
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:1482
#define BEGIN_C_DECLS
Definition: cs_defs.h:492
double cs_real_t
Floating-point value.
Definition: cs_defs.h:304
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:283
#define END_C_DECLS
Definition: cs_defs.h:493
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:298
unsigned short int cs_flag_t
Definition: cs_defs.h:306
@ cp
Definition: cs_field_pointer.h:106
Definition: cs_mesh_adjacencies.h:67
Definition: cs_cdo_connect.h:76
Definition: cs_cdo_quantities.h:124
cs_gnum_t n_g_edges
Definition: cs_cdo_quantities.h:186
const cs_real_t * b_face_surf
Definition: cs_cdo_quantities.h:162
const cs_real_t * i_face_center
Definition: cs_cdo_quantities.h:156
const cs_real_t * b_face_center
Definition: cs_cdo_quantities.h:161
cs_real_t * dcell_vol
Definition: cs_cdo_quantities.h:214
cs_lnum_t n_i_faces
Definition: cs_cdo_quantities.h:154
cs_lnum_t n_faces
Definition: cs_cdo_quantities.h:146
cs_lnum_t n_b_faces
Definition: cs_cdo_quantities.h:159
cs_quant_info_t edge_info
Definition: cs_cdo_quantities.h:206
cs_gnum_t n_g_vertices
Definition: cs_cdo_quantities.h:212
cs_lnum_t n_cells
Definition: cs_cdo_quantities.h:136
cs_real_t * pvol_ec
Definition: cs_cdo_quantities.h:201
cs_quant_info_t face_info
Definition: cs_cdo_quantities.h:180
const cs_real_t * i_face_normal
Definition: cs_cdo_quantities.h:155
const cs_real_t * b_face_normal
Definition: cs_cdo_quantities.h:160
cs_flag_t flag
Definition: cs_cdo_quantities.h:128
cs_gnum_t n_g_cells
Definition: cs_cdo_quantities.h:137
double vol_tot
Definition: cs_cdo_quantities.h:131
const cs_real_t * vtx_coord
Definition: cs_cdo_quantities.h:218
cs_lnum_t n_vertices
Definition: cs_cdo_quantities.h:211
cs_gnum_t n_g_faces
Definition: cs_cdo_quantities.h:147
cs_real_t * cell_centers
Definition: cs_cdo_quantities.h:138
cs_lnum_t n_edges
Definition: cs_cdo_quantities.h:185
cs_real_t * pvol_fc
Definition: cs_cdo_quantities.h:174
const cs_real_t * cell_vol
Definition: cs_cdo_quantities.h:139
cs_quant_info_t cell_info
Definition: cs_cdo_quantities.h:141
cs_real_t * dface_normal
Definition: cs_cdo_quantities.h:199
const cs_real_t * i_face_surf
Definition: cs_cdo_quantities.h:157
cs_real_t * edge_vector
Definition: cs_cdo_quantities.h:188
cs_real_t * dedge_vector
Definition: cs_cdo_quantities.h:172
Definition: cs_mesh_quantities.h:89
Definition: cs_defs.h:350
Definition: cs_cdo_quantities.h:104
double meas_max
Definition: cs_cdo_quantities.h:109
double meas_min
Definition: cs_cdo_quantities.h:108
double h_min
Definition: cs_cdo_quantities.h:110
double h_max
Definition: cs_cdo_quantities.h:111
Definition: cs_cdo_quantities.h:116
double meas
Definition: cs_cdo_quantities.h:118
double center[3]
Definition: cs_cdo_quantities.h:120
double unitv[3]
Definition: cs_cdo_quantities.h:119