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

« back to all changes in this revision

Viewing changes to preprocessor/base/ecs_maillage_priv.h

  • 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
#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-2011 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
 
 
74
  ECS_MAILLAGE_CONNECT_NODALE,
 
75
  ECS_MAILLAGE_CONNECT_DESCENDANTE
 
76
 
 
77
} ecs_maillage_connect_typ_t;
 
78
 
 
79
struct _ecs_maillage_t {
 
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];
 
96
  ecs_int_t        *connect_couples[2];
 
97
 
 
98
  /* Linked family lists, per entity (for family descriptor information) */
 
99
 
 
100
  ecs_famille_t    *famille[2];
 
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_ */