8.1
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 schemes
6  *============================================================================*/
7 
8 /*
9  This file is part of code_saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2023 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 
67 typedef enum {
68 
72 
74 
75 
98 typedef enum {
99 
100  /* Set of geometrical quantities related to CDO schemes */
101 
102  CS_CDO_QUANTITIES_EB_SCHEME = 1<<0, /* = 1 */
103  CS_CDO_QUANTITIES_FB_SCHEME = 1<<1, /* = 2 */
105  CS_CDO_QUANTITIES_VB_SCHEME = 1<<3, /* = 8 */
106  CS_CDO_QUANTITIES_VCB_SCHEME = 1<<4, /* = 16 */
107  CS_CDO_QUANTITIES_CB_SCHEME = 1<<5, /* = 32 */
108 
110 
111 
112 /* Structure storing information about variation of entities across the
113  mesh for a given type of entity (cell, face and edge) */
114 
115 typedef struct {
116 
117  /* Measure is either a volume for cells, a surface for faces or a length
118  for edges */
119 
120  double meas_min; /* Min. value of the entity measure */
121  double meas_max; /* Max. value of the entity measure */
122  double h_min; /* Estimation of the min. value of the diameter */
123  double h_max; /* Estimation of the max. value of the diameter */
124 
126 
127 /* For primal vector quantities (edge or face) */
128 
129 typedef struct {
130 
131  double meas; /* length or area */
132  double unitv[3]; /* unitary vector: tangent or normal to the element */
133  double center[3];
134 
135 } cs_quant_t;
136 
137 typedef struct { /* Specific mesh quantities */
138 
139  /* Keep the information about the removal of boundary faces in case of 2D
140  computations */
141 
143 
144  /* Global mesh quantities */
145 
146  double vol_tot;
147 
148  /* Cell-based quantities */
149  /* ===================== */
150 
151  cs_lnum_t n_cells; /* Local number of cells */
152  cs_gnum_t n_g_cells; /* Global number of cells */
153  cs_real_t *cell_centers; /* May be shared according to options */
154  const cs_real_t *cell_vol; /* Shared with cs_mesh_quantities_t */
155 
157 
158  /* Face-based quantities */
159  /* ===================== */
160 
161  cs_lnum_t n_faces; /* n_i_faces + n_b_faces */
162  cs_lnum_t n_i_faces; /* Local number of interior faces */
163  cs_lnum_t n_b_faces; /* Local number of border faces */
164  cs_gnum_t n_g_faces; /* Global number of faces */
165 
166  /* Remark: cs_quant_t structure attached to a face (interior or border) can
167  be built on-the-fly calling the function cs_quant_set_face(f_id, cdoq).
168  See \ref cs_quant_set_face for more details.
169 
170  In order to reduce the memory consumption one shares face quantities with
171  the ones defined in the legacy part and stored in the cs_mesh_quantities_t
172  structure that's why a distinction is made between interior and border
173  faces.
174 
175  cs_nvec3_t structure associated to a face can also be built on-the-fly
176  using cs_quant_set_face_nvec(f_id, cdoq).
177  See \ref cs_quant_set_face_nvec for more details.
178  */
179 
180  const cs_nreal_3_t *i_face_u_normal; /* Shared with cs_mesh_quantities_t */
181  const cs_real_t *i_face_normal; /* Shared with cs_mesh_quantities_t */
182  const cs_real_t *i_face_center; /* Shared with cs_mesh_quantities_t */
183  const cs_real_t *i_face_surf; /* Shared with cs_mesh_quantities_t */
184 
185  const cs_nreal_3_t *b_face_u_normal; /* Unit normal of boundary faces. */
186  const cs_real_t *b_face_normal; /* Shared with cs_mesh_quantities_t */
187  const cs_real_t *b_face_center; /* Shared with cs_mesh_quantities_t */
188  const cs_real_t *b_face_surf; /* Shared with cs_mesh_quantities_t */
189 
190  /* Remark: cs_nvec3_t structure attached to a dual edge can be built
191  on-the-fly to access to its length and its unit tangential vector using
192  the function cs_quant_set_dedge_nvec(shift, cdoq)
193 
194  One recalls that a dual edge is associated to a primal face and is shared
195  with two cells for an interior face and shared with one cell for a
196  boundary face. Scan this quantity with the c2f connectivity.
197  */
198 
199  cs_real_t *dedge_vector; /* Allocation to 3*c2f->idx[n_faces] */
200 
201  cs_real_t *pvol_fc; /* Portion of volume surrounding a face
202  * in each cell. This is a pyramid of
203  * base the face and apex the cell center
204  * Scanned with the c2f adjacency.
205  * Not always allocated.
206  */
208 
209  /* Edge-based quantities */
210  /* ===================== */
211 
212  cs_lnum_t n_edges; /* Local number of edges */
213  cs_gnum_t n_g_edges; /* Global number of edges */
214 
215  cs_real_t *edge_vector; /* Allocation to 3*n_edges
216  Norm of the vector is equal to the
217  distance between two vertices.
218  Unit vector is the tangential direction
219  attached to the edge */
220 
221  /* For each edge e belonging to a cell c, the dual face is built from the
222  contributions of two triangles s(x_c, x_f, x_e) and s(x_c, x_f', x_e) with
223  the faces f and f' belonging to F_e \cap F_c
224  Scan this quantity with the c2e connectivity */
225 
226  cs_real_t *dface_normal; /* Vector-valued normal for each dual face
227  * inside a cell associated to an edge */
228  cs_real_t *pvol_ec; /* Portion of volume surrounding an edge
229  * in each cell. Scanned with the c2e
230  * adjacency.
231  * Not always allocated. */
232 
234 
235  /* Vertex-based quantities */
236  /* ======================= */
237 
238  cs_lnum_t n_vertices; /* Local number of vertices */
239  cs_gnum_t n_g_vertices; /* Global number of vertices */
240 
241  cs_real_t *pvol_vc; /* Part of the dual cell associated to a
242  * vertex in each cell. These quantities
243  * are scanned thanks to the c2v
244  * adjacency structure */
245 
246  const cs_real_t *vtx_coord; /* Coordinates of the mesh vertices.
247  * Shared with the cs_mesh_t structure */
248 
249  /* Dual volume related to the dual cell associated in a one-to-one pairing to
250  * each vertex. This quantity has been synchronized in case of parallel
251  * computing. Size of the array = n_vertices. Not always allocated */
252 
254 
256 
257 /*============================================================================
258  * Global variables
259  *============================================================================*/
260 
261 /*============================================================================
262  * Public function prototypes
263  *============================================================================*/
264 
265 /*----------------------------------------------------------------------------*/
275 /*----------------------------------------------------------------------------*/
276 
277 static inline double
279  const cs_real_t *xb)
280 {
281  const double xab[3] = {xb[0] - qa.center[0],
282  xb[1] - qa.center[1],
283  xb[2] - qa.center[2]};
284  const double cp[3] = {qa.unitv[1]*xab[2] - qa.unitv[2]*xab[1],
285  qa.unitv[2]*xab[0] - qa.unitv[0]*xab[2],
286  qa.unitv[0]*xab[1] - qa.unitv[1]*xab[0]};
287 
288  return 0.5 * qa.meas * cs_math_3_norm(cp);
289 }
290 
291 /*----------------------------------------------------------------------------*/
297 /*----------------------------------------------------------------------------*/
298 
299 long long
301 
302 /*----------------------------------------------------------------------------*/
309 /*----------------------------------------------------------------------------*/
310 
311 void
312 cs_cdo_quantities_set(cs_flag_t option_flag);
313 
314 /*----------------------------------------------------------------------------*/
320 /*----------------------------------------------------------------------------*/
321 
322 void
324 
325 /*----------------------------------------------------------------------------*/
337 /*----------------------------------------------------------------------------*/
338 
341  const cs_mesh_quantities_t *mq,
342  const cs_cdo_connect_t *topo);
343 
344 /*----------------------------------------------------------------------------*/
352 /*----------------------------------------------------------------------------*/
353 
356 
357 /*----------------------------------------------------------------------------*/
363 /*----------------------------------------------------------------------------*/
364 
365 void
367 
368 /*----------------------------------------------------------------------------*/
374 /*----------------------------------------------------------------------------*/
375 
376 void
378 
379 /*----------------------------------------------------------------------------*/
390 /*----------------------------------------------------------------------------*/
391 
392 const cs_real_t *
394  const cs_adjacency_t *c2f);
395 
396 /*----------------------------------------------------------------------------*/
408 /*----------------------------------------------------------------------------*/
409 
410 void
412  const cs_adjacency_t *c2f,
413  cs_real_t **p_pvol_fc);
414 
415 /*----------------------------------------------------------------------------*/
428 /*----------------------------------------------------------------------------*/
429 
430 const cs_real_t *
432  const cs_adjacency_t *c2e);
433 
434 /*----------------------------------------------------------------------------*/
445 /*----------------------------------------------------------------------------*/
446 
447 void
449  const cs_adjacency_t *c2e,
450  cs_real_t **p_pvol_ec);
451 
452 /*----------------------------------------------------------------------------*/
465 /*----------------------------------------------------------------------------*/
466 
467 const cs_real_t *
469  const cs_cdo_connect_t *connect);
470 
471 /*----------------------------------------------------------------------------*/
484 /*----------------------------------------------------------------------------*/
485 
486 void
488  const cs_cdo_connect_t *connect,
489  cs_real_t **p_dual_vol);
490 
491 /*----------------------------------------------------------------------------*/
503 /*----------------------------------------------------------------------------*/
504 
505 void
507  const cs_cdo_quantities_t *cdoq,
508  cs_lnum_t f_id,
509  cs_real_t tef[]);
510 
511 /*----------------------------------------------------------------------------*/
523 /*----------------------------------------------------------------------------*/
524 
525 void
527  const cs_cdo_quantities_t *cdoq,
528  cs_lnum_t bf_id,
529  cs_real_t tef[]);
530 
531 /*----------------------------------------------------------------------------*/
543 /*----------------------------------------------------------------------------*/
544 
545 void
547  const cs_cdo_quantities_t *cdoq,
548  cs_lnum_t f_id,
549  cs_real_t wvf[]);
550 
551 /*----------------------------------------------------------------------------*/
563 /*----------------------------------------------------------------------------*/
564 
565 void
567  const cs_cdo_quantities_t *cdoq,
568  cs_lnum_t bf_id,
569  cs_real_t wvf[]);
570 
571 /*----------------------------------------------------------------------------*/
581 /*----------------------------------------------------------------------------*/
582 
583 inline static const cs_real_t *
585  const cs_cdo_quantities_t *cdoq)
586 {
587  if (f_id < cdoq->n_i_faces) /* Interior face */
588  return cdoq->i_face_normal + 3*f_id;
589  else /* Border face */
590  return cdoq->b_face_normal + 3*(f_id - cdoq->n_i_faces);
591 }
592 
593 /*----------------------------------------------------------------------------*/
602 /*----------------------------------------------------------------------------*/
603 
604 inline static const cs_real_t *
606  const cs_cdo_quantities_t *cdoq)
607 {
608  if (f_id < cdoq->n_i_faces) /* Interior face */
609  return cdoq->i_face_center + 3*f_id;
610  else /* Border face */
611  return cdoq->b_face_center + 3*(f_id - cdoq->n_i_faces);
612 }
613 
614 /*----------------------------------------------------------------------------*/
623 /*----------------------------------------------------------------------------*/
624 
625 inline static cs_real_t
627  const cs_cdo_quantities_t *cdoq)
628 {
629  return (f_id < cdoq->n_i_faces) ?
630  cdoq->i_face_surf[f_id] : cdoq->b_face_surf[f_id - cdoq->n_i_faces];
631 }
632 
633 /*----------------------------------------------------------------------------*/
642 /*----------------------------------------------------------------------------*/
643 
646  const cs_cdo_quantities_t *cdoq);
647 
648 /*----------------------------------------------------------------------------*/
658 /*----------------------------------------------------------------------------*/
659 
662  const cs_cdo_quantities_t *cdoq);
663 
664 /*----------------------------------------------------------------------------*/
673 /*----------------------------------------------------------------------------*/
674 
677  const cs_cdo_quantities_t *cdoq);
678 
679 /*----------------------------------------------------------------------------*/
688 /*----------------------------------------------------------------------------*/
689 
692  const cs_cdo_quantities_t *cdoq);
693 
694 /*----------------------------------------------------------------------------*/
702 /*----------------------------------------------------------------------------*/
703 
704 void
705 cs_quant_dump(FILE *f,
706  cs_lnum_t num,
707  const cs_quant_t q);
708 
709 /*----------------------------------------------------------------------------*/
710 
712 
713 #endif /* __CS_CDO_QUANTITIES_H__ */
cs_cdo_quantities_bit_t
Bit values for setting which quantities to compute.
Definition: cs_cdo_quantities.h:98
@ CS_CDO_QUANTITIES_HHO_SCHEME
Definition: cs_cdo_quantities.h:104
@ CS_CDO_QUANTITIES_VB_SCHEME
Definition: cs_cdo_quantities.h:105
@ CS_CDO_QUANTITIES_CB_SCHEME
Definition: cs_cdo_quantities.h:107
@ CS_CDO_QUANTITIES_FB_SCHEME
Definition: cs_cdo_quantities.h:103
@ CS_CDO_QUANTITIES_VCB_SCHEME
Definition: cs_cdo_quantities.h:106
@ CS_CDO_QUANTITIES_EB_SCHEME
Definition: cs_cdo_quantities.h:102
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:626
void cs_cdo_quantities_dump(const cs_cdo_quantities_t *cdoq)
Dump a cs_cdo_quantities_t structure (for debuggingpurpose)
Definition: cs_cdo_quantities.c:1302
void cs_cdo_quantities_log_summary(const cs_cdo_quantities_t *cdoq)
Summarize generic information about the cdo mesh quantities.
Definition: cs_cdo_quantities.c:1252
cs_cdo_quantities_t * cs_cdo_quantities_free(cs_cdo_quantities_t *cdoq)
Destroy a cs_cdo_quantities_t structure.
Definition: cs_cdo_quantities.c:1211
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:1068
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:1826
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.c:1563
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.c:1048
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.c:1936
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:1034
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:1915
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:1780
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.c:1019
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.c:1592
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:605
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:1876
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.c:1647
const cs_real_t * cs_cdo_quantities_get_pvol_fc(cs_cdo_quantities_t *cdoq, const cs_adjacency_t *c2f)
Compute or retrieve the portion of volume surrounding each face of a cell. This volume corresponds to...
Definition: cs_cdo_quantities.c:1386
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.c:1500
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:1956
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:1689
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:1731
const cs_real_t * cs_cdo_quantities_get_pvol_ec(cs_cdo_quantities_t *cdoq, const cs_adjacency_t *c2e)
Compute or retrieve the portion of volume surrounding each edge of a cell. This volume corresponds to...
Definition: cs_cdo_quantities.c:1472
void cs_cdo_quantities_compute_pvol_fc(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:1414
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:278
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:584
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
cs_nreal_t cs_nreal_3_t[3]
Definition: cs_defs.h:360
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:298
#define END_C_DECLS
Definition: cs_defs.h:515
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
unsigned short int cs_flag_t
Definition: cs_defs.h:321
@ cp
Definition: cs_field_pointer.h:100
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:440
Definition: cs_mesh_adjacencies.h:68
Definition: cs_cdo_connect.h:61
Definition: cs_cdo_quantities.h:137
const cs_nreal_3_t * b_face_u_normal
Definition: cs_cdo_quantities.h:185
cs_gnum_t n_g_edges
Definition: cs_cdo_quantities.h:213
const cs_real_t * b_face_surf
Definition: cs_cdo_quantities.h:188
const cs_real_t * i_face_center
Definition: cs_cdo_quantities.h:182
const cs_real_t * b_face_center
Definition: cs_cdo_quantities.h:187
cs_lnum_t n_i_faces
Definition: cs_cdo_quantities.h:162
cs_lnum_t n_faces
Definition: cs_cdo_quantities.h:161
cs_lnum_t n_b_faces
Definition: cs_cdo_quantities.h:163
cs_quant_info_t edge_info
Definition: cs_cdo_quantities.h:233
cs_real_t * dual_vol
Definition: cs_cdo_quantities.h:253
cs_gnum_t n_g_vertices
Definition: cs_cdo_quantities.h:239
cs_lnum_t n_cells
Definition: cs_cdo_quantities.h:151
cs_real_t * pvol_ec
Definition: cs_cdo_quantities.h:228
cs_quant_info_t face_info
Definition: cs_cdo_quantities.h:207
const cs_real_t * i_face_normal
Definition: cs_cdo_quantities.h:181
const cs_real_t * b_face_normal
Definition: cs_cdo_quantities.h:186
cs_gnum_t n_g_cells
Definition: cs_cdo_quantities.h:152
double vol_tot
Definition: cs_cdo_quantities.h:146
const cs_real_t * vtx_coord
Definition: cs_cdo_quantities.h:246
cs_lnum_t n_vertices
Definition: cs_cdo_quantities.h:238
cs_gnum_t n_g_faces
Definition: cs_cdo_quantities.h:164
cs_real_t * cell_centers
Definition: cs_cdo_quantities.h:153
cs_lnum_t n_edges
Definition: cs_cdo_quantities.h:212
cs_real_t * pvol_fc
Definition: cs_cdo_quantities.h:201
cs_real_t * pvol_vc
Definition: cs_cdo_quantities.h:241
const cs_real_t * cell_vol
Definition: cs_cdo_quantities.h:154
cs_quant_info_t cell_info
Definition: cs_cdo_quantities.h:156
cs_real_t * dface_normal
Definition: cs_cdo_quantities.h:226
bool remove_boundary_faces
Definition: cs_cdo_quantities.h:142
const cs_real_t * i_face_surf
Definition: cs_cdo_quantities.h:183
cs_real_t * edge_vector
Definition: cs_cdo_quantities.h:215
const cs_nreal_3_t * i_face_u_normal
Definition: cs_cdo_quantities.h:180
cs_real_t * dedge_vector
Definition: cs_cdo_quantities.h:199
Definition: cs_mesh_quantities.h:92
Definition: cs_mesh.h:85
Definition: cs_defs.h:372
Definition: cs_cdo_quantities.h:115
double meas_max
Definition: cs_cdo_quantities.h:121
double meas_min
Definition: cs_cdo_quantities.h:120
double h_min
Definition: cs_cdo_quantities.h:122
double h_max
Definition: cs_cdo_quantities.h:123
Definition: cs_cdo_quantities.h:129
double meas
Definition: cs_cdo_quantities.h:131
double center[3]
Definition: cs_cdo_quantities.h:133
double unitv[3]
Definition: cs_cdo_quantities.h:132