escript  Revision_
Finley.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2020 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-2017 by Centre for Geoscience Computing (GeoComp)
14 * Development from 2019 by School of Earth and Environmental Sciences
15 **
16 *****************************************************************************/
17 
18 #ifndef __FINLEY_H__
19 #define __FINLEY_H__
20 
21 /****************************************************************************
22 
23  Finley finite element solver
24 
25 *****************************************************************************/
26 
27 // first include to avoid _POSIX_C_SOURCE redefinition warnings
28 #include <escript/DataTypes.h>
29 
30 #include <finley/FinleyException.h>
31 
32 #include <escript/EsysMPI.h>
33 
34 #include <vector>
35 
36 namespace finley {
37 
41 
42 // real_t clashes with metis real_t !
43 //using escript::DataTypes::real_t;
44 
45 //#define Finley_TRACE
46 #define FINLEY_UNKNOWN -1
47 #define FINLEY_DEGREES_OF_FREEDOM 1
48 #define FINLEY_NODES 3
49 #define FINLEY_ELEMENTS 4
50 #define FINLEY_FACE_ELEMENTS 5
51 #define FINLEY_POINTS 6
52 #define FINLEY_CONTACT_ELEMENTS_1 7
53 #define FINLEY_CONTACT_ELEMENTS_2 8
54 #define FINLEY_REDUCED_DEGREES_OF_FREEDOM 2
55 #define FINLEY_REDUCED_NODES 14
56 #define FINLEY_REDUCED_ELEMENTS 10
57 #define FINLEY_REDUCED_FACE_ELEMENTS 11
58 #define FINLEY_REDUCED_CONTACT_ELEMENTS_1 12
59 #define FINLEY_REDUCED_CONTACT_ELEMENTS_2 13
60 
61 enum {
75 };
76 
77 #define FINLEY_INITIAL_STATUS 0
78 
79 } // namespace finley
80 
81 #endif // __FINLEY_H__
82 
FINLEY_POINTS
#define FINLEY_POINTS
Definition: Finley.h:51
finley::FaceElements
@ FaceElements
Definition: Finley.h:68
FINLEY_REDUCED_FACE_ELEMENTS
#define FINLEY_REDUCED_FACE_ELEMENTS
Definition: Finley.h:57
FINLEY_REDUCED_ELEMENTS
#define FINLEY_REDUCED_ELEMENTS
Definition: Finley.h:56
FINLEY_REDUCED_CONTACT_ELEMENTS_1
#define FINLEY_REDUCED_CONTACT_ELEMENTS_1
Definition: Finley.h:58
finley::ReducedContactElementsOne
@ ReducedContactElementsOne
Definition: Finley.h:74
FINLEY_NODES
#define FINLEY_NODES
Definition: Finley.h:48
finley::ReducedNodes
@ ReducedNodes
Definition: Finley.h:65
finley::Points
@ Points
Definition: Finley.h:70
FINLEY_REDUCED_DEGREES_OF_FREEDOM
#define FINLEY_REDUCED_DEGREES_OF_FREEDOM
Definition: Finley.h:54
escript::DataTypes::dim_t
index_t dim_t
Definition: DataTypes.h:66
finley::ContactElementsZero
@ ContactElementsZero
Definition: Finley.h:71
FINLEY_FACE_ELEMENTS
#define FINLEY_FACE_ELEMENTS
Definition: Finley.h:50
finley::ReducedDegreesOfFreedom
@ ReducedDegreesOfFreedom
Definition: Finley.h:63
finley::DegreesOfFreedom
@ DegreesOfFreedom
Definition: Finley.h:62
FINLEY_DEGREES_OF_FREEDOM
#define FINLEY_DEGREES_OF_FREEDOM
Definition: Finley.h:47
FINLEY_ELEMENTS
#define FINLEY_ELEMENTS
Definition: Finley.h:49
finley::ReducedFaceElements
@ ReducedFaceElements
Definition: Finley.h:69
escript::DataTypes::index_t
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:61
finley::Nodes
@ Nodes
Definition: Finley.h:64
FINLEY_REDUCED_CONTACT_ELEMENTS_2
#define FINLEY_REDUCED_CONTACT_ELEMENTS_2
Definition: Finley.h:59
finley::ReducedElements
@ ReducedElements
Definition: Finley.h:67
FINLEY_REDUCED_NODES
#define FINLEY_REDUCED_NODES
Definition: Finley.h:55
finley::ContactElementsOne
@ ContactElementsOne
Definition: Finley.h:73
finley::ReducedContactElementsZero
@ ReducedContactElementsZero
Definition: Finley.h:72
finley
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:32
finley::Elements
@ Elements
Definition: Finley.h:66
FINLEY_CONTACT_ELEMENTS_2
#define FINLEY_CONTACT_ELEMENTS_2
Definition: Finley.h:53
FINLEY_CONTACT_ELEMENTS_1
#define FINLEY_CONTACT_ELEMENTS_1
Definition: Finley.h:52
escript::DataTypes::IndexVector
std::vector< index_t > IndexVector
Definition: DataTypes.h:64