1 #ifndef __FVM_DEFS_H__
2 #define __FVM_DEFS_H__
3 
4 /*============================================================================
5  * Definitions, global variables, and base functions
6  *============================================================================*/
7 
8 /*
9   This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11   Copyright (C) 1998-2021 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 #include "cs_defs.h"
31 
32 /*---------------------------------------------------------------------------*/
33 
34 BEGIN_C_DECLS
35 
36 /*=============================================================================
37  * Macro definitions
38  *============================================================================*/
39 
40 /*============================================================================
41  * Type definitions
42  *============================================================================*/
43 
44 /*----------------------------------------------------------------------------
45  * Element types
46  *----------------------------------------------------------------------------*/
47 
48 typedef enum {
49 
50   FVM_EDGE,               /* Edge */
51   FVM_FACE_TRIA,          /* Triangle */
52   FVM_FACE_QUAD,          /* Quadrangle */
53   FVM_FACE_POLY,          /* Simple Polygon */
54   FVM_CELL_TETRA,         /* Tetrahedron */
55   FVM_CELL_PYRAM,         /* Pyramid */
56   FVM_CELL_PRISM,         /* Prism (pentahedron) */
57   FVM_CELL_HEXA,          /* Hexahedron (brick) */
58   FVM_CELL_POLY,          /* Simple Polyhedron (convex or quasi-convex) */
59   FVM_N_ELEMENT_TYPES     /* Number of element types */
60 
61 } fvm_element_t;
62 
63 /*=============================================================================
64  * Static global variables
65  *============================================================================*/
66 
67 /* Names of (multiple) element types */
68 
69 extern const char  *fvm_elements_type_name[];
70 
71 /* Names of (single) element types */
72 
73 extern const char  *fvm_element_type_name[];
74 
75 /*----------------------------------------------------------------------------*/
76 
77 END_C_DECLS
78 
79 #endif /* __FVM_DEFS_H__ */
80