1
#ifndef _ECS_MED_PRIV_H_
2
#define _ECS_MED_PRIV_H_
4
/*============================================================================
5
* Définition de la structure `_ecs_med_t' pour les entrées ou sorties
7
*============================================================================*/
10
This file is part of Code_Saturne, a general-purpose CFD tool.
12
Copyright (C) 1998-2011 EDF S.A.
14
This program is free software; you can redistribute it and/or modify it under
15
the terms of the GNU General Public License as published by the Free Software
16
Foundation; either version 2 of the License, or (at your option) any later
19
This program is distributed in the hope that it will be useful, but WITHOUT
20
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
21
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
24
You should have received a copy of the GNU General Public License along with
25
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
26
Street, Fifth Floor, Boston, MA 02110-1301, USA.
29
/*----------------------------------------------------------------------------*/
32
/*============================================================================
34
*============================================================================*/
36
#include "cs_config.h"
41
/*----------------------------------------------------------------------------
42
* Fichiers `include' librairie standard C
43
*----------------------------------------------------------------------------*/
46
/*----------------------------------------------------------------------------
47
* Fichiers `include' publics du paquetage global "Utilitaire"
48
*----------------------------------------------------------------------------*/
53
/*----------------------------------------------------------------------------
54
* Fichiers `include' visibles du paquetage global "MED"
55
*----------------------------------------------------------------------------*/
64
#undef PACKAGE_BUGREPORT
67
#undef PACKAGE_TARNAME
68
#undef PACKAGE_VERSION
71
#undef HAVE_MPI /* For MED 2.9 */
76
#undef PACKAGE_BUGREPORT
79
#undef PACKAGE_TARNAME
80
#undef PACKAGE_VERSION
90
/*----------------------------------------------------------------------------
91
* Fichiers `include' publics des paquetages visibles
92
*----------------------------------------------------------------------------*/
95
/*----------------------------------------------------------------------------
96
* Fichiers `include' publics du paquetage courant
97
*----------------------------------------------------------------------------*/
102
/*============================================================================
103
* Définition de macros
104
*============================================================================*/
108
#if !defined(MED_NUM_MAJEUR)
109
#define MED_NUM_MAJEUR 2
110
#define MED_NUM_MINEUR 3
113
#if !defined(MED_MAJOR_NUM)
114
#define MED_MAJOR_NUM MED_NUM_MAJEUR
115
#define MED_MINOR_NUM MED_NUM_MINEUR
118
#if MED_MAJOR_NUM == 2 && MED_MINOR_NUM < 9
119
#define ECS_MED_VERSION 2
121
#define ECS_MED_VERSION 3
124
/* Map MED 2 to MED3 names */
126
#if ECS_MED_VERSION == 2
128
#define MED_NAME_SIZE MED_TAILLE_NOM
129
#define MED_SNAME_SIZE MED_TAILLE_PNOM
130
#define MED_LNAME_SIZE MED_TAILLE_LNOM
131
#define MED_COMMENT_SIZE MED_TAILLE_DESC
133
#define MED_CELL MED_MAILLE
134
#define MED_POLYGON MED_POLYGONE
135
#define MED_POLYHEDRON MED_POLYEDRE
136
#define MED_DESCENDING_EDGE MED_ARETE
137
#define MED_DESCENDING_FACE MED_FACE
139
#define med_axis_type med_repere
140
#define med_bool med_booleen
141
#define med_mesh_type med_maillage
142
#define med_geometry_type med_geometrie_element
143
#define med_entity_type med_entite_maillage
144
#define med_field_type med_type_champ
147
/* Definition des éléments */
148
/*=========================*/
150
/* Tableau donnant la liste des éléments `paraboliques' ou `cubiques'
151
qui sont transformés en leur equivalent `lineaire' */
153
#define ECS_MED_ORDER_LINEAR 1
154
#define ECS_MED_ORDER_PARABOLIC 2
156
#define ECS_MED_NBR_TYP_ELT 14
157
#define ECS_MED_NBR_MAX_SOM 8
159
/*============================================================================
160
* Définitions d'énumerations
161
*============================================================================*/
164
/*============================================================================
165
* Définitions de types
166
*============================================================================*/
168
/* Structure d'information sur les maillages pour le post traitement */
172
char *nom_maillage; /* Nom du maillage MED */
173
char nom_maillage_med[MED_NAME_SIZE + 1]; /* Nom MED */
175
} ecs_med_maillage_t;
177
/* Structure définissant un cas MED */
181
char *nom_cas; /* Nom du cas */
182
char *nom_fic; /* Nom du fichier MED */
184
med_idt fid; /* Identificateur de fichier MED */
185
med_int version[3]; /* MED version used to write file */
187
ecs_int_t nbr_maillages; /* Nombre de maillages */
188
ecs_med_maillage_t **tab_maillages; /* Descripteurs des maillages */
195
med_geometry_type med_typ; /* Type MED de l'element */
196
ecs_elt_typ_t ecs_typ; /* Type ECS de l'element */
197
ecs_int_t order; /* Ordre de l'element */
198
/* Liste des numeros de sommet ECS */
199
ecs_int_t num_som[ECS_MED_NBR_MAX_SOM];
201
} ecs_fic_med_init_elt_t;
203
/*============================================================================
204
* Définitions de variables globales statiques
205
*============================================================================*/
207
extern const ecs_fic_med_init_elt_t
208
ecs_fic_med_init_elt_liste_c[ECS_MED_NBR_TYP_ELT];
211
#endif /* HAVE_MED */
213
/*----------------------------------------------------------------------------*/
215
#endif /* _ECS_MED_PRIV_H_ */