1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
|
#ifndef _ECS_MED_PRIV_H_
#define _ECS_MED_PRIV_H_
/*============================================================================
* Définition de la structure `_ecs_med_t' pour les entrées ou sorties
* au format MED
*============================================================================*/
/*
This file is part of Code_Saturne, a general-purpose CFD tool.
Copyright (C) 1998-2019 EDF S.A.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/*----------------------------------------------------------------------------*/
/*============================================================================
* Visibilité
*============================================================================*/
#include "cs_config.h"
#if defined(HAVE_MED)
/*----------------------------------------------------------------------------
* Fichiers `include' librairie standard C
*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
* Fichiers `include' publics du paquetage global "Utilitaire"
*----------------------------------------------------------------------------*/
#include "ecs_def.h"
/*----------------------------------------------------------------------------
* Fichiers `include' visibles du paquetage global "MED"
*----------------------------------------------------------------------------*/
#if defined(HAVE_MED)
#ifdef __cplusplus
extern "C" {
#endif
#undef PACKAGE
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef VERSION
#undef HAVE_MPI /* For MED 2.9 */
#include <med.h>
#undef PACKAGE
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef VERSION
#ifdef __cplusplus
}
#endif
#endif /* HAVE_MED */
/*----------------------------------------------------------------------------
* Fichiers `include' publics des paquetages visibles
*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
* Fichiers `include' publics du paquetage courant
*----------------------------------------------------------------------------*/
#include "ecs_med.h"
/*============================================================================
* Définition de macros
*============================================================================*/
/* Med version */
#if !defined(MED_NUM_MAJEUR)
#define MED_NUM_MAJEUR 2
#define MED_NUM_MINEUR 3
#endif
#if !defined(MED_MAJOR_NUM)
#define MED_MAJOR_NUM MED_NUM_MAJEUR
#define MED_MINOR_NUM MED_NUM_MINEUR
#endif
/* Definition des éléments */
/*=========================*/
/* Tableau donnant la liste des éléments `paraboliques' ou `cubiques'
qui sont transformés en leur equivalent `lineaire' */
#define ECS_MED_ORDER_LINEAR 1
#define ECS_MED_ORDER_PARABOLIC 2
#define ECS_MED_NBR_TYP_ELT 14
#define ECS_MED_NBR_MAX_SOM 8
/*============================================================================
* Définitions d'énumerations
*============================================================================*/
/*============================================================================
* Définitions de types
*============================================================================*/
/* Structure d'information sur les maillages pour le post traitement */
typedef struct {
char *nom_maillage; /* Nom du maillage MED */
char nom_maillage_med[MED_NAME_SIZE + 1]; /* Nom MED */
} ecs_med_maillage_t;
/* Structure définissant un cas MED */
struct _ecs_med_t {
char *nom_cas; /* Nom du cas */
char *nom_fic; /* Nom du fichier MED */
med_idt fid; /* Identificateur de fichier MED */
med_int version[3]; /* MED version used to write file */
ecs_int_t nbr_maillages; /* Nombre de maillages */
ecs_med_maillage_t **tab_maillages; /* Descripteurs des maillages */
};
typedef struct {
med_geometry_type med_typ; /* Type MED de l'element */
ecs_elt_typ_t ecs_typ; /* Type ECS de l'element */
ecs_int_t order; /* Ordre de l'element */
/* Liste des numeros de sommet ECS */
ecs_int_t num_som[ECS_MED_NBR_MAX_SOM];
} ecs_fic_med_init_elt_t;
/*============================================================================
* Définitions de variables globales statiques
*============================================================================*/
extern const ecs_fic_med_init_elt_t
ecs_fic_med_init_elt_liste_c[ECS_MED_NBR_TYP_ELT];
#endif /* HAVE_MED */
/*----------------------------------------------------------------------------*/
#endif /* _ECS_MED_PRIV_H_ */
|