escript  Revision_
Finley.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2016 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 
Definition: Finley.h:67
Definition: Finley.h:69
Definition: Finley.h:70
Definition: Finley.h:68
Definition: Finley.h:63
#define FINLEY_REDUCED_NODES
Definition: Finley.h:54
std::vector< index_t > IndexVector
Definition: DataTypes.h:62
#define FINLEY_CONTACT_ELEMENTS_1
Definition: Finley.h:51
Definition: Finley.h:65
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:31
#define FINLEY_REDUCED_CONTACT_ELEMENTS_2
Definition: Finley.h:58
#define FINLEY_REDUCED_FACE_ELEMENTS
Definition: Finley.h:56
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:59
#define FINLEY_CONTACT_ELEMENTS_2
Definition: Finley.h:52
Definition: Finley.h:61
#define FINLEY_POINTS
Definition: Finley.h:50
Definition: Finley.h:64
Definition: Finley.h:71
#define FINLEY_DEGREES_OF_FREEDOM
Definition: Finley.h:46
Definition: Finley.h:73
#define FINLEY_FACE_ELEMENTS
Definition: Finley.h:49
Definition: Finley.h:66
Definition: Finley.h:62
#define FINLEY_NODES
Definition: Finley.h:47
#define FINLEY_REDUCED_CONTACT_ELEMENTS_1
Definition: Finley.h:57
#define FINLEY_REDUCED_ELEMENTS
Definition: Finley.h:55
#define FINLEY_ELEMENTS
Definition: Finley.h:48
Definition: Finley.h:72
index_t dim_t
Definition: DataTypes.h:64
#define FINLEY_REDUCED_DEGREES_OF_FREEDOM
Definition: Finley.h:53