9.0
general documentation
Loading...
Searching...
No Matches
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-2025 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 "base/cs_base.h"
35#include "cdo/cs_cdo_connect.h"
36#include "cdo/cs_flag.h"
37#include "base/cs_math.h"
38#include "mesh/cs_mesh.h"
40
41/*----------------------------------------------------------------------------*/
42
44
45/*============================================================================
46 * Macro definitions
47 *============================================================================*/
48
49/*============================================================================
50 * Type definitions
51 *============================================================================*/
52
71
80
105
106typedef enum {
107
108 /* Set of geometrical quantities related to CDO schemes */
109
110 CS_CDO_QUANTITIES_EB_SCHEME = 1 << 0, /* = 1 */
111 CS_CDO_QUANTITIES_FB_SCHEME = 1 << 1, /* = 2 */
113 CS_CDO_QUANTITIES_VB_SCHEME = 1 << 3, /* = 8 */
114 CS_CDO_QUANTITIES_VCB_SCHEME = 1 << 4, /* = 16 */
115 CS_CDO_QUANTITIES_CB_SCHEME = 1 << 5, /* = 32 */
116 CS_CDO_QUANTITIES_MAC_SCHEME = 1 << 6, /* = 64 */
117
119
120/* Structure storing information about variation of entities across the
121 mesh for a given type of entity (cell, face and edge) */
122
123typedef struct {
124
125 /* Measure is either a volume for cells, a surface for faces or a length
126 for edges */
127
128 double meas_min; /* Min. value of the entity measure */
129 double meas_max; /* Max. value of the entity measure */
130 double h_min; /* Estimation of the min. value of the diameter */
131 double h_max; /* Estimation of the max. value of the diameter */
132
134
135/* For primal vector quantities (edge or face) */
136
137typedef struct {
138
139 double meas; /* length or area */
140 double unitv[3]; /* unitary vector: tangent or normal to the element */
141 double center[3];
142
143} cs_quant_t;
144
145typedef struct { /* Specific mesh quantities */
146
147 /* Keep the information about the removal of boundary faces in case of 2D
148 computations */
149
151
152 /* Global mesh quantities */
153
154 double vol_tot;
155
156 /* Cell-based quantities */
157 /* ===================== */
158
159 cs_lnum_t n_cells; // Local number of cells
160 cs_gnum_t n_g_cells; // Global number of cells
161 cs_real_t *cell_centers; // May be shared according to options
162 cs_real_t *cell_vol; // Can be shared with cs_mesh_quantities_t
163
165
166 /* Face-based quantities */
167 /* ===================== */
168
169 cs_lnum_t n_faces; /* n_i_faces + n_b_faces */
170 cs_lnum_t n_i_faces; /* Local number of interior faces */
171 cs_lnum_t n_b_faces; /* Local number of border faces */
172 cs_gnum_t n_g_faces; /* Global number of faces */
173
174 /* Remark: cs_quant_t structure attached to a face (interior or border) can
175 be built on-the-fly calling the function cs_quant_set_face(f_id, cdoq).
176 See \ref cs_quant_set_face for more details.
177
178 In order to reduce the memory consumption one shares face quantities with
179 the ones defined in the legacy part and stored in the cs_mesh_quantities_t
180 structure that's why a distinction is made between interior and border
181 faces.
182
183 cs_nvec3_t structure associated to a face can also be built on-the-fly
184 using cs_quant_set_face_nvec(f_id, cdoq).
185 See \ref cs_quant_set_face_nvec for more details.
186 */
187
188 cs_nreal_3_t *i_face_u_normal; // Can be shared with cs_mesh_quantities_t
189 cs_real_t *i_face_normal; // Can be shared with cs_mesh_quantities_t
190 cs_real_t *i_face_surf; // Can be shared with cs_mesh_quantities_t
191 cs_real_t *i_face_center; // Can be shared with cs_mesh_quantities_t
192 const cs_real_t *i_dist; // Always shared with cs_mesh_quantities_t
193
194 cs_nreal_3_t *b_face_u_normal; // Can be shared with cs_mesh_quantities_t
195 cs_real_t *b_face_normal; // Can be shared with cs_mesh_quantities_t
196 cs_real_t *b_face_surf; // Can be shared with cs_mesh_quantities_t
197 cs_real_t *b_face_center; // Can be shared with cs_mesh_quantities_t
198 const cs_real_t *b_dist; // Always shared with cs_mesh_quantities_t
199
200 cs_flag_cartesian_axis_t *face_axis; /* Enum for normal direction of faces
201 * Not always allocated
202 */
203
204 /* Remark: cs_nvec3_t structure attached to a dual edge can be built
205 on-the-fly to access to its length and its unit tangential vector using
206 the function cs_quant_set_dedge_nvec(shift, cdoq)
207
208 One recalls that a dual edge is associated to a primal face and is shared
209 with two cells for an interior face and shared with one cell for a
210 boundary face. Scan this quantity with the c2f connectivity.
211 */
212
213 cs_real_t *dedge_vector; /* Allocation to 3*c2f->idx[n_faces] */
214
215 cs_real_t *pvol_fc; /* Portion of volume surrounding a face
216 * in each cell. This is a pyramid of
217 * base the face and apex the cell center
218 * Scanned with the c2f adjacency.
219 * Not always allocated.
220 */
222
223 /* Edge-based quantities */
224 /* ===================== */
225
226 cs_lnum_t n_edges; /* Local number of edges */
227 cs_gnum_t n_g_edges; /* Global number of edges */
228
229 cs_real_t *edge_vector; /* Allocation to 3*n_edges
230 Norm of the vector is equal to the
231 distance between two vertices.
232 Unit vector is the tangential direction
233 attached to the edge */
234
235 /* For each edge e belonging to a cell c, the dual face is built from the
236 contributions of two triangles s(x_c, x_f, x_e) and s(x_c, x_f', x_e) with
237 the faces f and f' belonging to F_e \cap F_c
238 Scan this quantity with the c2e connectivity */
239
240 cs_real_t *dface_normal; /* Vector-valued normal for each dual face
241 * inside a cell associated to an edge */
242 cs_real_t *pvol_ec; /* Portion of volume surrounding an edge
243 * in each cell. Scanned with the c2e
244 * adjacency.
245 * Not always allocated. */
246
248
249 /* Vertex-based quantities */
250 /* ======================= */
251
252 cs_lnum_t n_vertices; /* Local number of vertices */
253 cs_gnum_t n_g_vertices; /* Global number of vertices */
254
255 cs_real_t *pvol_vc; /* Part of the dual cell associated to a
256 * vertex in each cell. These quantities
257 * are scanned thanks to the c2v
258 * adjacency structure */
259
260 const cs_real_t *vtx_coord; /* Coordinates of the mesh vertices.
261 * Always shared with the global cs_mesh_t
262 * structure */
263
264 /* Dual volume related to the dual cell associated in a one-to-one pairing to
265 * each vertex. This quantity has been synchronized in case of parallel
266 * computing. Size of the array = n_vertices. Not always allocated */
267
269
271
272/*============================================================================
273 * Global variables
274 *============================================================================*/
275
276/*============================================================================
277 * Public function prototypes
278 *============================================================================*/
279
280/*----------------------------------------------------------------------------*/
290/*----------------------------------------------------------------------------*/
291
292static inline double
294 const cs_real_t *xb)
295{
296 const double xab[3] = {xb[0] - qa.center[0],
297 xb[1] - qa.center[1],
298 xb[2] - qa.center[2]};
299 const double cp[3] = {qa.unitv[1]*xab[2] - qa.unitv[2]*xab[1],
300 qa.unitv[2]*xab[0] - qa.unitv[0]*xab[2],
301 qa.unitv[0]*xab[1] - qa.unitv[1]*xab[0]};
302
303 return 0.5 * qa.meas * cs_math_3_norm(cp);
304}
305
306/*----------------------------------------------------------------------------*/
312/*----------------------------------------------------------------------------*/
313
314long long
316
317/*----------------------------------------------------------------------------*/
324/*----------------------------------------------------------------------------*/
325
326void
328
329/*----------------------------------------------------------------------------*/
335/*----------------------------------------------------------------------------*/
336
337void
339
340/*----------------------------------------------------------------------------*/
352/*----------------------------------------------------------------------------*/
353
356 const cs_mesh_quantities_t *mq,
357 const cs_cdo_connect_t *topo);
358
359/*----------------------------------------------------------------------------*/
367/*----------------------------------------------------------------------------*/
368
371
372/*----------------------------------------------------------------------------*/
378/*----------------------------------------------------------------------------*/
379
380void
382
383/*----------------------------------------------------------------------------*/
389/*----------------------------------------------------------------------------*/
390
391void
393
394/*----------------------------------------------------------------------------*/
405/*----------------------------------------------------------------------------*/
406
407const cs_real_t *
409 const cs_adjacency_t *c2f);
410
411/*----------------------------------------------------------------------------*/
423/*----------------------------------------------------------------------------*/
424
425void
427 const cs_adjacency_t *c2f,
428 cs_real_t **p_pvol_fc);
429
430/*----------------------------------------------------------------------------*/
443/*----------------------------------------------------------------------------*/
444
445const cs_real_t *
447 const cs_adjacency_t *c2e);
448
449/*----------------------------------------------------------------------------*/
460/*----------------------------------------------------------------------------*/
461
462void
464 const cs_adjacency_t *c2e,
465 cs_real_t **p_pvol_ec);
466
467/*----------------------------------------------------------------------------*/
480/*----------------------------------------------------------------------------*/
481
482const cs_real_t *
484 const cs_cdo_connect_t *connect);
485
486/*----------------------------------------------------------------------------*/
499/*----------------------------------------------------------------------------*/
500
501void
503 const cs_cdo_connect_t *connect,
504 cs_real_t **p_dual_vol);
505
506/*----------------------------------------------------------------------------*/
518/*----------------------------------------------------------------------------*/
519
520void
522 const cs_cdo_quantities_t *cdoq,
523 cs_lnum_t f_id,
524 cs_real_t tef[]);
525
526/*----------------------------------------------------------------------------*/
538/*----------------------------------------------------------------------------*/
539
540void
542 const cs_cdo_quantities_t *cdoq,
543 cs_lnum_t bf_id,
544 cs_real_t tef[]);
545
546/*----------------------------------------------------------------------------*/
558/*----------------------------------------------------------------------------*/
559
560void
562 const cs_cdo_quantities_t *cdoq,
563 cs_lnum_t f_id,
564 cs_real_t wvf[]);
565
566/*----------------------------------------------------------------------------*/
578/*----------------------------------------------------------------------------*/
579
580void
582 const cs_cdo_quantities_t *cdoq,
583 cs_lnum_t bf_id,
584 cs_real_t wvf[]);
585
586/*----------------------------------------------------------------------------*/
596/*----------------------------------------------------------------------------*/
597
598inline static const cs_real_t *
600 const cs_cdo_quantities_t *cdoq)
601{
602 if (f_id < cdoq->n_i_faces) /* Interior face */
603 return cdoq->i_face_normal + 3*f_id;
604 else /* Border face */
605 return cdoq->b_face_normal + 3*(f_id - cdoq->n_i_faces);
606}
607
608/*----------------------------------------------------------------------------*/
617/*----------------------------------------------------------------------------*/
618
619inline static const cs_real_t *
621 const cs_cdo_quantities_t *cdoq)
622{
623 if (f_id < cdoq->n_i_faces) /* Interior face */
624 return cdoq->i_face_center + 3*f_id;
625 else /* Border face */
626 return cdoq->b_face_center + 3*(f_id - cdoq->n_i_faces);
627}
628
629/*----------------------------------------------------------------------------*/
638/*----------------------------------------------------------------------------*/
639
640inline static cs_real_t
642 const cs_cdo_quantities_t *cdoq)
643{
644 return (f_id < cdoq->n_i_faces) ?
645 cdoq->i_face_surf[f_id] : cdoq->b_face_surf[f_id - cdoq->n_i_faces];
646}
647
648/*----------------------------------------------------------------------------*/
657/*----------------------------------------------------------------------------*/
658
661 const cs_cdo_quantities_t *cdoq);
662
663/*----------------------------------------------------------------------------*/
673/*----------------------------------------------------------------------------*/
674
677 const cs_cdo_quantities_t *cdoq);
678
679/*----------------------------------------------------------------------------*/
689/*----------------------------------------------------------------------------*/
690
693 const cs_cdo_connect_t *topo,
694 const cs_cdo_quantities_t *cdoq);
695
696/*----------------------------------------------------------------------------*/
705/*----------------------------------------------------------------------------*/
706
709 const cs_cdo_quantities_t *cdoq);
710
711/*----------------------------------------------------------------------------*/
720/*----------------------------------------------------------------------------*/
721
724 const cs_cdo_quantities_t *cdoq);
725
726/*----------------------------------------------------------------------------*/
734/*----------------------------------------------------------------------------*/
735
736void
737cs_quant_dump(FILE *f,
738 cs_lnum_t num,
739 const cs_quant_t q);
740
741/*----------------------------------------------------------------------------*/
742
744
745#endif /* __CS_CDO_QUANTITIES_H__ */
cs_cdo_quantities_bit_t
Bit values for setting which quantities to compute.
Definition cs_cdo_quantities.h:106
@ CS_CDO_QUANTITIES_CB_SCHEME
Definition cs_cdo_quantities.h:115
@ CS_CDO_QUANTITIES_EB_SCHEME
Definition cs_cdo_quantities.h:110
@ CS_CDO_QUANTITIES_HHO_SCHEME
Definition cs_cdo_quantities.h:112
@ CS_CDO_QUANTITIES_FB_SCHEME
Definition cs_cdo_quantities.h:111
@ CS_CDO_QUANTITIES_VCB_SCHEME
Definition cs_cdo_quantities.h:114
@ CS_CDO_QUANTITIES_MAC_SCHEME
Definition cs_cdo_quantities.h:116
@ CS_CDO_QUANTITIES_VB_SCHEME
Definition cs_cdo_quantities.h:113
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:641
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:620
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:1811
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:1753
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:2448
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:2360
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:1995
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:599
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:1522
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:2093
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:2500
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:1508
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:2479
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:1904
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:2313
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:1696
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:1493
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:2122
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:1934
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:2408
cs_cdo_quantities_cell_center_algo_t
Type of algorithm used to compute the cell centers.
Definition cs_cdo_quantities.h:72
@ CS_CDO_QUANTITIES_SUBDIV_CENTER
Definition cs_cdo_quantities.h:77
@ CS_CDO_QUANTITIES_BARYC_CENTER
Definition cs_cdo_quantities.h:75
@ CS_CDO_QUANTITIES_SATURNE_CENTER
Definition cs_cdo_quantities.h:76
@ CS_CDO_QUANTITIES_MEANV_CENTER
Definition cs_cdo_quantities.h:74
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:2177
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:2028
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:2520
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:1542
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:2220
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:2263
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:293
#define BEGIN_C_DECLS
Definition cs_defs.h:542
cs_nreal_t cs_nreal_3_t[3]
Definition cs_defs.h:385
double cs_real_t
Floating-point value.
Definition cs_defs.h:342
unsigned cs_gnum_t
global mesh entity number
Definition cs_defs.h:327
#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:102
Definition cs_mesh_adjacencies.h:68
Definition cs_cdo_connect.h:61
Definition cs_cdo_quantities.h:145
cs_gnum_t n_g_edges
Definition cs_cdo_quantities.h:227
cs_lnum_t n_i_faces
Definition cs_cdo_quantities.h:170
const cs_real_t * b_dist
Definition cs_cdo_quantities.h:198
cs_real_t * i_face_surf
Definition cs_cdo_quantities.h:190
cs_lnum_t n_faces
Definition cs_cdo_quantities.h:169
cs_lnum_t n_b_faces
Definition cs_cdo_quantities.h:171
cs_quant_info_t edge_info
Definition cs_cdo_quantities.h:247
cs_real_t * b_face_center
Definition cs_cdo_quantities.h:197
cs_real_t * dual_vol
Definition cs_cdo_quantities.h:268
cs_gnum_t n_g_vertices
Definition cs_cdo_quantities.h:253
const cs_real_t * i_dist
Definition cs_cdo_quantities.h:192
cs_real_t * b_face_surf
Definition cs_cdo_quantities.h:196
cs_lnum_t n_cells
Definition cs_cdo_quantities.h:159
cs_real_t * cell_vol
Definition cs_cdo_quantities.h:162
cs_real_t * pvol_ec
Definition cs_cdo_quantities.h:242
cs_quant_info_t face_info
Definition cs_cdo_quantities.h:221
cs_gnum_t n_g_cells
Definition cs_cdo_quantities.h:160
double vol_tot
Definition cs_cdo_quantities.h:154
const cs_real_t * vtx_coord
Definition cs_cdo_quantities.h:260
cs_lnum_t n_vertices
Definition cs_cdo_quantities.h:252
cs_real_t * b_face_normal
Definition cs_cdo_quantities.h:195
cs_gnum_t n_g_faces
Definition cs_cdo_quantities.h:172
cs_nreal_3_t * i_face_u_normal
Definition cs_cdo_quantities.h:188
cs_real_t * cell_centers
Definition cs_cdo_quantities.h:161
cs_lnum_t n_edges
Definition cs_cdo_quantities.h:226
cs_real_t * pvol_fc
Definition cs_cdo_quantities.h:215
cs_real_t * pvol_vc
Definition cs_cdo_quantities.h:255
cs_quant_info_t cell_info
Definition cs_cdo_quantities.h:164
cs_real_t * dface_normal
Definition cs_cdo_quantities.h:240
bool remove_boundary_faces
Definition cs_cdo_quantities.h:150
cs_real_t * edge_vector
Definition cs_cdo_quantities.h:229
cs_nreal_3_t * b_face_u_normal
Definition cs_cdo_quantities.h:194
cs_real_t * i_face_normal
Definition cs_cdo_quantities.h:189
cs_real_t * i_face_center
Definition cs_cdo_quantities.h:191
cs_flag_cartesian_axis_t * face_axis
Definition cs_cdo_quantities.h:200
cs_real_t * dedge_vector
Definition cs_cdo_quantities.h:213
Definition cs_mesh_quantities.h:92
Definition cs_mesh.h:85
Definition cs_defs.h:400
Definition cs_cdo_quantities.h:123
double meas_max
Definition cs_cdo_quantities.h:129
double meas_min
Definition cs_cdo_quantities.h:128
double h_min
Definition cs_cdo_quantities.h:130
double h_max
Definition cs_cdo_quantities.h:131
Definition cs_cdo_quantities.h:137
double meas
Definition cs_cdo_quantities.h:139
double center[3]
Definition cs_cdo_quantities.h:141
double unitv[3]
Definition cs_cdo_quantities.h:140