8.0
general documentation
Loading...
Searching...
No Matches
cs_mesh.h
Go to the documentation of this file.
1#ifndef __CS_MESH_H__
2#define __CS_MESH_H__
3
4/*============================================================================
5 * Main structure associated to a mesh
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_defs.h"
35
36#include "fvm_group.h"
37#include "fvm_selector.h"
38#include "fvm_periodicity.h"
39
40#include "cs_base.h"
41#include "cs_halo.h"
42#include "cs_interface.h"
43#include "cs_numbering.h"
44#include "cs_parall.h"
45#include "cs_range_set.h"
46
47#include "cs_mesh_builder.h"
48
49/*----------------------------------------------------------------------------*/
50
52
53/*=============================================================================
54 * Macro definitions
55 *============================================================================*/
56
57/*
58 * Mesh modification type flags
59 */
60
62#define CS_MESH_MODIFIED (1 << 0)
63
65#define CS_MESH_MODIFIED_BALANCE (1 << 1)
66
67/*============================================================================
68 * Type definitions
69 *============================================================================*/
70
72/* -------------------- */
73
81
83/* ------------------------- */
84
85typedef struct {
86
87 /* General features */
88
92
94
95 /* Local dimensions */
96
101
106
107 /* Local structures */
108
110
113
116
119
120 /* Global dimension */
121
122 cs_gnum_t n_g_cells;
123 cs_gnum_t n_g_i_faces;
124 cs_gnum_t n_g_b_faces;
125 cs_gnum_t n_g_vertices;
126
127 cs_gnum_t n_g_i_c_faces;
130
131 /* Global numbering */
132
133 cs_gnum_t *global_cell_num;
134 cs_gnum_t *global_i_face_num;
135 cs_gnum_t *global_b_face_num;
136 cs_gnum_t *global_vtx_num;
137
138 /* Periodictity features */
139
142
144
146
147 /* Parallelism and/or periodic features */
148
150
154
159
164
165 /* Re-computable connectivity features */
166
169
170 /* Extended neighborhood features */
171
178
181
182 /* Group and family features */
183
186 char *group;
187
194
202
203 /* Refinement features */
204
207 char *vtx_r_gen;
208
209 /* Status flags */
210
211 cs_gnum_t n_g_free_faces;
213
214 cs_gnum_t n_g_b_faces_all;
218
225
226} cs_mesh_t;
227
228/*============================================================================
229 * Static global variables
230 *============================================================================*/
231
232extern cs_mesh_t *cs_glob_mesh; /* Pointer to main mesh structure */
233
234/*============================================================================
235 * Public function prototypes for Fortran API
236 *============================================================================*/
237
238/*----------------------------------------------------------------------------
239 * Update a scalar array in case of parallelism and/or periodicity.
240 *
241 * Fortran interface:
242 *
243 * subroutine synsca(var)
244 * *****************
245 *
246 * var : <-> : scalar array
247 *----------------------------------------------------------------------------*/
248
249void CS_PROCF(synsca, SYNSCA)
250(
251 cs_real_t var[]
252);
253
254/*----------------------------------------------------------------------------
255 * Update a scalar array in case of parallelism and/or periodicity,
256 * using an extended halo.
257 *
258 * Fortran interface:
259 *
260 * subroutine synsce(var)
261 * *****************
262 *
263 * var : <-> : scalar array
264 *----------------------------------------------------------------------------*/
265
266void CS_PROCF(synsce, SYNSCE)
267(
268 cs_real_t var[]
269);
270
271/*----------------------------------------------------------------------------
272 * Update a vector array in case of parallelism and/or periodicity.
273 *
274 * Fortran interface:
275 *
276 * subroutine synvin(var)
277 * *****************
278 *
279 * var : <-> : interleaved vector (of dimension 3)
280 *----------------------------------------------------------------------------*/
281
282void CS_PROCF(synvin, SYNVIN)
283(
284 cs_real_t var[]
285);
286
287/*----------------------------------------------------------------------------
288 * Update a vector array in case of parallelism and/or periodicity,
289 * using an extended halo.
290 *
291 * Fortran interface:
292 *
293 * subroutine synvin(var)
294 * *****************
295 *
296 * var : <-> : interleaved vector (of dimension 3)
297 *----------------------------------------------------------------------------*/
298
299void CS_PROCF(synvie, SYNVIE)
300(
301 cs_real_t var[]
302);
303
304/*----------------------------------------------------------------------------
305 * Update a tensor array in case of parallelism and/or periodicity.
306 *
307 * Fortran interface:
308 *
309 * subroutine syntin(var)
310 * *****************
311 *
312 * var : <-> : interleaved tensor (of dimension 3x3)
313 *----------------------------------------------------------------------------*/
314
315void CS_PROCF(syntin, SYNTIN)
316(
317 cs_real_t var[]
318);
319
320/*----------------------------------------------------------------------------
321 * Update a symmetric tensor array in case of parallelism and/or periodicity.
322 *
323 * Fortran interface:
324 *
325 * subroutine syntis(var)
326 * *****************
327 *
328 * var : <-> : interleaved symmetric tensor (of dimension 6)
329 *----------------------------------------------------------------------------*/
330
331void CS_PROCF(syntis, SYNTIS)
332(
333 cs_real_t var[]
334);
335
336/*=============================================================================
337 * Public function prototypes
338 *============================================================================*/
339
340/*----------------------------------------------------------------------------
341 * Create an empty mesh structure
342 *
343 * returns:
344 * pointer to created mesh structure
345 *----------------------------------------------------------------------------*/
346
347cs_mesh_t *
348cs_mesh_create(void);
349
350/*----------------------------------------------------------------------------
351 * Destroy a mesh structure
352 *
353 * mesh <-> pointer to a mesh structure
354 *
355 * returns:
356 * NULL pointer
357 *----------------------------------------------------------------------------*/
358
359cs_mesh_t *
361
362/*----------------------------------------------------------------------------
363 * Reinitialize mesh structure.
364 *
365 * returns:
366 * pointer to created mesh structure
367 *----------------------------------------------------------------------------*/
368
369void
371
372/*----------------------------------------------------------------------------
373 * Update (compactify) an array of global numbers.
374 *
375 * parameters:
376 * n_elts <-> number of local elements
377 * elt_gnum <-> global element numbers
378 *
379 * return:
380 * associated global number of elements
381 *----------------------------------------------------------------------------*/
382
383cs_gnum_t
385 cs_gnum_t *elt_gnum);
386
387/*----------------------------------------------------------------------------
388 * Remove arrays and structures that mey be rebuilt.
389 *
390 * mesh <-> pointer to a mesh structure
391 * free_halos <-- if true, free halos and parallel/periodic interface
392 * structures
393 *----------------------------------------------------------------------------*/
394
395void
397 bool free_halos);
398
399/*----------------------------------------------------------------------------
400 * Discard free (isolated) faces from a mesh.
401 *
402 * This should always be done before using the mesh for computation.
403 *
404 * parameters:
405 * mesh <-> pointer to mesh structure
406 *----------------------------------------------------------------------------*/
407
408void
410
411/*----------------------------------------------------------------------------
412 * Discard free (isolated) vertices from a mesh.
413 *
414 * This is recommended before using the mesh for computation.
415 *
416 * parameters:
417 * mesh <-> pointer to mesh structure
418 *----------------------------------------------------------------------------*/
419
420void
422
423/*----------------------------------------------------------------------------*/
432/*----------------------------------------------------------------------------*/
433
434void
436
437/*----------------------------------------------------------------------------
438 * Generate or update list of mesh boundary cells.
439 *
440 * parameters:
441 * mesh <-> pointer to a cs_mesh_t structure
442 *----------------------------------------------------------------------------*/
443
444void
446
447/*----------------------------------------------------------------------------
448 * Compute or update mesh structure members that depend on other members,
449 * but whose results may be reused, such as global number of elements
450 * (cells, vertices, interior and boundary faces) and sync cell family.
451 *
452 * parameters:
453 * mesh <-> pointer to a cs_mesh_t structure
454 *----------------------------------------------------------------------------*/
455
456void
458
459/*----------------------------------------------------------------------------
460 * Creation and initialization of mesh face and vertex interfaces.
461 *
462 * parameters:
463 * mesh <-> pointer to mesh structure
464 * mb <-> pointer to mesh builder (in case of periodicity)
465 *----------------------------------------------------------------------------*/
466
467void
470
471/*----------------------------------------------------------------------------*/
485/*----------------------------------------------------------------------------*/
486
487void
490 cs_halo_type_t halo_type,
491 int verbosity,
492 bool rebuild_vtx_interace);
493
494/*----------------------------------------------------------------------------
495 * Get the global number of ghost cells.
496 *
497 * parameters:
498 * mesh <-- pointer to a mesh structure
499 *
500 * returns:
501 * Global number of ghost cells
502 *---------------------------------------------------------------------------*/
503
504cs_gnum_t
506
507/*----------------------------------------------------------------------------
508 * Update a scalar array in case of parallelism and/or periodicity.
509 *
510 * Note: this function is only present so that a C equivalent to the
511 * Fortran wrappers is available. In C code, directly using
512 * cs_halo_sync_var() is preferred.
513 *
514 * parameters:
515 * var <-> scalar array
516 *----------------------------------------------------------------------------*/
517
518void
520
521/*----------------------------------------------------------------------------
522 * Update a scalar array in case of parallelism and/or periodicity,
523 * using an extended halo.
524 *
525 * Note: this function is only present so that a C equivalent to the
526 * Fortran wrappers is available. In C code, directly using the
527 * cs_halo_sync_var() is preferred.
528 *
529 * parameters:
530 * var <-> scalar array
531 *----------------------------------------------------------------------------*/
532
533void
535
536/*----------------------------------------------------------------------------
537 * Update a vector array in case of parallelism and/or periodicity.
538 *
539 * parameters:
540 * var <-> interleaved vector (of dimension 3)
541 *----------------------------------------------------------------------------*/
542
543void
545
546/*----------------------------------------------------------------------------
547 * Update a vector array in case of parallelism and/or periodicity,
548 * using an extended halo.
549 *
550 * parameters:
551 * var <-> interleaved vector (of dimension 3)
552 *----------------------------------------------------------------------------*/
553
554void
556
557/*----------------------------------------------------------------------------
558 * Update a tensor array in case of parallelism and/or periodicity.
559 *
560 * parameters:
561 * var <-> interleaved tensor (of dimension 3x3)
562 *----------------------------------------------------------------------------*/
563
564void
566
567/*----------------------------------------------------------------------------
568 * Update a symmetric tensor array in case of parallelism and/or periodicity.
569 *
570 * parameters:
571 * var <-> symmetric interleaved tensor (of dimension 6)
572 *----------------------------------------------------------------------------*/
573
574void
576
577/*----------------------------------------------------------------------------
578 * Order family numbers and remove duplicates
579 *
580 * parameters
581 * mesh <-> pointer to mesh structure
582 *----------------------------------------------------------------------------*/
583
584void
586
587/*----------------------------------------------------------------------------
588 * Create group classes based on a mesh's family definitions.
589 *
590 * parameters:
591 * mesh <-- pointer to mesh structure
592 *
593 * returns:
594 * pointer to group classes structure based on mesh's family definitions
595 *----------------------------------------------------------------------------*/
596
599
600/*----------------------------------------------------------------------------
601 * Define group classes for a mesh based on its family definitions.
602 *
603 * parameters:
604 * mesh <-> pointer to mesh structure
605 *----------------------------------------------------------------------------*/
606
607void
609
610/*----------------------------------------------------------------------------
611 * Assign selectors to global mesh.
612 *
613 * Should be called once the mesh is fully built.
614 *----------------------------------------------------------------------------*/
615
616void
618
619/*----------------------------------------------------------------------------
620 * Update selector and associated structures.
621 *
622 * parameters:
623 * mesh <-> pointer to a mesh structure
624 *----------------------------------------------------------------------------*/
625
626void
628
629/*----------------------------------------------------------------------------
630 * Get global lists of periodic face couples.
631 *
632 * In parallel, each face couple may appear on only one rank.
633 *
634 * The caller is responsible for freeing the arrays allocated and returned
635 * by this function once they are no onger needed.
636 *
637 * parameters:
638 * mesh <-- pointer to mesh structure
639 * n_perio_face_couples --> global number of periodic couples per
640 * periodicity (size: mesh->n_init_perio)
641 * perio_face_couples --> arrays of global periodic couple face numbers,
642 * for each periodicity
643 *----------------------------------------------------------------------------*/
644
645void
647 cs_lnum_t **n_perio_face_couples,
648 cs_gnum_t ***perio_face_couples);
649
650/*----------------------------------------------------------------------------
651 * Build global cell numbering array extended to ghost cell values.
652 *
653 * If the blank_perio flag is nonzero, periodic ghost cell numbers
654 * are set to zero instead of the value of the matching cell.
655 *
656 * The caller is responsible for freeing the returned array when it
657 * is no longer useful.
658 *
659 * parameters:
660 * mesh <-- pointer to mesh structure
661 * blank_perio <-- flag to zeroe periodic cell values
662 *----------------------------------------------------------------------------*/
663
664cs_gnum_t *
666 int blank_perio);
667
668/*----------------------------------------------------------------------------
669 * Mark interior faces with the number of their associated periodic
670 * transform id.
671 *
672 * parameters:
673 * mesh <-- pointer to mesh structure
674 * perio_num --> periodicity number associated with each face, signed for
675 * direct/reverse transform, 0 for non-periodic faces
676 * (size: mesh->n_i_faces)
677 *----------------------------------------------------------------------------*/
678
679void
681 int perio_num[]);
682
683/*----------------------------------------------------------------------------*/
694/*----------------------------------------------------------------------------*/
695
696void
698 int cell_b_flag[]);
699
700/*----------------------------------------------------------------------------
701 * Print information on a mesh structure.
702 *
703 * parameters:
704 * mesh <-- pointer to mesh structure.
705 * name <-- associated name.
706 *----------------------------------------------------------------------------*/
707
708void
710 const char *name);
711
712/*----------------------------------------------------------------------------
713 * Compute global face connectivity size.
714 *
715 * Faces on simple parallel boundaries are counted only once, but periodic
716 * faces are counted twice.
717 *
718 * parameters:
719 * mesh <-- pointer to a cs_mesh_t structure
720 * g_i_face_vertices_size --> global interior face connectivity size, or NULL
721 * g_b_face_vertices_size --> global boundary face connectivity size, or NULL
722 *----------------------------------------------------------------------------*/
723
724void
726 cs_gnum_t *g_i_face_vertices_size,
727 cs_gnum_t *g_b_face_vertices_size);
728
729/*----------------------------------------------------------------------------
730 * Print statistics about mesh selectors usage to log.
731 *
732 * parameters:
733 * mesh <-- pointer to a mesh structure
734 *----------------------------------------------------------------------------*/
735
736void
738
739/*----------------------------------------------------------------------------
740 * Dump of a mesh structure.
741 *
742 * parameters:
743 * mesh <-> pointer to mesh structure.
744 *----------------------------------------------------------------------------*/
745
746void
748
749/*----------------------------------------------------------------------------*/
764/*----------------------------------------------------------------------------*/
765
766void
768 const cs_e2n_sum_t e2n,
769 int block_size,
770 int *n_groups,
771 int *n_blocks);
772
773/*----------------------------------------------------------------------------*/
798/*----------------------------------------------------------------------------*/
799
800void
802 const cs_e2n_sum_t e2n,
803 int group_id,
804 int block_id,
805 int block_count,
806 int block_size,
807 cs_lnum_t *s_id,
808 cs_lnum_t *e_id);
809
810/*----------------------------------------------------------------------------*/
821/*----------------------------------------------------------------------------*/
822
823int
825 int block_size);
826
827/*----------------------------------------------------------------------------*/
846/*----------------------------------------------------------------------------*/
847
848void
850 int block_id,
851 int block_count,
852 int block_size,
853 cs_lnum_t *s_id,
854 cs_lnum_t *e_id);
855
856/*----------------------------------------------------------------------------*/
857
859
860#endif /* __CS_MESH_H__ */
#define BEGIN_C_DECLS
Definition cs_defs.h:509
double cs_real_t
Floating-point value.
Definition cs_defs.h:319
cs_lnum_t cs_lnum_2_t[2]
vector of 2 local mesh-entity ids
Definition cs_defs.h:325
#define CS_PROCF(x, y)
Definition cs_defs.h:523
cs_real_t cs_real_6_t[6]
vector of 6 floating-point values
Definition cs_defs.h:334
#define END_C_DECLS
Definition cs_defs.h:510
int cs_lnum_t
local mesh entity id
Definition cs_defs.h:313
cs_halo_type_t
Definition cs_halo.h:56
struct _cs_interface_set_t cs_interface_set_t
Definition cs_interface.h:61
void syntis(cs_real_t var[])
Definition cs_mesh.c:2043
void synsce(cs_real_t var[])
Definition cs_mesh.c:1966
void synvie(cs_real_t var[])
Definition cs_mesh.c:2005
void syntin(cs_real_t var[])
Definition cs_mesh.c:2024
void synsca(cs_real_t var[])
Definition cs_mesh.c:1946
void synvin(cs_real_t var[])
Definition cs_mesh.c:1985
void cs_mesh_free_rebuildable(cs_mesh_t *mesh, bool free_halos)
Definition cs_mesh.c:2353
cs_mesh_t * cs_mesh_create(void)
Definition cs_mesh.c:2062
void cs_mesh_sync_var_vect_ext(cs_real_t *var)
Definition cs_mesh.c:3380
void cs_mesh_discard_free_vertices(cs_mesh_t *mesh)
Definition cs_mesh.c:2490
void cs_mesh_get_face_perio_num(const cs_mesh_t *mesh, int perio_num[])
Definition cs_mesh.c:3585
void cs_mesh_discard_refinement_info(cs_mesh_t *mesh)
Discard mesh refinement info.
Definition cs_mesh.c:2520
void cs_mesh_update_b_cells(cs_mesh_t *mesh)
Definition cs_mesh.c:2633
void cs_mesh_clean_families(cs_mesh_t *mesh)
Definition cs_mesh.c:3074
void cs_mesh_update_auxiliary(cs_mesh_t *mesh)
Definition cs_mesh.c:2676
void cs_mesh_sync_var_scal_ext(cs_real_t *var)
Definition cs_mesh.c:3340
void cs_mesh_i_faces_thread_block_count(const cs_mesh_t *m, const cs_e2n_sum_t e2n, int block_size, int *n_groups, int *n_blocks)
Determine number of blocks and associated groups to be used for loops on interior faces.
Definition cs_mesh.c:4109
void cs_mesh_selector_stats(cs_mesh_t *mesh)
Definition cs_mesh.c:3797
void cs_mesh_init_halo(cs_mesh_t *mesh, cs_mesh_builder_t *mb, cs_halo_type_t halo_type, int verbosity, bool rebuild_vtx_interace)
Definition cs_mesh.c:2779
void cs_mesh_sync_var_sym_tens(cs_real_6_t *var)
Definition cs_mesh.c:3425
void cs_mesh_i_faces_thread_block_range(const cs_mesh_t *m, const cs_e2n_sum_t e2n, int group_id, int block_id, int block_count, int block_size, cs_lnum_t *s_id, cs_lnum_t *e_id)
Compute array index bounds for a block of interior faces associated to a thread or task.
Definition cs_mesh.c:4165
void cs_mesh_tag_boundary_cells(cs_mesh_t *mesh, int cell_b_flag[])
Mark cells adjacent to boundary, through faces or vertices.
Definition cs_mesh.c:3634
fvm_group_class_set_t * cs_mesh_create_group_classes(cs_mesh_t *mesh)
Definition cs_mesh.c:3196
void cs_mesh_discard_free_faces(cs_mesh_t *mesh)
Definition cs_mesh.c:2409
void cs_mesh_dump(const cs_mesh_t *mesh)
Definition cs_mesh.c:3844
void cs_mesh_sync_var_tens(cs_real_t *var)
Definition cs_mesh.c:3403
void cs_mesh_reinit(cs_mesh_t *mesh)
Definition cs_mesh.c:2213
int cs_mesh_b_faces_thread_block_count(const cs_mesh_t *m, int block_size)
Return number of boundary face blocks associated to threads or tasks.
Definition cs_mesh.c:4241
cs_gnum_t cs_mesh_n_g_ghost_cells(cs_mesh_t *mesh)
Definition cs_mesh.c:3051
void cs_mesh_init_interfaces(cs_mesh_t *mesh, cs_mesh_builder_t *mb)
void cs_mesh_get_perio_faces(const cs_mesh_t *mesh, cs_lnum_t **n_perio_face_couples, cs_gnum_t ***perio_face_couples)
Definition cs_mesh.c:3456
cs_mesh_t * cs_glob_mesh
cs_mesh_t * cs_mesh_destroy(cs_mesh_t *mesh)
Definition cs_mesh.c:2196
cs_mesh_time_dep_t
Definition cs_mesh.h:74
@ CS_MESH_TRANSIENT_COORDS
Definition cs_mesh.h:77
@ CS_MESH_TRANSIENT_CONNECT
Definition cs_mesh.h:78
@ CS_MESH_FIXED
Definition cs_mesh.h:76
cs_gnum_t cs_mesh_compact_gnum(cs_lnum_t n_elts, cs_gnum_t *elt_gnum)
Definition cs_mesh.c:2319
void cs_mesh_update_selectors(cs_mesh_t *mesh)
Definition cs_mesh.c:3301
cs_gnum_t * cs_mesh_get_cell_gnum(const cs_mesh_t *mesh, int blank_perio)
Definition cs_mesh.c:3508
void cs_mesh_b_faces_thread_block_range(const cs_mesh_t *m, int block_id, int block_count, int block_size, cs_lnum_t *s_id, cs_lnum_t *e_id)
Compute array index bounds for a block of boundary faces associated to a thread or task.
Definition cs_mesh.c:4287
void cs_mesh_sync_var_scal(cs_real_t *var)
Definition cs_mesh.c:3319
void cs_mesh_sync_var_vect(cs_real_t *var)
Definition cs_mesh.c:3356
void cs_mesh_init_selectors(void)
Definition cs_mesh.c:3257
void cs_mesh_print_info(const cs_mesh_t *mesh, const char *name)
Definition cs_mesh.c:3719
void cs_mesh_g_face_vertices_sizes(const cs_mesh_t *mesh, cs_gnum_t *g_i_face_vertices_size, cs_gnum_t *g_b_face_vertices_size)
Definition cs_mesh.c:2543
void cs_mesh_init_group_classes(cs_mesh_t *mesh)
Definition cs_mesh.c:3242
cs_e2n_sum_t
Definition cs_parall.h:51
struct _fvm_group_class_set_t fvm_group_class_set_t
Definition fvm_group.h:60
struct _fvm_periodicity_t fvm_periodicity_t
Definition fvm_periodicity.h:67
struct _fvm_selector_t fvm_selector_t
Definition fvm_selector.h:51
Definition mesh.f90:26
Definition cs_halo.h:77
Definition cs_mesh_builder.h:57
Definition cs_mesh.h:85
int save_if_modified
Definition cs_mesh.h:221
int modified
Definition cs_mesh.h:220
int n_transforms
Definition cs_mesh.h:141
cs_lnum_t * cell_cells_idx
Definition cs_mesh.h:172
cs_lnum_t * b_cells
Definition cs_mesh.h:168
fvm_selector_t * select_cells
Definition cs_mesh.h:199
cs_lnum_t * cell_cells_lst
Definition cs_mesh.h:175
int verbosity
Definition cs_mesh.h:219
cs_lnum_t * b_face_cells
Definition cs_mesh.h:112
int * i_face_family
Definition cs_mesh.h:192
cs_lnum_t n_i_faces
Definition cs_mesh.h:98
cs_numbering_t * vtx_numbering
Definition cs_mesh.h:161
cs_interface_set_t * vtx_interfaces
Definition cs_mesh.h:155
int * b_face_family
Definition cs_mesh.h:193
cs_gnum_t n_g_i_faces
Definition cs_mesh.h:123
cs_lnum_t n_b_faces_all
Definition cs_mesh.h:216
char * group
Definition cs_mesh.h:186
cs_range_set_t * vtx_range_set
Definition cs_mesh.h:157
int domain_num
Definition cs_mesh.h:90
cs_numbering_t * b_face_numbering
Definition cs_mesh.h:163
cs_numbering_t * i_face_numbering
Definition cs_mesh.h:162
cs_lnum_t n_b_faces
Definition cs_mesh.h:99
cs_lnum_t * i_face_vtx_idx
Definition cs_mesh.h:114
cs_gnum_t n_g_i_c_faces
Definition cs_mesh.h:127
cs_lnum_t * gcell_vtx_lst
Definition cs_mesh.h:180
cs_lnum_t dim
Definition cs_mesh.h:89
cs_gnum_t n_g_vertices
Definition cs_mesh.h:125
bool have_r_gen
Definition cs_mesh.h:205
cs_gnum_t n_g_b_faces
Definition cs_mesh.h:124
cs_lnum_t n_cells_with_ghosts
Definition cs_mesh.h:151
cs_lnum_t n_cells
Definition cs_mesh.h:97
int have_rotation_perio
Definition cs_mesh.h:143
int n_groups
Definition cs_mesh.h:184
fvm_periodicity_t * periodicity
Definition cs_mesh.h:145
int n_families
Definition cs_mesh.h:188
char * vtx_r_gen
Definition cs_mesh.h:207
fvm_selector_t * select_i_faces
Definition cs_mesh.h:200
cs_gnum_t n_g_cells
Definition cs_mesh.h:122
fvm_group_class_set_t * class_defs
Definition cs_mesh.h:195
int * cell_family
Definition cs_mesh.h:191
int n_init_perio
Definition cs_mesh.h:140
cs_lnum_t n_vertices
Definition cs_mesh.h:100
cs_halo_t * halo
Definition cs_mesh.h:156
cs_lnum_2_t * i_face_cells
Definition cs_mesh.h:111
cs_lnum_t * b_face_vtx_idx
Definition cs_mesh.h:117
cs_numbering_t * cell_numbering
Definition cs_mesh.h:160
cs_lnum_t * b_face_vtx_lst
Definition cs_mesh.h:118
cs_lnum_t b_face_vtx_connect_size
Definition cs_mesh.h:104
cs_gnum_t * global_vtx_num
Definition cs_mesh.h:136
cs_gnum_t * global_i_face_num
Definition cs_mesh.h:134
int * group_idx
Definition cs_mesh.h:185
cs_gnum_t * global_b_face_num
Definition cs_mesh.h:135
char * i_face_r_gen
Definition cs_mesh.h:206
cs_lnum_t i_face_vtx_connect_size
Definition cs_mesh.h:102
cs_halo_type_t halo_type
Definition cs_mesh.h:149
int n_max_family_items
Definition cs_mesh.h:189
fvm_selector_t * select_b_faces
Definition cs_mesh.h:201
int n_domains
Definition cs_mesh.h:91
cs_lnum_t * i_face_vtx_lst
Definition cs_mesh.h:115
cs_lnum_t n_ghost_cells
Definition cs_mesh.h:153
cs_lnum_t * gcell_vtx_idx
Definition cs_mesh.h:179
cs_real_t * vtx_coord
Definition cs_mesh.h:109
cs_lnum_t n_b_cells
Definition cs_mesh.h:167
cs_mesh_time_dep_t time_dep
Definition cs_mesh.h:93
cs_gnum_t * global_cell_num
Definition cs_mesh.h:133
cs_gnum_t n_g_free_faces
Definition cs_mesh.h:211
int * family_item
Definition cs_mesh.h:190
cs_gnum_t n_g_b_faces_all
Definition cs_mesh.h:214
Definition cs_numbering.h:87
Definition cs_range_set.h:57