escript  Revision_
Finley.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2018 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 *
15 *****************************************************************************/
16 
17 #ifndef __FINLEY_H__
18 #define __FINLEY_H__
19 
20 /****************************************************************************
21 
22  Finley finite element solver
23 
24 *****************************************************************************/
25 
26 // first include to avoid _POSIX_C_SOURCE redefinition warnings
27 #include <escript/DataTypes.h>
28 
29 #include <finley/FinleyException.h>
30 
31 #include <escript/EsysMPI.h>
32 
33 #include <vector>
34 
35 namespace finley {
36 
40 
41 // real_t clashes with metis real_t !
42 //using escript::DataTypes::real_t;
43 
44 //#define Finley_TRACE
45 #define FINLEY_UNKNOWN -1
46 #define FINLEY_DEGREES_OF_FREEDOM 1
47 #define FINLEY_NODES 3
48 #define FINLEY_ELEMENTS 4
49 #define FINLEY_FACE_ELEMENTS 5
50 #define FINLEY_POINTS 6
51 #define FINLEY_CONTACT_ELEMENTS_1 7
52 #define FINLEY_CONTACT_ELEMENTS_2 8
53 #define FINLEY_REDUCED_DEGREES_OF_FREEDOM 2
54 #define FINLEY_REDUCED_NODES 14
55 #define FINLEY_REDUCED_ELEMENTS 10
56 #define FINLEY_REDUCED_FACE_ELEMENTS 11
57 #define FINLEY_REDUCED_CONTACT_ELEMENTS_1 12
58 #define FINLEY_REDUCED_CONTACT_ELEMENTS_2 13
59 
60 enum {
74 };
75 
76 #define FINLEY_INITIAL_STATUS 0
77 
78 } // namespace finley
79 
80 #endif // __FINLEY_H__
81 
FINLEY_POINTS
#define FINLEY_POINTS
Definition: Finley.h:63
finley::FaceElements
Definition: Finley.h:80
FINLEY_REDUCED_FACE_ELEMENTS
#define FINLEY_REDUCED_FACE_ELEMENTS
Definition: Finley.h:69
FINLEY_REDUCED_ELEMENTS
#define FINLEY_REDUCED_ELEMENTS
Definition: Finley.h:68
FINLEY_REDUCED_CONTACT_ELEMENTS_1
#define FINLEY_REDUCED_CONTACT_ELEMENTS_1
Definition: Finley.h:70
finley::ReducedContactElementsOne
Definition: Finley.h:86
FINLEY_NODES
#define FINLEY_NODES
Definition: Finley.h:60
finley::ReducedNodes
Definition: Finley.h:77
finley::Points
Definition: Finley.h:82
FINLEY_REDUCED_DEGREES_OF_FREEDOM
#define FINLEY_REDUCED_DEGREES_OF_FREEDOM
Definition: Finley.h:66
escript::DataTypes::dim_t
index_t dim_t
Definition: DataTypes.h:87
finley::ContactElementsZero
Definition: Finley.h:83
FINLEY_FACE_ELEMENTS
#define FINLEY_FACE_ELEMENTS
Definition: Finley.h:62
finley::ReducedDegreesOfFreedom
Definition: Finley.h:75
finley::DegreesOfFreedom
Definition: Finley.h:74
FINLEY_DEGREES_OF_FREEDOM
#define FINLEY_DEGREES_OF_FREEDOM
Definition: Finley.h:59
FINLEY_ELEMENTS
#define FINLEY_ELEMENTS
Definition: Finley.h:61
finley::ReducedFaceElements
Definition: Finley.h:81
escript::DataTypes::index_t
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:82
finley::Nodes
Definition: Finley.h:76
FINLEY_REDUCED_CONTACT_ELEMENTS_2
#define FINLEY_REDUCED_CONTACT_ELEMENTS_2
Definition: Finley.h:71
finley::ReducedElements
Definition: Finley.h:79
FINLEY_REDUCED_NODES
#define FINLEY_REDUCED_NODES
Definition: Finley.h:67
finley::ContactElementsOne
Definition: Finley.h:85
finley::ReducedContactElementsZero
Definition: Finley.h:84
finley
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:31
finley::Elements
Definition: Finley.h:78
FINLEY_CONTACT_ELEMENTS_2
#define FINLEY_CONTACT_ELEMENTS_2
Definition: Finley.h:65
FINLEY_CONTACT_ELEMENTS_1
#define FINLEY_CONTACT_ELEMENTS_1
Definition: Finley.h:64
escript::DataTypes::IndexVector
std::vector< index_t > IndexVector
Definition: DataTypes.h:85