1
#ifndef _ECS_MAILLAGE_PRIV_H_
2
#define _ECS_MAILLAGE_PRIV_H_
4
/*============================================================================
5
* Definition privee de la structure `_ecs_maillage_t' decrivant un maillage
6
*============================================================================*/
9
This file is part of Code_Saturne, a general-purpose CFD tool.
11
Copyright (C) 1998-2011 EDF S.A.
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
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
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.
28
/*----------------------------------------------------------------------------*/
31
/*============================================================================
33
*============================================================================*/
36
/*----------------------------------------------------------------------------
37
* Fichiers `include' librairie standard C
38
*----------------------------------------------------------------------------*/
41
/*----------------------------------------------------------------------------
42
* Fichiers `include' publics du paquetage global "Utilitaire"
43
*----------------------------------------------------------------------------*/
48
/*----------------------------------------------------------------------------
49
* Fichiers `include' publics des paquetages visibles
50
*----------------------------------------------------------------------------*/
52
#include "ecs_table.h"
53
#include "ecs_famille.h"
56
/*----------------------------------------------------------------------------
57
* Fichiers `include' publics du paquetage courant
58
*----------------------------------------------------------------------------*/
60
#include "ecs_maillage.h"
63
/*============================================================================
64
* Definition de macros
65
*============================================================================*/
68
/*============================================================================
69
* Definition de la structure
70
*============================================================================*/
74
ECS_MAILLAGE_CONNECT_NODALE,
75
ECS_MAILLAGE_CONNECT_DESCENDANTE
77
} ecs_maillage_connect_typ_t;
79
struct _ecs_maillage_t {
81
ecs_maillage_connect_typ_t typ_connect; /* Connectivity type */
83
size_t n_vertices; /* Number of vertices */
84
ecs_coord_t *vertex_coords; /* Vertex coordinates */
86
ecs_table_t *table_def[2]; /* Face and cell connectivity */
87
ecs_table_t *table_att[2]; /* Face and cell attributes */
89
int *elt_fam[2]; /* Face and cell families
90
(size: n_faces/n_cells) */
92
/* Additionnal connectivity (information on connected faces or
93
cells, defined by connected couples, for non-conforming meshes) */
95
size_t n_connect_couples[2];
96
ecs_int_t *connect_couples[2];
98
/* Linked family lists, per entity (for family descriptor information) */
100
ecs_famille_t *famille[2];
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
*============================================================================*/
110
#endif /* _ECS_MAILLAGE_PRIV_H_ */