~ubuntu-branches/ubuntu/precise/code-saturne/precise

« back to all changes in this revision

Viewing changes to preprocessor/pre-post/ecs_post.c

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2011-11-24 00:00:08 UTC
  • mfrom: (6.1.9 sid)
  • Revision ID: package-import@ubuntu.com-20111124000008-2vo99e38267942q5
Tags: 2.1.0-3
Install a missing file

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*============================================================================
 
2
 *  Définitions des fonctions de base
 
3
 *   réalisant les sorties pour post-traitement
 
4
 *============================================================================*/
 
5
 
 
6
/*
 
7
  This file is part of Code_Saturne, a general-purpose CFD tool.
 
8
 
 
9
  Copyright (C) 1998-2011 EDF S.A.
 
10
 
 
11
  This program is free software; you can redistribute it and/or modify it under
 
12
  the terms of the GNU General Public License as published by the Free Software
 
13
  Foundation; either version 2 of the License, or (at your option) any later
 
14
  version.
 
15
 
 
16
  This program is distributed in the hope that it will be useful, but WITHOUT
 
17
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 
18
  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 
19
  details.
 
20
 
 
21
  You should have received a copy of the GNU General Public License along with
 
22
  this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
 
23
  Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
24
*/
 
25
 
 
26
/*----------------------------------------------------------------------------*/
 
27
 
 
28
/*============================================================================
 
29
 *                                 Visibilité
 
30
 *============================================================================*/
 
31
 
 
32
#include "cs_config.h"
 
33
 
 
34
 
 
35
/*----------------------------------------------------------------------------
 
36
 *  Fichiers `include' librairie standard C
 
37
 *----------------------------------------------------------------------------*/
 
38
 
 
39
#include <assert.h>
 
40
#include <string.h>
 
41
 
 
42
 
 
43
/*----------------------------------------------------------------------------
 
44
 *  Fichiers `include' visibles du  paquetage global "Utilitaire"
 
45
 *----------------------------------------------------------------------------*/
 
46
 
 
47
#include "ecs_def.h"
 
48
#include "ecs_mem.h"
 
49
 
 
50
 
 
51
/*----------------------------------------------------------------------------
 
52
 *  Fichier  `include' du  paquetage courant associe au fichier courant
 
53
 *----------------------------------------------------------------------------*/
 
54
 
 
55
#include "ecs_post.h"
 
56
#include "ecs_post_ens.h"
 
57
#include "ecs_post_cgns.h"
 
58
#include "ecs_post_med.h"
 
59
 
 
60
 
 
61
/*============================================================================
 
62
 *                              Fonctions privées
 
63
 *============================================================================*/
 
64
 
 
65
/*============================================================================
 
66
 *                             Fonctions publiques
 
67
 *============================================================================*/
 
68
 
 
69
/*----------------------------------------------------------------------------
 
70
 *  Fonction initialisant une structure `ecs_post_t`
 
71
 *----------------------------------------------------------------------------*/
 
72
 
 
73
ecs_post_t *
 
74
ecs_post__cree_cas(const char  *nom_cas)
 
75
{
 
76
  ecs_post_t *cas;
 
77
 
 
78
  /*xxxxxxxxxxxxxxxxxxxxxxxxxxx Instructions xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
 
79
 
 
80
  assert(nom_cas != NULL);
 
81
 
 
82
  ECS_MALLOC(cas, 1, ecs_post_t);
 
83
 
 
84
  ECS_MALLOC(cas->nom_cas, strlen(nom_cas) + 1, char);
 
85
  strcpy(cas->nom_cas, nom_cas);
 
86
 
 
87
  cas->cas_ens = NULL;
 
88
  cas->opt_ens[ECS_POST_TYPE_VOLUME] = false;
 
89
  cas->opt_ens[ECS_POST_TYPE_ERREUR] = false;
 
90
 
 
91
#if defined(HAVE_CGNS)
 
92
 
 
93
  cas->cas_cgns = NULL;
 
94
  cas->opt_cgns[ECS_POST_TYPE_VOLUME] = false;
 
95
  cas->opt_cgns[ECS_POST_TYPE_ERREUR] = false;
 
96
 
 
97
#endif /* HAVE_CGNS */
 
98
 
 
99
#if defined(HAVE_MED)
 
100
 
 
101
  cas->cas_med = NULL;
 
102
  cas->opt_med[ECS_POST_TYPE_VOLUME] = false;
 
103
  cas->opt_med[ECS_POST_TYPE_ERREUR] = false;
 
104
 
 
105
#endif /* HAVE_MED */
 
106
 
 
107
  return cas;
 
108
}
 
109
 
 
110
/*----------------------------------------------------------------------------
 
111
 *  Fonction détruisant une structure `ecs_post_t`
 
112
 *----------------------------------------------------------------------------*/
 
113
 
 
114
ecs_post_t *
 
115
ecs_post__detruit_cas(ecs_post_t  *cas)
 
116
{
 
117
  /*xxxxxxxxxxxxxxxxxxxxxxxxxxx Instructions xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
 
118
 
 
119
  if (cas == NULL)
 
120
    return NULL;
 
121
 
 
122
  if (cas->cas_ens != NULL)
 
123
    ecs_post_ens__detruit_cas(cas->cas_ens);
 
124
 
 
125
#if defined(HAVE_CGNS)
 
126
 
 
127
  if (cas->cas_cgns != NULL)
 
128
    ecs_post_cgns__detruit_cas(cas->cas_cgns);
 
129
 
 
130
#endif
 
131
 
 
132
#if defined(HAVE_MED)
 
133
 
 
134
  if (cas->cas_med != NULL)
 
135
    ecs_post_med__detruit_cas(cas->cas_med);
 
136
 
 
137
#endif
 
138
 
 
139
  ECS_FREE(cas->nom_cas);
 
140
 
 
141
  ECS_FREE(cas);
 
142
 
 
143
  return NULL;
 
144
}
 
145
 
 
146
/*----------------------------------------------------------------------------*/
 
147
 
 
148