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
36namespace 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
61enum {
75};
76
77#define FINLEY_INITIAL_STATUS 0
78
79} // namespace finley
80
81#endif // __FINLEY_H__
82
#define FINLEY_FACE_ELEMENTS
Definition Finley.h:50
#define FINLEY_REDUCED_CONTACT_ELEMENTS_1
Definition Finley.h:58
#define FINLEY_REDUCED_ELEMENTS
Definition Finley.h:56
#define FINLEY_ELEMENTS
Definition Finley.h:49
#define FINLEY_POINTS
Definition Finley.h:51
#define FINLEY_CONTACT_ELEMENTS_2
Definition Finley.h:53
#define FINLEY_REDUCED_FACE_ELEMENTS
Definition Finley.h:57
#define FINLEY_CONTACT_ELEMENTS_1
Definition Finley.h:52
#define FINLEY_REDUCED_NODES
Definition Finley.h:55
#define FINLEY_REDUCED_DEGREES_OF_FREEDOM
Definition Finley.h:54
#define FINLEY_NODES
Definition Finley.h:48
#define FINLEY_REDUCED_CONTACT_ELEMENTS_2
Definition Finley.h:59
#define FINLEY_DEGREES_OF_FREEDOM
Definition Finley.h:47
std::vector< index_t > IndexVector
Definition DataTypes.h:64
index_t dim_t
Definition DataTypes.h:66
int index_t
type for array/matrix indices used both globally and on each rank
Definition DataTypes.h:61
A suite of factory methods for creating various finley domains.
Definition finley/src/Assemble.h:32
@ ReducedFaceElements
Definition Finley.h:69
@ ReducedElements
Definition Finley.h:67
@ ReducedDegreesOfFreedom
Definition Finley.h:63
@ Nodes
Definition Finley.h:64
@ ReducedNodes
Definition Finley.h:65
@ Elements
Definition Finley.h:66
@ Points
Definition Finley.h:70
@ ContactElementsZero
Definition Finley.h:71
@ FaceElements
Definition Finley.h:68
@ DegreesOfFreedom
Definition Finley.h:62
@ ReducedContactElementsOne
Definition Finley.h:74
@ ReducedContactElementsZero
Definition Finley.h:72
@ ContactElementsOne
Definition Finley.h:73