programmer's documentation
cs_mesh_adjacencies.h
Go to the documentation of this file.
1 #ifndef __CS_MESH_ADJACENCIES_H__
2 #define __CS_MESH_ADJACENCIES_H__
3 
4 /*============================================================================
5  * Additional mesh adjacencies.
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2016 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_halo.h"
36 
37 /*----------------------------------------------------------------------------*/
38 
40 
41 /*=============================================================================
42  * Macro definitions
43  *============================================================================*/
44 
45 /*============================================================================
46  * Type definition
47  *============================================================================*/
48 
49 typedef struct {
50 
51  /* metadata */
52 
53  bool single_faces_to_cells; /* true if a single face is adjacent
54  to 2 given cells */
55 
56  /* cells -> cells connectivity (standard) */
57 
58  cs_lnum_t *cell_cells_idx; /* indexes (shared) */
59  cs_lnum_t *cell_cells; /* adjacency (shared) */
60 
61  /* cells -> cells connectivity (extended) */
62 
63  const cs_lnum_t *cell_cells_e_idx; /* indexes (shared) */
64  const cs_lnum_t *cell_cells_e; /* adjacency (shared) */
65 
66  /* cells -> boundary faces connectivity */
67 
70 
72 
73 /*============================================================================
74  * Global variables
75  *============================================================================*/
76 
77 /* Read-only pointer to global mesh additional adjacencies structure */
78 
80 
81 /*=============================================================================
82  * Public function prototypes
83  *============================================================================*/
84 
85 /*----------------------------------------------------------------------------*/
89 /*----------------------------------------------------------------------------*/
90 
91 void
93 
94 /*----------------------------------------------------------------------------*/
98 /*----------------------------------------------------------------------------*/
99 
100 void
102 
103 /*----------------------------------------------------------------------------*/
107 /*----------------------------------------------------------------------------*/
108 
109 void
111 
112 /*----------------------------------------------------------------------------*/
117 /*----------------------------------------------------------------------------*/
118 
119 void
121 
122 /*----------------------------------------------------------------------------*/
123 
125 
126 #endif /* __CS_MESH_ADJACENCIES__ */
bool single_faces_to_cells
Definition: cs_mesh_adjacencies.h:53
Definition: cs_mesh_adjacencies.h:49
#define BEGIN_C_DECLS
Definition: cs_defs.h:448
cs_lnum_t * cell_b_faces_idx
Definition: cs_mesh_adjacencies.h:68
void cs_mesh_adjacencies_initialize(void)
Initialize mesh adjacencies helper API.
Definition: cs_mesh_adjacencies.c:266
const cs_lnum_t * cell_cells_e_idx
Definition: cs_mesh_adjacencies.h:63
const cs_mesh_adjacencies_t * cs_glob_mesh_adjacencies
void cs_mesh_adjacencies_update_mesh(void)
Update mesh adjacencies helper API relative to mesh.
Definition: cs_mesh_adjacencies.c:309
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:292
cs_lnum_t * cell_cells
Definition: cs_mesh_adjacencies.h:59
void cs_mesh_adjacencies_finalize(void)
Finalize mesh adjacencies helper API.
Definition: cs_mesh_adjacencies.c:289
#define END_C_DECLS
Definition: cs_defs.h:449
void cs_mesh_adjacencies_update_cell_cells_e(void)
Update extended cell -> cell connectivites in mesh adjacencies helper API relative to mesh...
Definition: cs_mesh_adjacencies.c:337
cs_lnum_t * cell_b_faces
Definition: cs_mesh_adjacencies.h:69
cs_lnum_t * cell_cells_idx
Definition: cs_mesh_adjacencies.h:58
const cs_lnum_t * cell_cells_e
Definition: cs_mesh_adjacencies.h:64