8.3
general 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 * Functions to handle low-level functions 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-2024 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/*============================================================================
49 * Type definitions
50 *============================================================================*/
51
60typedef struct {
61
81
107 double gpty_val;
108 double tpty_val;
109 double rpty_vals[CS_CDO_N_MAX_REACTIONS];
110 double rpty_val;
111
112 double *adv_fluxes;
128 int *ids;
129 double *values;
132 cs_sdm_t *loc;
133 cs_sdm_t *aux;
134
140
147typedef struct {
148
151 int n_dofs;
155 cs_sdm_t *mat;
156 double *rhs;
157 double *source;
158 double *val_n;
159 double *val_nm1;
166 short int n_bc_faces;
167 short int *_f_ids;
172 double *dir_values;
175 double *neu_values;
178 double *rob_values;
182 bool has_internal_enforcement; /*<! At least one DoF enforced */
190
203typedef struct {
204
208 /* Sizes used to allocate buffers */
209
210 short int n_max_vbyc;
211 short int n_max_ebyc;
212 short int n_max_fbyc;
213
214 /* Cell information */
215
218 double vol_c;
219 double diam_c;
221 /* Vertex information */
222
223 short int n_vc;
225 double *xv;
226 double *wvc;
228 /* Edge information */
229
230 short int n_ec;
236 /* Face information */
237
238 short int n_fc;
241 short int *f_sgn;
242 double *f_diam;
244 double *hfc;
249 /* Local e2v connectivity: size 2*n_ec (allocated to 2*n_max_ebyc) */
250
251 short int *e2v_ids;
252 short int *e2v_sgn;
254 /* Local f2v connectivity: size = 2*n_max_ebyc */
255
256 short int *f2v_idx;
257 short int *f2v_ids;
259 /* Local f2e connectivity: size = 2*n_max_ebyc */
260 short int *f2e_idx;
261 short int *f2e_ids;
262 short int *f2e_sgn;
263 double *tef;
265 /* Local e2f connectivity: size 2*n_ec (allocated to 2*n_max_ebyc) */
266
267 short int *e2f_ids;
271
280typedef struct {
281
282 short int n_max_vbyf;
287 /* Face information */
288
290 short int f_sgn;
293 double pvol;
294 double hfc;
296 /* Vertex information */
297
298 short int n_vf;
300 double *xv;
301 double *wvf;
303 /* Edge information */
304
305 short int n_ef;
308 double *tef;
310 /* Local e2v connectivity: size 2*n_ec (allocated to 2*n_max_ebyf) */
311
312 short int *e2v_ids;
315
316/*
317 A cs_face_mesh_light_t structure is close to a cs_face_mesh_t structure
318 There are less members to be buildt quicker.
319 Such structure is always associated to a cs_cell_mesh_t structure
320*/
321
322typedef struct {
323
324 short int n_max_vbyf; /* Max number of vertices belonging to a face
325 (= n_max_ebyf) */
326
327 cs_lnum_t c_id; /* id of related cell in the mesh numbering */
328 short int f; /* id of the face in the cell mesh numbering */
329
330 /* Vertex information */
331
332 short int n_vf; /* local number of vertices on this face */
333 short int *v_ids; /* vertex ids in the cellwise numbering */
334 double *wvf; /* weights related to each vertex */
335
336 /* Edge information */
337
338 short int n_ef; /* local number of edges on this face (= n_vf) */
339 short int *e_ids; /* edge ids in the cellwise numbering */
340 double *tef; /* area of the triangle of base e and apex xf */
341
343
344/*============================================================================
345 * Global variables
346 *============================================================================*/
347
348/* Pointer of pointers to global structures */
349
353
354/*============================================================================
355 * Static inline function prototypes
356 *============================================================================*/
357
358/*----------------------------------------------------------------------------*/
366/*----------------------------------------------------------------------------*/
367
368static inline bool
370{
374 return true;
375 else
376 return false;
377}
378
379/*----------------------------------------------------------------------------*/
389/*----------------------------------------------------------------------------*/
390
391static inline short int
393 const cs_cell_mesh_t *const cm)
394{
395 if (cm == NULL)
396 return -1;
397 for (short int v = 0; v < cm->n_vc; v++)
398 if (cm->v_ids[v] == v_id)
399 return v;
400 return -1;
401}
402
403/*----------------------------------------------------------------------------*/
413/*----------------------------------------------------------------------------*/
414
415static inline short int
417 const cs_cell_mesh_t *const cm)
418{
419 if (cm == NULL)
420 return -1;
421 for (short int e = 0; e < cm->n_ec; e++)
422 if (cm->e_ids[e] == e_id)
423 return e;
424 return -1;
425}
426
427/*----------------------------------------------------------------------------*/
437/*----------------------------------------------------------------------------*/
438
439static inline short int
441 const cs_cell_mesh_t *const cm)
442{
443 if (cm == NULL)
444 return -1;
445 for (short int f = 0; f < cm->n_fc; f++)
446 if (cm->f_ids[f] == f_id)
447 return f;
448 return -1;
449}
450
451/*----------------------------------------------------------------------------*/
460/*----------------------------------------------------------------------------*/
461
462static inline void
464 const cs_cell_mesh_t *cm,
465 short int *n_vf,
466 short int *v_ids)
467{
468 /* Reset */
469
470 *n_vf = 0;
471 for (short int v = 0; v < cm->n_vc; v++) v_ids[v] = -1;
472
473 /* Tag vertices belonging to the current face f */
474
475 for (short int i = cm->f2e_idx[f]; i < cm->f2e_idx[f+1]; i++) {
476
477 const short int *e2v = cm->e2v_ids + 2*cm->f2e_ids[i];
478 v_ids[e2v[0]] = 1;
479 v_ids[e2v[1]] = 1;
480
481 } /* Loop on face edges */
482
483 for (short int v = 0; v < cm->n_vc; v++) {
484 if (v_ids[v] > 0)
485 v_ids[*n_vf] = v, *n_vf += 1;
486 }
487}
488
489/*----------------------------------------------------------------------------*/
500/*----------------------------------------------------------------------------*/
501
502static inline void
503cs_cell_mesh_get_next_3_vertices(const short int *f2e_ids,
504 const short int *e2v_ids,
505 short int *v0,
506 short int *v1,
507 short int *v2)
508{
509 const short int e0 = f2e_ids[0];
510 const short int e1 = f2e_ids[1];
511 const short int tmp = e2v_ids[2*e1];
512
513 *v0 = e2v_ids[2*e0];
514 *v1 = e2v_ids[2*e0+1];
515 *v2 = ((tmp != *v0) && (tmp != *v1)) ? tmp : e2v_ids[2*e1+1];
516}
517
518/*----------------------------------------------------------------------------*/
527/*----------------------------------------------------------------------------*/
528
529static inline bool
531 const short int f)
532{
533 if (cm->f_ids[f] - cm->bface_shift > -1)
534 return true;
535 else
536 return false;
537}
538
539/*============================================================================
540 * Public function prototypes
541 *============================================================================*/
542
543/*----------------------------------------------------------------------------*/
550/*----------------------------------------------------------------------------*/
551
552void
554
555/*----------------------------------------------------------------------------*/
560/*----------------------------------------------------------------------------*/
561
562void
564
565/*----------------------------------------------------------------------------*/
577/*----------------------------------------------------------------------------*/
578
580cs_cell_sys_create(int n_max_dofbyc,
581 int n_max_fbyc,
582 int n_blocks,
583 int *block_sizes);
584
585/*----------------------------------------------------------------------------*/
593/*----------------------------------------------------------------------------*/
594
595void
596cs_cell_sys_reset(int n_fbyc,
597 cs_cell_sys_t *csys);
598
599/*----------------------------------------------------------------------------*/
605/*----------------------------------------------------------------------------*/
606
607void
609
610/*----------------------------------------------------------------------------*/
617/*----------------------------------------------------------------------------*/
618
619void
620cs_cell_sys_dump(const char msg[],
621 const cs_cell_sys_t *csys);
622
623/*----------------------------------------------------------------------------*/
629/*----------------------------------------------------------------------------*/
630
633
634/*----------------------------------------------------------------------------*/
640/*----------------------------------------------------------------------------*/
641
642void
644
645/*----------------------------------------------------------------------------*/
653/*----------------------------------------------------------------------------*/
654
657
658/*----------------------------------------------------------------------------*/
666/*----------------------------------------------------------------------------*/
667
669cs_cdo_local_get_cell_mesh(int mesh_id);
670
671/*----------------------------------------------------------------------------*/
677/*----------------------------------------------------------------------------*/
678
679void
681
682/*----------------------------------------------------------------------------*/
688/*----------------------------------------------------------------------------*/
689
690void
692
693/*----------------------------------------------------------------------------*/
699/*----------------------------------------------------------------------------*/
700
701void
703
704/*----------------------------------------------------------------------------*/
715/*----------------------------------------------------------------------------*/
716
717void
719 cs_eflag_t build_flag,
720 const cs_cdo_connect_t *connect,
721 const cs_cdo_quantities_t *quant,
722 cs_cell_mesh_t *cm);
723
724/*----------------------------------------------------------------------------*/
732/*----------------------------------------------------------------------------*/
733
735cs_face_mesh_create(short int n_max_vbyf);
736
737/*----------------------------------------------------------------------------*/
745/*----------------------------------------------------------------------------*/
746
748cs_cdo_local_get_face_mesh(int mesh_id);
749
750/*----------------------------------------------------------------------------*/
756/*----------------------------------------------------------------------------*/
757
758void
760
761/*----------------------------------------------------------------------------*/
771/*----------------------------------------------------------------------------*/
772
773void
775 cs_lnum_t f_id,
776 const cs_cdo_connect_t *connect,
777 const cs_cdo_quantities_t *quant,
779
780/*----------------------------------------------------------------------------*/
790/*----------------------------------------------------------------------------*/
791
792void
794 short int f,
796
797/*----------------------------------------------------------------------------*/
806/*----------------------------------------------------------------------------*/
807
809cs_face_mesh_light_create(short int n_max_vbyf,
810 short int n_max_vbyc);
811
812/*----------------------------------------------------------------------------*/
821/*----------------------------------------------------------------------------*/
822
825
826/*----------------------------------------------------------------------------*/
832/*----------------------------------------------------------------------------*/
833
834void
836
837/*----------------------------------------------------------------------------*/
846/*----------------------------------------------------------------------------*/
847
848void
850 short int f,
852
853/*----------------------------------------------------------------------------*/
854
856
857#endif /* __CS_CDO_LOCAL_H__ */
static short int cs_cell_mesh_get_e(const cs_lnum_t e_id, const cs_cell_mesh_t *const cm)
Retrieve the edge id in the cellwise numbering associated to the given edge id in the mesh numbering.
Definition: cs_cdo_local.h:416
void cs_cell_mesh_build(cs_lnum_t c_id, cs_eflag_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.cpp:936
void cs_cell_mesh_reset(cs_cell_mesh_t *cm)
Initialize to invalid values a cs_cell_mesh_t structure.
Definition: cs_cdo_local.cpp:665
cs_face_mesh_light_t ** cs_cdo_local_face_meshes_light
Definition: cs_cdo_local.cpp:85
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:463
void cs_cell_mesh_dump(const cs_cell_mesh_t *cm)
Dump a cs_cell_mesh_t structure.
Definition: cs_cdo_local.cpp:741
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.cpp:357
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.cpp:1839
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.cpp:563
cs_cell_sys_t * cs_cell_sys_create(int n_max_dofbyc, int n_max_fbyc, int n_blocks, int *block_sizes)
Allocate a cs_cell_sys_t structure.
Definition: cs_cdo_local.cpp:223
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.cpp:173
void cs_cell_mesh_free(cs_cell_mesh_t **p_cm)
Free a cs_cell_mesh_t structure.
Definition: cs_cdo_local.cpp:880
void cs_cdo_local_initialize(const cs_cdo_connect_t *connect)
Allocate global structures used for build system with a cellwise or facewise process.
Definition: cs_cdo_local.cpp:122
cs_cell_mesh_t ** cs_cdo_local_cell_meshes
Definition: cs_cdo_local.cpp:83
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.cpp:437
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....
Definition: cs_cdo_local.cpp:1711
cs_cell_builder_t * cs_cell_builder_create(void)
Allocate cs_cell_builder_t structure.
Definition: cs_cdo_local.cpp:492
static bool cs_cell_has_boundary_elements(const cs_cell_builder_t *const cb)
Check if at least one entity of the cell belongs to the boundary.
Definition: cs_cdo_local.h:369
cs_face_mesh_t * cs_face_mesh_create(short int n_max_vbyf)
Allocate a cs_face_mesh_t structure.
Definition: cs_cdo_local.cpp:1462
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.cpp:1509
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.cpp:1559
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.cpp:1877
void cs_cell_builder_free(cs_cell_builder_t **p_cb)
Free a cs_cell_builder_t structure.
Definition: cs_cdo_local.cpp:533
cs_face_mesh_t ** cs_cdo_local_face_meshes
Definition: cs_cdo_local.cpp:84
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.cpp:1922
static bool cs_cell_mesh_is_boundary_face(const cs_cell_mesh_t *cm, const short int f)
Is the face a boundary one ?
Definition: cs_cdo_local.h:530
static short int cs_cell_mesh_get_v(const cs_lnum_t v_id, const cs_cell_mesh_t *const cm)
Retrieve the vertex id in the cellwise numbering associated to the given vertex id in the mesh number...
Definition: cs_cdo_local.h:392
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.cpp:641
void cs_face_mesh_free(cs_face_mesh_t **p_fm)
Free a cs_face_mesh_t structure.
Definition: cs_cdo_local.cpp:1526
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.cpp:1894
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:503
void cs_cell_sys_free(cs_cell_sys_t **p_csys)
Free a cs_cell_sys_t structure.
Definition: cs_cdo_local.cpp:397
static short int cs_cell_mesh_get_f(const cs_lnum_t f_id, const cs_cell_mesh_t *const cm)
Retrieve the face id in the cellwise numbering associated to the given face id in the mesh numbering.
Definition: cs_cdo_local.h:440
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
double cs_real_t
Floating-point value.
Definition: cs_defs.h:342
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:359
#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
@ fm
Definition: cs_field_pointer.h:129
#define CS_FLAG_BOUNDARY_CELL_BY_VERTEX
(= 2) boundary cell with at least one border vertex
Definition: cs_flag.h:63
#define CS_FLAG_BOUNDARY_CELL_BY_FACE
(= 1) boundary cell with at least one border face
Definition: cs_flag.h:62
#define CS_FLAG_BOUNDARY_CELL_BY_EDGE
(= 4) boundary cell with at least one border edge
Definition: cs_flag.h:64
unsigned int cs_eflag_t
Definition: cs_flag.h:192
#define CS_CDO_N_MAX_REACTIONS
Definition: cs_param_cdo.h:71
fvm_element_t
Definition: fvm_defs.h:48
double precision, dimension(:,:,:), allocatable v
Definition: atimbr.f90:113
real(c_double), dimension(:), pointer, save e1
Definition: cpincl.f90:109
Definition: cs_cdo_connect.h:61
Definition: cs_cdo_quantities.h:139
Set of local and temporary buffers.
Definition: cs_cdo_local.h:60
double * values
Definition: cs_cdo_local.h:129
cs_real_t t_bc_eval
Definition: cs_cdo_local.h:79
double tpty_val
Definition: cs_cdo_local.h:108
cs_real_3_t * vectors
Definition: cs_cdo_local.h:130
cs_real_t t_pty_eval
Definition: cs_cdo_local.h:78
cs_sdm_t * aux
Definition: cs_cdo_local.h:133
double * adv_fluxes
Definition: cs_cdo_local.h:112
int * ids
Definition: cs_cdo_local.h:128
double rpty_val
Definition: cs_cdo_local.h:110
double gpty_val
Definition: cs_cdo_local.h:107
cs_real_t t_st_eval
Definition: cs_cdo_local.h:80
cs_sdm_t * loc
Definition: cs_cdo_local.h:132
cs_flag_t cell_flag
Definition: cs_cdo_local.h:82
Set of local quantities and connectivities related to a mesh cell.
Definition: cs_cdo_local.h:203
cs_lnum_t * f_ids
Definition: cs_cdo_local.h:240
fvm_element_t type
Definition: cs_cdo_local.h:206
cs_real_3_t xc
Definition: cs_cdo_local.h:217
short int * e2v_ids
Definition: cs_cdo_local.h:251
double * f_diam
Definition: cs_cdo_local.h:242
short int * f2v_idx
Definition: cs_cdo_local.h:256
cs_nvec3_t * dface
Definition: cs_cdo_local.h:233
short int * e2v_sgn
Definition: cs_cdo_local.h:252
cs_real_t * pvol_f
Definition: cs_cdo_local.h:247
double diam_c
Definition: cs_cdo_local.h:219
short int n_vc
Definition: cs_cdo_local.h:223
cs_lnum_t c_id
Definition: cs_cdo_local.h:216
cs_nvec3_t * sefc
Definition: cs_cdo_local.h:268
double * hfc
Definition: cs_cdo_local.h:244
double * xv
Definition: cs_cdo_local.h:225
short int n_max_ebyc
Definition: cs_cdo_local.h:211
double * wvc
Definition: cs_cdo_local.h:226
short int * f2e_sgn
Definition: cs_cdo_local.h:262
short int n_ec
Definition: cs_cdo_local.h:230
short int * f2e_idx
Definition: cs_cdo_local.h:260
cs_quant_t * edge
Definition: cs_cdo_local.h:232
cs_eflag_t flag
Definition: cs_cdo_local.h:205
cs_lnum_t bface_shift
Definition: cs_cdo_local.h:239
short int * f2e_ids
Definition: cs_cdo_local.h:261
short int n_max_vbyc
Definition: cs_cdo_local.h:210
cs_nvec3_t * dedge
Definition: cs_cdo_local.h:246
double * tef
Definition: cs_cdo_local.h:263
short int n_fc
Definition: cs_cdo_local.h:238
short int * f_sgn
Definition: cs_cdo_local.h:241
short int * e2f_ids
Definition: cs_cdo_local.h:267
short int n_max_fbyc
Definition: cs_cdo_local.h:212
double vol_c
Definition: cs_cdo_local.h:218
short int * f2v_ids
Definition: cs_cdo_local.h:257
cs_lnum_t * v_ids
Definition: cs_cdo_local.h:224
cs_lnum_t * e_ids
Definition: cs_cdo_local.h:231
cs_real_t * pvol_e
Definition: cs_cdo_local.h:234
cs_quant_t * face
Definition: cs_cdo_local.h:245
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:147
bool has_robin
Definition: cs_cdo_local.h:177
double * val_n
Definition: cs_cdo_local.h:158
cs_sdm_t * mat
Definition: cs_cdo_local.h:155
bool * dof_is_forced
Definition: cs_cdo_local.h:183
double * neu_values
Definition: cs_cdo_local.h:175
cs_lnum_t * bf_ids
Definition: cs_cdo_local.h:168
double * rob_values
Definition: cs_cdo_local.h:178
bool has_internal_enforcement
Definition: cs_cdo_local.h:182
bool has_dirichlet
Definition: cs_cdo_local.h:171
double * val_nm1
Definition: cs_cdo_local.h:159
double * source
Definition: cs_cdo_local.h:157
bool has_nhmg_neumann
Definition: cs_cdo_local.h:174
cs_lnum_t c_id
Definition: cs_cdo_local.h:149
bool has_sliding
Definition: cs_cdo_local.h:180
cs_lnum_t * dof_ids
Definition: cs_cdo_local.h:152
short int n_bc_faces
Definition: cs_cdo_local.h:166
double * dir_values
Definition: cs_cdo_local.h:172
cs_flag_t * bf_flag
Definition: cs_cdo_local.h:169
cs_flag_t * dof_flag
Definition: cs_cdo_local.h:153
double * rhs
Definition: cs_cdo_local.h:156
short int * _f_ids
Definition: cs_cdo_local.h:167
int n_dofs
Definition: cs_cdo_local.h:151
Definition: cs_cdo_local.h:322
short int * e_ids
Definition: cs_cdo_local.h:339
cs_lnum_t c_id
Definition: cs_cdo_local.h:327
double * wvf
Definition: cs_cdo_local.h:334
double * tef
Definition: cs_cdo_local.h:340
short int n_vf
Definition: cs_cdo_local.h:332
short int * v_ids
Definition: cs_cdo_local.h:333
short int f
Definition: cs_cdo_local.h:328
short int n_ef
Definition: cs_cdo_local.h:338
short int n_max_vbyf
Definition: cs_cdo_local.h:324
Set of local quantities and connectivities related to a mesh face Structure used to get a better memo...
Definition: cs_cdo_local.h:280
cs_real_3_t xc
Definition: cs_cdo_local.h:285
short int * e2v_ids
Definition: cs_cdo_local.h:312
double hfc
Definition: cs_cdo_local.h:294
double pvol
Definition: cs_cdo_local.h:293
cs_nvec3_t dedge
Definition: cs_cdo_local.h:292
cs_lnum_t c_id
Definition: cs_cdo_local.h:284
double * wvf
Definition: cs_cdo_local.h:301
cs_lnum_t f_id
Definition: cs_cdo_local.h:289
double * xv
Definition: cs_cdo_local.h:300
cs_quant_t * edge
Definition: cs_cdo_local.h:307
cs_quant_t face
Definition: cs_cdo_local.h:291
double * tef
Definition: cs_cdo_local.h:308
short int n_vf
Definition: cs_cdo_local.h:298
short int n_ef
Definition: cs_cdo_local.h:305
short int f_sgn
Definition: cs_cdo_local.h:290
cs_lnum_t * v_ids
Definition: cs_cdo_local.h:299
cs_lnum_t * e_ids
Definition: cs_cdo_local.h:306
short int n_max_vbyf
Definition: cs_cdo_local.h:282
Definition: cs_defs.h:400
Definition: cs_cdo_quantities.h:131