programmer's documentation
cs_cdo_local.h
Go to the documentation of this file.
1 #ifndef __CS_CDO_LOCAL_H__
2 #define __CS_CDO_LOCAL_H__
3 
4 /*============================================================================
5  * Routines to handle low-level routines related to CDO local quantities:
6  * - local matrices (stored in dense format),
7  * - local quantities related to a cell.
8  *============================================================================*/
9 
10 /*
11  This file is part of Code_Saturne, a general-purpose CFD tool.
12 
13  Copyright (C) 1998-2018 EDF S.A.
14 
15  This program is free software; you can redistribute it and/or modify it under
16  the terms of the GNU General Public License as published by the Free Software
17  Foundation; either version 2 of the License, or (at your option) any later
18  version.
19 
20  This program is distributed in the hope that it will be useful, but WITHOUT
21  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
23  details.
24 
25  You should have received a copy of the GNU General Public License along with
26  this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
27  Street, Fifth Floor, Boston, MA 02110-1301, USA.
28 */
29 
30 /*----------------------------------------------------------------------------
31  * Local headers
32  *----------------------------------------------------------------------------*/
33 
34 #include "cs_cdo_connect.h"
35 #include "cs_cdo_quantities.h"
36 #include "cs_flag.h"
37 #include "cs_param_cdo.h"
38 #include "cs_sdm.h"
39 
40 /*----------------------------------------------------------------------------*/
41 
43 
44 /*============================================================================
45  * Macro definitions
46  *============================================================================*/
47 
48 /* According to the flag which are set, different quantities or connectivities
49  are built on-the-fly and stored in a local cache structure (cell/base) */
50 
51 #define CS_CDO_LOCAL_PV (1 << 0) // 1: local info. for vertices
52 #define CS_CDO_LOCAL_PVQ (1 << 1) // 2: local quant. on vertices
53 #define CS_CDO_LOCAL_PE (1 << 2) // 4: local info. for edges
54 #define CS_CDO_LOCAL_PEQ (1 << 3) // 8: local quant. on edges
55 #define CS_CDO_LOCAL_DFQ (1 << 4) // 16: local quant. on dual faces
56 #define CS_CDO_LOCAL_PF (1 << 5) // 32: local info. for faces
57 #define CS_CDO_LOCAL_PFQ (1 << 6) // 64: local quant. on faces
58 #define CS_CDO_LOCAL_DEQ (1 << 7) // 128: local quant. on dual edges
59 #define CS_CDO_LOCAL_EV (1 << 8) // 256: local e2v connectivity
60 #define CS_CDO_LOCAL_FE (1 << 9) // 512: local f2e connectivity
61 #define CS_CDO_LOCAL_FEQ (1 << 10) // 1024: local f2e quantities
62 #define CS_CDO_LOCAL_EF (1 << 11) // 2048: local e2f connectivity
63 #define CS_CDO_LOCAL_EFQ (1 << 12) // 4096: local e2f quantities
64 #define CS_CDO_LOCAL_HFQ (1 << 13) // 8192: local quant. on face pyramids
65 #define CS_CDO_LOCAL_DIAM (1 << 14) // 16384: local diameters on faces/cell
66 
67 /*============================================================================
68  * Type definitions
69  *============================================================================*/
70 
75 typedef struct {
76 
77  /* Specific members for the weakly enforcement of Dirichlet BCs (diffusion) */
78  double eig_ratio;
79  double eig_max;
81  /* Store the cellwise value for the diffusion, time and reaction properties */
83  double dpty_val;
85  double tpty_val;
88  double rpty_vals[CS_CDO_N_MAX_REACTIONS];
89  double rpty_val;
91  /* Advection-related values */
92  double *adv_fluxes;
93 
94  /* Temporary buffers (erase and updated several times during the system
95  build */
96  short int *ids;
97  double *values;
100  /* Structures used to build specific terms composing the algebraic system */
101  cs_sdm_t *hdg;
102  cs_sdm_t *loc;
103  cs_sdm_t *aux;
106 
112 typedef struct {
113 
117  int n_dofs;
122  cs_sdm_t *mat;
123  double *rhs;
124  double *source;
125  double *val_n;
127  /* Boundary conditions for the local system */
129  short int n_bc_faces;
130  short int *_f_ids;
134  /* Dirichlet BCs */
136  double *dir_values;
138  /* Neumann BCs */
140  double *neu_values;
142  /* Robin BCs */
143  bool has_robin;
144  double *rob_values;
146  /* Internal enforcement of DoFs */
150 } cs_cell_sys_t;
151 
163 typedef struct {
164 
168  /* Sizes used to allocate buffers */
169  short int n_max_vbyc;
170  short int n_max_ebyc;
171  short int n_max_fbyc;
172 
173  /* Cell information */
176  double vol_c;
177  double diam_c;
179  /* Vertex information */
180  short int n_vc;
182  double *xv;
183  double *wvc;
185  /* Edge information */
186  short int n_ec;
191  /* Face information */
192  short int n_fc;
194  short int *f_sgn;
195  double *f_diam;
196  double *hfc;
197  double *pfc;
201  /* Local e2v connectivity: size 2*n_ec (allocated to 2*n_max_ebyc) */
202  short int *e2v_ids;
203  short int *e2v_sgn;
205  /* Local f2e connectivity: size = 2*n_max_ebyc */
206  short int *f2e_idx;
207  short int *f2e_ids;
208  double *tef;
210  /* Local e2f connectivity: size 2*n_ec (allocated to 2*n_max_ebyc) */
211  short int *e2f_ids;
215 
224 typedef struct {
225 
226  short int n_max_vbyf;
231  /* Face information */
233  short int f_sgn;
237  /* Vertex information */
238  short int n_vf;
240  double *xv;
241  double *wvf;
243  /* Edge information */
244  short int n_ef;
247  double *tef;
249  /* Local e2v connectivity: size 2*n_ec (allocated to 2*n_max_ebyf) */
250  short int *e2v_ids;
253 
254 /*
255  A cs_face_mesh_light_t structure is close to a cs_face_mesh_t structure
256  There are less members to be buildt quicker.
257  Such structure is always associated to a cs_cell_mesh_t structure
258 */
259 
260 typedef struct {
261 
262  short int n_max_vbyf; /* Max number of vertices belonging to a face
263  (= n_max_ebyf) */
264 
265  cs_lnum_t c_id; /* id of related cell in the mesh numbering */
266  short int f; /* id of the face in the cell mesh numbering */
267 
268  /* Vertex information */
269  short int n_vf; /* local number of vertices on this face */
270  short int *v_ids; /* vertex ids in the cellwise numbering */
271  double *wvf; /* weights related to each vertex */
272 
273  /* Edge information */
274  short int n_ef; /* local number of edges on this face (= n_vf) */
275  short int *e_ids; /* edge ids in the cellwise numbering */
276  double *tef; /* area of the triangle of base e and apex xf */
277 
279 
280 /*============================================================================
281  * Global variables
282  *============================================================================*/
283 
287 
288 /*============================================================================
289  * Public function prototypes
290  *============================================================================*/
291 
292 /*----------------------------------------------------------------------------*/
299 /*----------------------------------------------------------------------------*/
300 
301 void
303 
304 /*----------------------------------------------------------------------------*/
309 /*----------------------------------------------------------------------------*/
310 
311 void
313 
314 /*----------------------------------------------------------------------------*/
325 /*----------------------------------------------------------------------------*/
326 
328 cs_cell_sys_create(int n_max_dofbyc,
329  int n_max_fbyc,
330  short int n_blocks,
331  short int *block_sizes);
332 
333 /*----------------------------------------------------------------------------*/
341 /*----------------------------------------------------------------------------*/
342 
343 void
344 cs_cell_sys_reset(int n_fbyc,
345  cs_cell_sys_t *csys);
346 
347 /*----------------------------------------------------------------------------*/
353 /*----------------------------------------------------------------------------*/
354 
355 void
357 
358 /*----------------------------------------------------------------------------*/
365 /*----------------------------------------------------------------------------*/
366 
367 void
368 cs_cell_sys_dump(const char msg[],
369  const cs_cell_sys_t *csys);
370 
371 /*----------------------------------------------------------------------------*/
377 /*----------------------------------------------------------------------------*/
378 
381 
382 /*----------------------------------------------------------------------------*/
388 /*----------------------------------------------------------------------------*/
389 
390 void
392 
393 /*----------------------------------------------------------------------------*/
401 /*----------------------------------------------------------------------------*/
402 
404 cs_cell_mesh_create(const cs_cdo_connect_t *connect);
405 
406 /*----------------------------------------------------------------------------*/
414 /*----------------------------------------------------------------------------*/
415 
417 cs_cdo_local_get_cell_mesh(int mesh_id);
418 
419 /*----------------------------------------------------------------------------*/
425 /*----------------------------------------------------------------------------*/
426 
427 void
429 
430 /*----------------------------------------------------------------------------*/
436 /*----------------------------------------------------------------------------*/
437 
438 void
440 
441 /*----------------------------------------------------------------------------*/
447 /*----------------------------------------------------------------------------*/
448 
449 void
451 
452 /*----------------------------------------------------------------------------*/
463 /*----------------------------------------------------------------------------*/
464 
465 void
467  cs_flag_t build_flag,
468  const cs_cdo_connect_t *connect,
469  const cs_cdo_quantities_t *quant,
470  cs_cell_mesh_t *cm);
471 
472 /*----------------------------------------------------------------------------*/
481 /*----------------------------------------------------------------------------*/
482 
483 static inline void
485  const cs_cell_mesh_t *cm,
486  short int *n_vf,
487  short int *v_ids)
488 {
489  /* Reset */
490  *n_vf = 0;
491  for (short int v = 0; v < cm->n_vc; v++) v_ids[v] = -1;
492 
493  /* Tag vertices belonging to the current face f */
494  for (short int i = cm->f2e_idx[f]; i < cm->f2e_idx[f+1]; i++) {
495 
496  const short int shift_e = (short int)2*cm->f2e_ids[i];
497  v_ids[cm->e2v_ids[shift_e]] = 1;
498  v_ids[cm->e2v_ids[shift_e+1]] = 1;
499 
500  } // Loop on face edges
501 
502  for (short int v = 0; v < cm->n_vc; v++) {
503  if (v_ids[v] > 0)
504  v_ids[*n_vf] = v, *n_vf += 1;
505  }
506 
507 }
508 
509 /*----------------------------------------------------------------------------*/
520 /*----------------------------------------------------------------------------*/
521 
522 static inline void
523 cs_cell_mesh_get_next_3_vertices(const short int *f2e_ids,
524  const short int *e2v_ids,
525  short int *v0,
526  short int *v1,
527  short int *v2)
528 {
529  const short int e0 = f2e_ids[0];
530  const short int e1 = f2e_ids[1];
531  const short int tmp = e2v_ids[2*e1];
532 
533  *v0 = e2v_ids[2*e0];
534  *v1 = e2v_ids[2*e0+1];
535  *v2 = ((tmp != *v0) && (tmp != *v1)) ? tmp : e2v_ids[2*e1+1];
536 }
537 
538 /*----------------------------------------------------------------------------*/
546 /*----------------------------------------------------------------------------*/
547 
549 cs_face_mesh_create(short int n_max_vbyf);
550 
551 /*----------------------------------------------------------------------------*/
559 /*----------------------------------------------------------------------------*/
560 
562 cs_cdo_local_get_face_mesh(int mesh_id);
563 
564 /*----------------------------------------------------------------------------*/
570 /*----------------------------------------------------------------------------*/
571 
572 void
574 
575 /*----------------------------------------------------------------------------*/
585 /*----------------------------------------------------------------------------*/
586 
587 void
589  cs_lnum_t f_id,
590  const cs_cdo_connect_t *connect,
591  const cs_cdo_quantities_t *quant,
592  cs_face_mesh_t *fm);
593 
594 /*----------------------------------------------------------------------------*/
604 /*----------------------------------------------------------------------------*/
605 
606 void
608  short int f,
609  cs_face_mesh_t *fm);
610 
611 /*----------------------------------------------------------------------------*/
620 /*----------------------------------------------------------------------------*/
621 
623 cs_face_mesh_light_create(short int n_max_vbyf,
624  short int n_max_vbyc);
625 
626 /*----------------------------------------------------------------------------*/
635 /*----------------------------------------------------------------------------*/
636 
639 
640 /*----------------------------------------------------------------------------*/
646 /*----------------------------------------------------------------------------*/
647 
648 void
650 
651 /*----------------------------------------------------------------------------*/
660 /*----------------------------------------------------------------------------*/
661 
662 void
664  short int f,
666 
667 /*----------------------------------------------------------------------------*/
668 
670 
671 #endif /* __CS_CDO_LOCAL_H__ */
cs_lnum_t * e_ids
Definition: cs_cdo_local.h:245
cs_face_mesh_t * cs_face_mesh_create(short int n_max_vbyf)
Allocate a cs_face_mesh_t structure.
Definition: cs_cdo_local.c:1219
cs_cell_sys_t * cs_cell_sys_create(int n_max_dofbyc, int n_max_fbyc, short int n_blocks, short int *block_sizes)
Allocate a cs_cell_sys_t structure.
Definition: cs_cdo_local.c:240
void cs_cdo_local_initialize(const cs_cdo_connect_t *connect)
Allocate global structures related to a cs_cell_mesh_t and cs_face_mesh_t structures.
Definition: cs_cdo_local.c:134
bool has_dirichlet
Definition: cs_cdo_local.h:135
short int * e2f_ids
Definition: cs_cdo_local.h:211
double * tef
Definition: cs_cdo_local.h:208
double vol_c
Definition: cs_cdo_local.h:176
void cs_cell_mesh_free(cs_cell_mesh_t **p_cm)
Free a cs_cell_mesh_t structure.
Definition: cs_cdo_local.c:784
cs_sdm_t * loc
Definition: cs_cdo_local.h:102
cs_cell_builder_t * cs_cell_builder_create(void)
Allocate cs_cell_builder_t structure.
Definition: cs_cdo_local.c:454
cs_lnum_t * f_ids
Definition: cs_cdo_local.h:193
cs_lnum_t f_id
Definition: cs_cdo_local.h:232
static void cs_cell_mesh_get_f2v(short int f, const cs_cell_mesh_t *cm, short int *n_vf, short int *v_ids)
Retrieve the list of vertices attached to a face.
Definition: cs_cdo_local.h:484
short int * ids
Definition: cs_cdo_local.h:96
cs_face_mesh_light_t * cs_face_mesh_light_create(short int n_max_vbyf, short int n_max_vbyc)
Allocate a cs_face_mesh_light_t structure.
Definition: cs_cdo_local.c:1573
double dpty_val
Definition: cs_cdo_local.h:83
cs_sdm_t * hdg
Definition: cs_cdo_local.h:101
short int * v_ids
Definition: cs_cdo_local.h:270
double * wvc
Definition: cs_cdo_local.h:183
short int n_max_vbyf
Definition: cs_cdo_local.h:226
cs_lnum_t * bf_ids
Definition: cs_cdo_local.h:131
double * tef
Definition: cs_cdo_local.h:247
double rpty_val
Definition: cs_cdo_local.h:89
double * source
Definition: cs_cdo_local.h:124
void cs_cell_sys_reset(int n_fbyc, cs_cell_sys_t *csys)
Reset all members related to BC and some other ones in a cs_cell_sys_t structure. ...
Definition: cs_cdo_local.c:342
void cs_cell_mesh_build(cs_lnum_t c_id, cs_flag_t build_flag, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, cs_cell_mesh_t *cm)
Define a cs_cell_mesh_t structure for a given cell id. According to the requested level...
Definition: cs_cdo_local.c:835
bool has_internal_enforcement
Definition: cs_cdo_local.h:147
cs_lnum_t * dof_ids
Definition: cs_cdo_local.h:119
short int n_max_vbyc
Definition: cs_cdo_local.h:169
#define BEGIN_C_DECLS
Definition: cs_defs.h:462
double * rob_values
Definition: cs_cdo_local.h:144
double * dir_values
Definition: cs_cdo_local.h:136
short int * e2v_sgn
Definition: cs_cdo_local.h:203
double * tef
Definition: cs_cdo_local.h:276
cs_nvec3_t * dface
Definition: cs_cdo_local.h:189
void cs_cdo_local_finalize(void)
Free global structures related to cs_cell_mesh_t and cs_face_mesh_t structures.
Definition: cs_cdo_local.c:190
double * val_n
Definition: cs_cdo_local.h:125
cs_lnum_t c_id
Definition: cs_cdo_local.h:265
double * hfc
Definition: cs_cdo_local.h:196
short int n_vf
Definition: cs_cdo_local.h:238
Set of local quantities and connectivities related to a mesh cell This is a key structure for all cel...
Definition: cs_cdo_local.h:163
double eig_ratio
Definition: cs_cdo_local.h:78
cs_lnum_t face_shift
Definition: cs_cdo_local.h:128
void cs_cell_builder_free(cs_cell_builder_t **p_cb)
Free a cs_cell_builder_t structure.
Definition: cs_cdo_local.c:491
Definition: cs_cdo_connect.h:74
short int * f2e_ids
Definition: cs_cdo_local.h:207
cs_sdm_t * mat
Definition: cs_cdo_local.h:122
cs_flag_t * dof_flag
Definition: cs_cdo_local.h:120
cs_lnum_t * v_ids
Definition: cs_cdo_local.h:239
double * xv
Definition: cs_cdo_local.h:182
short int n_ef
Definition: cs_cdo_local.h:244
cs_face_mesh_light_t * cs_cdo_local_get_face_mesh_light(int mesh_id)
Get a pointer to a cs_face_mesh_light_t structure corresponding to mesh id.
Definition: cs_cdo_local.c:1609
cs_nvec3_t * sefc
Definition: cs_cdo_local.h:212
Definition: cs_cdo_quantities.h:94
cs_nvec3_t dedge
Definition: cs_cdo_local.h:235
Definition: cs_defs.h:338
Set of arrays and local (small) dense matrices related to a mesh cell This is a key structure for bui...
Definition: cs_cdo_local.h:112
short int n_max_ebyc
Definition: cs_cdo_local.h:170
cs_lnum_t * v_ids
Definition: cs_cdo_local.h:181
int n_dofs
Definition: cs_cdo_local.h:117
void cs_face_mesh_light_free(cs_face_mesh_light_t **p_fm)
Free a cs_face_mesh_light_t structure.
Definition: cs_cdo_local.c:1626
Definition: cs_cdo_local.h:260
short int * f_sgn
Definition: cs_cdo_local.h:194
double * wvf
Definition: cs_cdo_local.h:241
double * rhs
Definition: cs_cdo_local.h:123
double precision, dimension(:,:,:), allocatable v
Definition: atimbr.f90:114
double eig_max
Definition: cs_cdo_local.h:79
double diam_c
Definition: cs_cdo_local.h:177
cs_sdm_t * aux
Definition: cs_cdo_local.h:103
Definition: cs_field_pointer.h:123
cs_lnum_t c_id
Definition: cs_cdo_local.h:114
fvm_element_t
Definition: fvm_defs.h:48
fvm_element_t type
Definition: cs_cdo_local.h:166
cs_lnum_t c_id
Definition: cs_cdo_local.h:174
void cs_face_mesh_light_build(const cs_cell_mesh_t *cm, short int f, cs_face_mesh_light_t *fm)
Define a cs_face_mesh_light_t structure starting from a cs_cell_mesh_t structure. ...
Definition: cs_cdo_local.c:1654
cs_cell_mesh_t * cs_cdo_local_get_cell_mesh(int mesh_id)
Get a pointer to a cs_cell_mesh_t structure corresponding to mesh id.
Definition: cs_cdo_local.c:586
short int n_max_fbyc
Definition: cs_cdo_local.h:171
void cs_face_mesh_build_from_cell_mesh(const cs_cell_mesh_t *cm, short int f, cs_face_mesh_t *fm)
Define a cs_face_mesh_t structure for a given cell from a cs_cell_mesh_t structure. v_ids and e_ids are defined in the cell numbering given by cm.
Definition: cs_cdo_local.c:1453
cs_flag_t * bf_flag
Definition: cs_cdo_local.h:132
short int n_fc
Definition: cs_cdo_local.h:192
double * pfc
Definition: cs_cdo_local.h:197
short int f_sgn
Definition: cs_cdo_local.h:233
cs_face_mesh_t * cs_cdo_local_get_face_mesh(int mesh_id)
Get a pointer to a cs_face_mesh_t structure corresponding to mesh id.
Definition: cs_cdo_local.c:1261
cs_lnum_t * e_ids
Definition: cs_cdo_local.h:187
cs_nvec3_t * dedge
Definition: cs_cdo_local.h:199
short int n_vf
Definition: cs_cdo_local.h:269
cs_quant_t * edge
Definition: cs_cdo_local.h:246
cs_flag_t cell_flag
Definition: cs_cdo_local.h:115
double * f_diam
Definition: cs_cdo_local.h:195
cs_cell_mesh_t ** cs_cdo_local_cell_meshes
Definition: cs_cdo_local.c:78
short int * e2v_ids
Definition: cs_cdo_local.h:250
double * neu_values
Definition: cs_cdo_local.h:140
Set of local and temporary buffers useful for building the algebraic system with a cellwise process...
Definition: cs_cdo_local.h:75
cs_quant_t * face
Definition: cs_cdo_local.h:198
cs_face_mesh_light_t ** cs_cdo_local_face_meshes_light
Definition: cs_cdo_local.c:80
cs_lnum_t * intern_forced_ids
Definition: cs_cdo_local.h:148
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:310
bool has_robin
Definition: cs_cdo_local.h:143
cs_flag_t flag
Definition: cs_cdo_local.h:165
cs_quant_t face
Definition: cs_cdo_local.h:234
double tpty_val
Definition: cs_cdo_local.h:85
short int * _f_ids
Definition: cs_cdo_local.h:130
void cs_cell_sys_free(cs_cell_sys_t **p_csys)
Free a cs_cell_sys_t structure.
Definition: cs_cdo_local.c:384
cs_real_3_t xc
Definition: cs_cdo_local.h:175
short int * e_ids
Definition: cs_cdo_local.h:275
#define CS_CDO_N_MAX_REACTIONS
Definition: cs_param_cdo.h:52
Definition: cs_cdo_quantities.h:86
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:293
short int n_vc
Definition: cs_cdo_local.h:180
cs_real_3_t xc
Definition: cs_cdo_local.h:229
short int f
Definition: cs_cdo_local.h:266
void cs_cell_mesh_reset(cs_cell_mesh_t *cm)
Initialize to invalid values a cs_cell_mesh_t structure.
Definition: cs_cdo_local.c:603
#define END_C_DECLS
Definition: cs_defs.h:463
short int * e2v_ids
Definition: cs_cdo_local.h:202
unsigned short int cs_flag_t
Definition: cs_defs.h:299
short int n_bc_faces
Definition: cs_cdo_local.h:129
double * wvf
Definition: cs_cdo_local.h:271
cs_cell_mesh_t * cs_cell_mesh_create(const cs_cdo_connect_t *connect)
Allocate and initialize a cs_cell_mesh_t structure.
Definition: cs_cdo_local.c:522
short int n_ef
Definition: cs_cdo_local.h:274
double precision, dimension(ncharm), save e1
Definition: cpincl.f90:233
short int n_ec
Definition: cs_cdo_local.h:186
cs_real_t cs_real_33_t[3][3]
3x3 matrix of floating-point values
Definition: cs_defs.h:316
cs_real_33_t dpty_mat
Definition: cs_cdo_local.h:82
double * values
Definition: cs_cdo_local.h:97
Set of local quantities and connectivities related to a mesh face Structure used to get a better memo...
Definition: cs_cdo_local.h:224
static void cs_cell_mesh_get_next_3_vertices(const short int *f2e_ids, const short int *e2v_ids, short int *v0, short int *v1, short int *v2)
Get the next three vertices in a row from a face to edge connectivity and a edge to vertex connectivi...
Definition: cs_cdo_local.h:523
void cs_face_mesh_build(cs_lnum_t c_id, cs_lnum_t f_id, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, cs_face_mesh_t *fm)
Define a cs_face_mesh_t structure for a given face/cell id.
Definition: cs_cdo_local.c:1311
cs_real_3_t * vectors
Definition: cs_cdo_local.h:98
short int * f2e_idx
Definition: cs_cdo_local.h:206
short int n_max_vbyf
Definition: cs_cdo_local.h:262
cs_face_mesh_t ** cs_cdo_local_face_meshes
Definition: cs_cdo_local.c:79
void cs_cell_sys_dump(const char msg[], const cs_cell_sys_t *csys)
Dump a local system for debugging purpose.
Definition: cs_cdo_local.c:423
double * adv_fluxes
Definition: cs_cdo_local.h:92
cs_lnum_t c_id
Definition: cs_cdo_local.h:228
void cs_cell_mesh_dump(const cs_cell_mesh_t *cm)
Dump a cs_cell_mesh_t structure.
Definition: cs_cdo_local.c:671
double * xv
Definition: cs_cdo_local.h:240
cs_quant_t * edge
Definition: cs_cdo_local.h:188
void cs_face_mesh_free(cs_face_mesh_t **p_fm)
Free a cs_face_mesh_t structure.
Definition: cs_cdo_local.c:1278
bool has_nhmg_neumann
Definition: cs_cdo_local.h:139