8.3
general documentation
cs_cdo_quantities.h
Go to the documentation of this file.
1#ifndef __CS_CDO_QUANTITIES_H__
2#define __CS_CDO_QUANTITIES_H__
3
4/*============================================================================
5 * Manage geometrical quantities needed in CDO/MAC schemes
6 *============================================================================*/
7
8/*
9 This file is part of code_saturne, a general-purpose CFD tool.
10
11 Copyright (C) 1998-2024 EDF S.A.
12
13 This program is free software; you can redistribute it and/or modify it under
14 the terms of the GNU General Public License as published by the Free Software
15 Foundation; either version 2 of the License, or (at your option) any later
16 version.
17
18 This program is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
21 details.
22
23 You should have received a copy of the GNU General Public License along with
24 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25 Street, Fifth Floor, Boston, MA 02110-1301, USA.
26*/
27
28/*----------------------------------------------------------------------------*/
29
30/*----------------------------------------------------------------------------
31 * Local headers
32 *----------------------------------------------------------------------------*/
33
34#include "cs_base.h"
35#include "cs_cdo_connect.h"
36#include "cs_flag.h"
37#include "cs_math.h"
38#include "cs_mesh.h"
39#include "cs_mesh_quantities.h"
40
41/*----------------------------------------------------------------------------*/
42
44
45/*============================================================================
46 * Macro definitions
47 *============================================================================*/
48
49/*============================================================================
50 * Type definitions
51 *============================================================================*/
52
67typedef enum {
68
72
74
100typedef enum {
101
102 /* Set of geometrical quantities related to CDO schemes */
103
104 CS_CDO_QUANTITIES_EB_SCHEME = 1 << 0, /* = 1 */
105 CS_CDO_QUANTITIES_FB_SCHEME = 1 << 1, /* = 2 */
107 CS_CDO_QUANTITIES_VB_SCHEME = 1 << 3, /* = 8 */
108 CS_CDO_QUANTITIES_VCB_SCHEME = 1 << 4, /* = 16 */
109 CS_CDO_QUANTITIES_CB_SCHEME = 1 << 5, /* = 32 */
110 CS_CDO_QUANTITIES_MAC_SCHEME = 1 << 6, /* = 64 */
111
113
114/* Structure storing information about variation of entities across the
115 mesh for a given type of entity (cell, face and edge) */
116
117typedef struct {
118
119 /* Measure is either a volume for cells, a surface for faces or a length
120 for edges */
121
122 double meas_min; /* Min. value of the entity measure */
123 double meas_max; /* Max. value of the entity measure */
124 double h_min; /* Estimation of the min. value of the diameter */
125 double h_max; /* Estimation of the max. value of the diameter */
126
128
129/* For primal vector quantities (edge or face) */
130
131typedef struct {
132
133 double meas; /* length or area */
134 double unitv[3]; /* unitary vector: tangent or normal to the element */
135 double center[3];
136
137} cs_quant_t;
138
139typedef struct { /* Specific mesh quantities */
140
141 /* Keep the information about the removal of boundary faces in case of 2D
142 computations */
143
145
146 /* Global mesh quantities */
147
148 double vol_tot;
149
150 /* Cell-based quantities */
151 /* ===================== */
152
153 cs_lnum_t n_cells; /* Local number of cells */
154 cs_gnum_t n_g_cells; /* Global number of cells */
155 cs_real_t *cell_centers; /* May be shared according to options */
156 const cs_real_t *cell_vol; /* Shared with cs_mesh_quantities_t */
157
159
160 /* Face-based quantities */
161 /* ===================== */
162
163 cs_lnum_t n_faces; /* n_i_faces + n_b_faces */
164 cs_lnum_t n_i_faces; /* Local number of interior faces */
165 cs_lnum_t n_b_faces; /* Local number of border faces */
166 cs_gnum_t n_g_faces; /* Global number of faces */
167
168 /* Remark: cs_quant_t structure attached to a face (interior or border) can
169 be built on-the-fly calling the function cs_quant_set_face(f_id, cdoq).
170 See \ref cs_quant_set_face for more details.
171
172 In order to reduce the memory consumption one shares face quantities with
173 the ones defined in the legacy part and stored in the cs_mesh_quantities_t
174 structure that's why a distinction is made between interior and border
175 faces.
176
177 cs_nvec3_t structure associated to a face can also be built on-the-fly
178 using cs_quant_set_face_nvec(f_id, cdoq).
179 See \ref cs_quant_set_face_nvec for more details.
180 */
181
182 const cs_nreal_3_t *i_face_u_normal; /* Shared with cs_mesh_quantities_t */
183 const cs_real_t *i_face_normal; /* Shared with cs_mesh_quantities_t */
184 const cs_real_t *i_face_center; /* Shared with cs_mesh_quantities_t */
185 const cs_real_t *i_face_surf; /* Shared with cs_mesh_quantities_t */
186 const cs_real_t *i_dist; /* Shared with cs_mesh_quantities_t */
187
188 const cs_nreal_3_t *b_face_u_normal; /* Unit normal of boundary faces. */
189 const cs_real_t *b_face_normal; /* Shared with cs_mesh_quantities_t */
190 const cs_real_t *b_face_center; /* Shared with cs_mesh_quantities_t */
191 const cs_real_t *b_face_surf; /* Shared with cs_mesh_quantities_t */
192 const cs_real_t *b_dist; /* Shared with cs_mesh_quantities_t */
193
194 cs_flag_cartesian_axis_t *face_axis; /* Enum for normal direction of faces
195 * Not always allocated
196 */
197
198 /* Remark: cs_nvec3_t structure attached to a dual edge can be built
199 on-the-fly to access to its length and its unit tangential vector using
200 the function cs_quant_set_dedge_nvec(shift, cdoq)
201
202 One recalls that a dual edge is associated to a primal face and is shared
203 with two cells for an interior face and shared with one cell for a
204 boundary face. Scan this quantity with the c2f connectivity.
205 */
206
207 cs_real_t *dedge_vector; /* Allocation to 3*c2f->idx[n_faces] */
208
209 cs_real_t *pvol_fc; /* Portion of volume surrounding a face
210 * in each cell. This is a pyramid of
211 * base the face and apex the cell center
212 * Scanned with the c2f adjacency.
213 * Not always allocated.
214 */
216
217 /* Edge-based quantities */
218 /* ===================== */
219
220 cs_lnum_t n_edges; /* Local number of edges */
221 cs_gnum_t n_g_edges; /* Global number of edges */
222
223 cs_real_t *edge_vector; /* Allocation to 3*n_edges
224 Norm of the vector is equal to the
225 distance between two vertices.
226 Unit vector is the tangential direction
227 attached to the edge */
228
229 /* For each edge e belonging to a cell c, the dual face is built from the
230 contributions of two triangles s(x_c, x_f, x_e) and s(x_c, x_f', x_e) with
231 the faces f and f' belonging to F_e \cap F_c
232 Scan this quantity with the c2e connectivity */
233
234 cs_real_t *dface_normal; /* Vector-valued normal for each dual face
235 * inside a cell associated to an edge */
236 cs_real_t *pvol_ec; /* Portion of volume surrounding an edge
237 * in each cell. Scanned with the c2e
238 * adjacency.
239 * Not always allocated. */
240
242
243 /* Vertex-based quantities */
244 /* ======================= */
245
246 cs_lnum_t n_vertices; /* Local number of vertices */
247 cs_gnum_t n_g_vertices; /* Global number of vertices */
248
249 cs_real_t *pvol_vc; /* Part of the dual cell associated to a
250 * vertex in each cell. These quantities
251 * are scanned thanks to the c2v
252 * adjacency structure */
253
254 const cs_real_t *vtx_coord; /* Coordinates of the mesh vertices.
255 * Shared with the cs_mesh_t structure */
256
257 /* Dual volume related to the dual cell associated in a one-to-one pairing to
258 * each vertex. This quantity has been synchronized in case of parallel
259 * computing. Size of the array = n_vertices. Not always allocated */
260
262
264
265/*============================================================================
266 * Global variables
267 *============================================================================*/
268
269/*============================================================================
270 * Public function prototypes
271 *============================================================================*/
272
273/*----------------------------------------------------------------------------*/
283/*----------------------------------------------------------------------------*/
284
285static inline double
287 const cs_real_t *xb)
288{
289 const double xab[3] = {xb[0] - qa.center[0],
290 xb[1] - qa.center[1],
291 xb[2] - qa.center[2]};
292 const double cp[3] = {qa.unitv[1]*xab[2] - qa.unitv[2]*xab[1],
293 qa.unitv[2]*xab[0] - qa.unitv[0]*xab[2],
294 qa.unitv[0]*xab[1] - qa.unitv[1]*xab[0]};
295
296 return 0.5 * qa.meas * cs_math_3_norm(cp);
297}
298
299/*----------------------------------------------------------------------------*/
305/*----------------------------------------------------------------------------*/
306
307long long
309
310/*----------------------------------------------------------------------------*/
317/*----------------------------------------------------------------------------*/
318
319void
321
322/*----------------------------------------------------------------------------*/
328/*----------------------------------------------------------------------------*/
329
330void
332
333/*----------------------------------------------------------------------------*/
345/*----------------------------------------------------------------------------*/
346
349 const cs_mesh_quantities_t *mq,
350 const cs_cdo_connect_t *topo);
351
352/*----------------------------------------------------------------------------*/
360/*----------------------------------------------------------------------------*/
361
364
365/*----------------------------------------------------------------------------*/
371/*----------------------------------------------------------------------------*/
372
373void
375
376/*----------------------------------------------------------------------------*/
382/*----------------------------------------------------------------------------*/
383
384void
386
387/*----------------------------------------------------------------------------*/
398/*----------------------------------------------------------------------------*/
399
400const cs_real_t *
402 const cs_adjacency_t *c2f);
403
404/*----------------------------------------------------------------------------*/
416/*----------------------------------------------------------------------------*/
417
418void
420 const cs_adjacency_t *c2f,
421 cs_real_t **p_pvol_fc);
422
423/*----------------------------------------------------------------------------*/
436/*----------------------------------------------------------------------------*/
437
438const cs_real_t *
440 const cs_adjacency_t *c2e);
441
442/*----------------------------------------------------------------------------*/
453/*----------------------------------------------------------------------------*/
454
455void
457 const cs_adjacency_t *c2e,
458 cs_real_t **p_pvol_ec);
459
460/*----------------------------------------------------------------------------*/
473/*----------------------------------------------------------------------------*/
474
475const cs_real_t *
477 const cs_cdo_connect_t *connect);
478
479/*----------------------------------------------------------------------------*/
492/*----------------------------------------------------------------------------*/
493
494void
496 const cs_cdo_connect_t *connect,
497 cs_real_t **p_dual_vol);
498
499/*----------------------------------------------------------------------------*/
511/*----------------------------------------------------------------------------*/
512
513void
515 const cs_cdo_quantities_t *cdoq,
516 cs_lnum_t f_id,
517 cs_real_t tef[]);
518
519/*----------------------------------------------------------------------------*/
531/*----------------------------------------------------------------------------*/
532
533void
535 const cs_cdo_quantities_t *cdoq,
536 cs_lnum_t bf_id,
537 cs_real_t tef[]);
538
539/*----------------------------------------------------------------------------*/
551/*----------------------------------------------------------------------------*/
552
553void
555 const cs_cdo_quantities_t *cdoq,
556 cs_lnum_t f_id,
557 cs_real_t wvf[]);
558
559/*----------------------------------------------------------------------------*/
571/*----------------------------------------------------------------------------*/
572
573void
575 const cs_cdo_quantities_t *cdoq,
576 cs_lnum_t bf_id,
577 cs_real_t wvf[]);
578
579/*----------------------------------------------------------------------------*/
589/*----------------------------------------------------------------------------*/
590
591inline static const cs_real_t *
593 const cs_cdo_quantities_t *cdoq)
594{
595 if (f_id < cdoq->n_i_faces) /* Interior face */
596 return cdoq->i_face_normal + 3*f_id;
597 else /* Border face */
598 return cdoq->b_face_normal + 3*(f_id - cdoq->n_i_faces);
599}
600
601/*----------------------------------------------------------------------------*/
610/*----------------------------------------------------------------------------*/
611
612inline static const cs_real_t *
614 const cs_cdo_quantities_t *cdoq)
615{
616 if (f_id < cdoq->n_i_faces) /* Interior face */
617 return cdoq->i_face_center + 3*f_id;
618 else /* Border face */
619 return cdoq->b_face_center + 3*(f_id - cdoq->n_i_faces);
620}
621
622/*----------------------------------------------------------------------------*/
631/*----------------------------------------------------------------------------*/
632
633inline static cs_real_t
635 const cs_cdo_quantities_t *cdoq)
636{
637 return (f_id < cdoq->n_i_faces) ?
638 cdoq->i_face_surf[f_id] : cdoq->b_face_surf[f_id - cdoq->n_i_faces];
639}
640
641/*----------------------------------------------------------------------------*/
650/*----------------------------------------------------------------------------*/
651
654 const cs_cdo_quantities_t *cdoq);
655
656/*----------------------------------------------------------------------------*/
666/*----------------------------------------------------------------------------*/
667
670 const cs_cdo_quantities_t *cdoq);
671
672/*----------------------------------------------------------------------------*/
682/*----------------------------------------------------------------------------*/
683
686 const cs_cdo_connect_t *topo,
687 const cs_cdo_quantities_t *cdoq);
688
689/*----------------------------------------------------------------------------*/
698/*----------------------------------------------------------------------------*/
699
702 const cs_cdo_quantities_t *cdoq);
703
704/*----------------------------------------------------------------------------*/
713/*----------------------------------------------------------------------------*/
714
717 const cs_cdo_quantities_t *cdoq);
718
719/*----------------------------------------------------------------------------*/
727/*----------------------------------------------------------------------------*/
728
729void
730cs_quant_dump(FILE *f,
731 cs_lnum_t num,
732 const cs_quant_t q);
733
734/*----------------------------------------------------------------------------*/
735
737
738#endif /* __CS_CDO_QUANTITIES_H__ */
cs_cdo_quantities_bit_t
Bit values for setting which quantities to compute.
Definition: cs_cdo_quantities.h:100
@ CS_CDO_QUANTITIES_HHO_SCHEME
Definition: cs_cdo_quantities.h:106
@ CS_CDO_QUANTITIES_VB_SCHEME
Definition: cs_cdo_quantities.h:107
@ CS_CDO_QUANTITIES_CB_SCHEME
Definition: cs_cdo_quantities.h:109
@ CS_CDO_QUANTITIES_FB_SCHEME
Definition: cs_cdo_quantities.h:105
@ CS_CDO_QUANTITIES_MAC_SCHEME
Definition: cs_cdo_quantities.h:110
@ CS_CDO_QUANTITIES_VCB_SCHEME
Definition: cs_cdo_quantities.h:108
@ CS_CDO_QUANTITIES_EB_SCHEME
Definition: cs_cdo_quantities.h:104
static cs_real_t cs_quant_get_face_surf(cs_lnum_t f_id, const cs_cdo_quantities_t *cdoq)
Retrieve the face surface for a primal face (interior or border)
Definition: cs_cdo_quantities.h:634
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:613
void cs_cdo_quantities_dump(const cs_cdo_quantities_t *cdoq)
Dump a cs_cdo_quantities_t structure (for debuggingpurpose)
Definition: cs_cdo_quantities.cpp:1361
void cs_cdo_quantities_log_summary(const cs_cdo_quantities_t *cdoq)
Summarize generic information about the cdo mesh quantities.
Definition: cs_cdo_quantities.cpp:1307
cs_quant_t cs_quant_get_edge_center(cs_lnum_t e_id, const cs_cdo_connect_t *topo, const cs_cdo_quantities_t *cdoq)
Retrieve the edge center for a primal edge (interior or border)
Definition: cs_cdo_quantities.cpp:2002
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.cpp:1914
const cs_real_t * cs_cdo_quantities_get_pvol_ec(const cs_cdo_quantities_t *cdoq, const cs_adjacency_t *c2e)
Retrieve the portion of volume surrounding each edge of a cell. This volume corresponds to an octahed...
Definition: cs_cdo_quantities.cpp:1549
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:592
void cs_cdo_quantities_set_algo_ccenter(cs_cdo_quantities_cell_center_algo_t algo)
Set the type of algorithm to use for computing the cell center.
Definition: cs_cdo_quantities.cpp:1101
const cs_real_t * cs_cdo_quantities_get_dual_volumes(cs_cdo_quantities_t *cdoq, const cs_cdo_connect_t *connect)
Compute or retrieve the dual volume surrounding each vertex. The parallel operation (sum reduction) i...
Definition: cs_cdo_quantities.cpp:1647
cs_nvec3_t cs_quant_set_dedge_nvec(cs_lnum_t shift, const cs_cdo_quantities_t *cdoq)
Get the two normalized vector associated to a dual edge.
Definition: cs_cdo_quantities.cpp:2054
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.cpp:1087
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.cpp:2033
const cs_real_t * cs_cdo_quantities_get_pvol_fc(const cs_cdo_quantities_t *cdoq, const cs_adjacency_t *c2f)
Retrieve the portion of volume surrounding each face of a cell. This volume corresponds to a pyramid ...
Definition: cs_cdo_quantities.cpp:1454
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.cpp:1867
cs_cdo_quantities_t * cs_cdo_quantities_free(cs_cdo_quantities_t *cdoq)
Destroy a cs_cdo_quantities_t structure.
Definition: cs_cdo_quantities.cpp:1265
long long cs_cdo_quantities_get_time_perfo(void)
Retrieve the time elapsed to build the cs_cdo_quantities_t structure.
Definition: cs_cdo_quantities.cpp:1072
void cs_cdo_quantities_compute_dual_volumes(const cs_cdo_quantities_t *cdoq, const cs_cdo_connect_t *connect, cs_real_t **p_dual_vol)
Compute the dual volume surrounding each vertex. The parallel operation (sum reduction) is performed ...
Definition: cs_cdo_quantities.cpp:1676
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.cpp:1488
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.cpp:1962
cs_cdo_quantities_cell_center_algo_t
Type of algorithm used to compute the cell centers.
Definition: cs_cdo_quantities.h:67
@ CS_CDO_QUANTITIES_MEANV_CENTER
Definition: cs_cdo_quantities.h:69
@ CS_CDO_QUANTITIES_BARYC_CENTER
Definition: cs_cdo_quantities.h:70
@ CS_CDO_QUANTITIES_SATURNE_CENTER
Definition: cs_cdo_quantities.h:71
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.cpp:1731
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 ...
Definition: cs_cdo_quantities.cpp:1582
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.cpp:2074
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.cpp:1121
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.cpp:1774
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.cpp:1817
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:286
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
double cs_real_t
Floating-point value.
Definition: cs_defs.h:342
cs_nreal_t cs_nreal_3_t[3]
Definition: cs_defs.h:385
uint64_t cs_gnum_t
global mesh entity number
Definition: cs_defs.h:325
#define END_C_DECLS
Definition: cs_defs.h:543
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:335
unsigned short int cs_flag_t
Definition: cs_defs.h:344
@ cp
Definition: cs_field_pointer.h:102
cs_flag_cartesian_axis_t
Definition: cs_flag.h:307
static CS_F_HOST_DEVICE 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:765
char * algo
Definition: field_names.h:100
Definition: cs_mesh_adjacencies.h:68
Definition: cs_cdo_connect.h:61
Definition: cs_cdo_quantities.h:139
const cs_nreal_3_t * b_face_u_normal
Definition: cs_cdo_quantities.h:188
cs_gnum_t n_g_edges
Definition: cs_cdo_quantities.h:221
const cs_real_t * b_face_surf
Definition: cs_cdo_quantities.h:191
const cs_real_t * i_face_center
Definition: cs_cdo_quantities.h:184
const cs_real_t * b_face_center
Definition: cs_cdo_quantities.h:190
cs_lnum_t n_i_faces
Definition: cs_cdo_quantities.h:164
const cs_real_t * b_dist
Definition: cs_cdo_quantities.h:192
cs_lnum_t n_faces
Definition: cs_cdo_quantities.h:163
cs_lnum_t n_b_faces
Definition: cs_cdo_quantities.h:165
cs_quant_info_t edge_info
Definition: cs_cdo_quantities.h:241
cs_real_t * dual_vol
Definition: cs_cdo_quantities.h:261
cs_gnum_t n_g_vertices
Definition: cs_cdo_quantities.h:247
const cs_real_t * i_dist
Definition: cs_cdo_quantities.h:186
cs_lnum_t n_cells
Definition: cs_cdo_quantities.h:153
cs_real_t * pvol_ec
Definition: cs_cdo_quantities.h:236
cs_quant_info_t face_info
Definition: cs_cdo_quantities.h:215
const cs_real_t * i_face_normal
Definition: cs_cdo_quantities.h:183
const cs_real_t * b_face_normal
Definition: cs_cdo_quantities.h:189
cs_gnum_t n_g_cells
Definition: cs_cdo_quantities.h:154
double vol_tot
Definition: cs_cdo_quantities.h:148
const cs_real_t * vtx_coord
Definition: cs_cdo_quantities.h:254
cs_lnum_t n_vertices
Definition: cs_cdo_quantities.h:246
cs_gnum_t n_g_faces
Definition: cs_cdo_quantities.h:166
cs_real_t * cell_centers
Definition: cs_cdo_quantities.h:155
cs_lnum_t n_edges
Definition: cs_cdo_quantities.h:220
cs_real_t * pvol_fc
Definition: cs_cdo_quantities.h:209
cs_real_t * pvol_vc
Definition: cs_cdo_quantities.h:249
const cs_real_t * cell_vol
Definition: cs_cdo_quantities.h:156
cs_quant_info_t cell_info
Definition: cs_cdo_quantities.h:158
cs_real_t * dface_normal
Definition: cs_cdo_quantities.h:234
bool remove_boundary_faces
Definition: cs_cdo_quantities.h:144
const cs_real_t * i_face_surf
Definition: cs_cdo_quantities.h:185
cs_real_t * edge_vector
Definition: cs_cdo_quantities.h:223
const cs_nreal_3_t * i_face_u_normal
Definition: cs_cdo_quantities.h:182
cs_flag_cartesian_axis_t * face_axis
Definition: cs_cdo_quantities.h:194
cs_real_t * dedge_vector
Definition: cs_cdo_quantities.h:207
Definition: cs_mesh_quantities.h:92
Definition: cs_mesh.h:85
Definition: cs_defs.h:400
Definition: cs_cdo_quantities.h:117
double meas_max
Definition: cs_cdo_quantities.h:123
double meas_min
Definition: cs_cdo_quantities.h:122
double h_min
Definition: cs_cdo_quantities.h:124
double h_max
Definition: cs_cdo_quantities.h:125
Definition: cs_cdo_quantities.h:131
double meas
Definition: cs_cdo_quantities.h:133
double center[3]
Definition: cs_cdo_quantities.h:135
double unitv[3]
Definition: cs_cdo_quantities.h:134