Code_Saturne
CFD tool
ecs_maillage_priv.h
Go to the documentation of this file.
1 #ifndef _ECS_MAILLAGE_PRIV_H_
2 #define _ECS_MAILLAGE_PRIV_H_
3 
4 /*============================================================================
5  * Definition privee de la structure `_ecs_maillage_t' decrivant un maillage
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2012 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 /*============================================================================
32  * Visibilite
33  *============================================================================*/
34 
35 
36 /*----------------------------------------------------------------------------
37  * Fichiers `include' librairie standard C
38  *----------------------------------------------------------------------------*/
39 
40 
41 /*----------------------------------------------------------------------------
42  * Fichiers `include' publics du paquetage global "Utilitaire"
43  *----------------------------------------------------------------------------*/
44 
45 #include "ecs_def.h"
46 
47 
48 /*----------------------------------------------------------------------------
49  * Fichiers `include' publics des paquetages visibles
50  *----------------------------------------------------------------------------*/
51 
52 #include "ecs_table.h"
53 #include "ecs_famille.h"
54 
55 
56 /*----------------------------------------------------------------------------
57  * Fichiers `include' publics du paquetage courant
58  *----------------------------------------------------------------------------*/
59 
60 #include "ecs_maillage.h"
61 
62 
63 /*============================================================================
64  * Definition de macros
65  *============================================================================*/
66 
67 
68 /*============================================================================
69  * Definition de la structure
70  *============================================================================*/
71 
72 typedef enum {
73 
76 
78 
80 
81  ecs_maillage_connect_typ_t typ_connect; /* Connectivity type */
82 
83  size_t n_vertices; /* Number of vertices */
84  ecs_coord_t *vertex_coords; /* Vertex coordinates */
85 
86  ecs_table_t *table_def[2]; /* Face and cell connectivity */
87  ecs_table_t *table_att[2]; /* Face and cell attributes */
88 
89  int *elt_fam[2]; /* Face and cell families
90  (size: n_faces/n_cells) */
91 
92  /* Additionnal connectivity (information on connected faces or
93  cells, defined by connected couples, for non-conforming meshes) */
94 
95  size_t n_connect_couples[2];
97 
98  /* Linked family lists, per entity (for family descriptor information) */
99 
101 };
102 
103 /*============================================================================
104  * Les valeurs des tableaux `famille' sont les numeros des familles
105  * numerotees a partir de `1' comme suit :
106  * - en commencant par les familles des cellules
107  * - puis par les familles des faces
108  *============================================================================*/
109 
110 #endif /* _ECS_MAILLAGE_PRIV_H_ */
int ecs_int_t
Definition: ecs_def.h:131
double ecs_coord_t
Definition: ecs_def.h:133
ecs_maillage_connect_typ_t typ_connect
Definition: ecs_maillage_priv.h:81
size_t n_vertices
Definition: ecs_maillage_priv.h:83
ecs_coord_t * vertex_coords
Definition: ecs_maillage_priv.h:84
Definition: ecs_maillage_priv.h:75
Definition: ecs_maillage_priv.h:79
int * elt_fam[2]
Definition: ecs_maillage_priv.h:89
ecs_table_t * table_att[2]
Definition: ecs_maillage_priv.h:87
ecs_famille_t * famille[2]
Definition: ecs_maillage_priv.h:100
size_t n_connect_couples[2]
Definition: ecs_maillage_priv.h:95
Definition: ecs_famille_priv.h:70
Definition: ecs_table_priv.h:63
ecs_int_t * connect_couples[2]
Definition: ecs_maillage_priv.h:96
ecs_table_t * table_def[2]
Definition: ecs_maillage_priv.h:86
Definition: ecs_maillage_priv.h:74
ecs_maillage_connect_typ_t
Definition: ecs_maillage_priv.h:72