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:65
finley::FaceElements
Definition: Finley.h:82
FINLEY_REDUCED_FACE_ELEMENTS
#define FINLEY_REDUCED_FACE_ELEMENTS
Definition: Finley.h:71
FINLEY_REDUCED_ELEMENTS
#define FINLEY_REDUCED_ELEMENTS
Definition: Finley.h:70
FINLEY_REDUCED_CONTACT_ELEMENTS_1
#define FINLEY_REDUCED_CONTACT_ELEMENTS_1
Definition: Finley.h:72
finley::ReducedContactElementsOne
Definition: Finley.h:88
FINLEY_NODES
#define FINLEY_NODES
Definition: Finley.h:62
finley::ReducedNodes
Definition: Finley.h:79
finley::Points
Definition: Finley.h:84
FINLEY_REDUCED_DEGREES_OF_FREEDOM
#define FINLEY_REDUCED_DEGREES_OF_FREEDOM
Definition: Finley.h:68
escript::DataTypes::dim_t
index_t dim_t
Definition: DataTypes.h:90
finley::ContactElementsZero
Definition: Finley.h:85
FINLEY_FACE_ELEMENTS
#define FINLEY_FACE_ELEMENTS
Definition: Finley.h:64
finley::ReducedDegreesOfFreedom
Definition: Finley.h:77
finley::DegreesOfFreedom
Definition: Finley.h:76
FINLEY_DEGREES_OF_FREEDOM
#define FINLEY_DEGREES_OF_FREEDOM
Definition: Finley.h:61
FINLEY_ELEMENTS
#define FINLEY_ELEMENTS
Definition: Finley.h:63
finley::ReducedFaceElements
Definition: Finley.h:83
escript::DataTypes::index_t
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:85
finley::Nodes
Definition: Finley.h:78
FINLEY_REDUCED_CONTACT_ELEMENTS_2
#define FINLEY_REDUCED_CONTACT_ELEMENTS_2
Definition: Finley.h:73
finley::ReducedElements
Definition: Finley.h:81
FINLEY_REDUCED_NODES
#define FINLEY_REDUCED_NODES
Definition: Finley.h:69
finley::ContactElementsOne
Definition: Finley.h:87
finley::ReducedContactElementsZero
Definition: Finley.h:86
finley
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:32
finley::Elements
Definition: Finley.h:80
FINLEY_CONTACT_ELEMENTS_2
#define FINLEY_CONTACT_ELEMENTS_2
Definition: Finley.h:67
FINLEY_CONTACT_ELEMENTS_1
#define FINLEY_CONTACT_ELEMENTS_1
Definition: Finley.h:66
escript::DataTypes::IndexVector
std::vector< index_t > IndexVector
Definition: DataTypes.h:88