Go to the documentation of this file.
25 #ifndef __FINLEY_REFERENCEELEMENTS_H__
26 #define __FINLEY_REFERENCEELEMENTS_H__
35 #define MAX_numNodes 64
36 #define MAX_numSubElements 8
37 #define MAX_numSides 2
220 #endif // __FINLEY_REFERENCEELEMENTS_H__
ShapeFunctionTypeId Parametrization
shape function for parametrization of the element
Definition: ReferenceElements.h:146
Definition: Quadrature.h:54
int numNodes
Definition: ReferenceElements.h:201
this struct holds the evaluation of a shape function on a quadrature scheme
Definition: ShapeFunctions.h:79
@ RecQuad
Definition: Quadrature.h:39
@ Rec4_Contact
Definition: ReferenceElements.h:89
@ Hex27Face_Contact
Definition: ReferenceElements.h:111
@ Rec9Shape
Definition: ShapeFunctions.h:43
@ Line3
Definition: ReferenceElements.h:44
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:52
int numNodesOnFace
Definition: ReferenceElements.h:161
void reduction_order10(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:202
ElementTypeId TypeId
the type
Definition: ReferenceElements.h:125
boost::shared_ptr< ReferenceElement > ReferenceElement_ptr
Definition: ReferenceElements.h:215
@ Rec9
Definition: ReferenceElements.h:52
void requireWrite()
Ensures data is ready for write access. This means that the data will be resolved if lazy and will be...
Definition: Data.cpp:1239
@ Line2Shape
Definition: ShapeFunctions.h:34
void integral_order4(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:76
@ Rec8Face_Contact
Definition: ReferenceElements.h:102
@ Hex32
Definition: ReferenceElements.h:61
#define INDEX4(_X1_, _X2_, _X3_, _X4_, _N1_, _N2_, _N3_)
Definition: index.h:27
@ Hex20Face_Contact
Definition: ReferenceElements.h:110
@ Tri10Face_Contact
Definition: ReferenceElements.h:100
@ Rec9Face_Contact
Definition: ReferenceElements.h:103
void reduction_order8(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:158
ShapeFunctionTypeId BasisFunctions
shape function for the basis functions
Definition: ReferenceElements.h:148
@ Tri9
Definition: ReferenceElements.h:48
const ReferenceElementInfo * LinearType
type of the linear reference element
Definition: ReferenceElements.h:198
void reduction_order3(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:48
#define INDEX2(_X1_, _X2_, _N1_)
Definition: index.h:23
@ Tet16Face
Definition: ReferenceElements.h:76
@ Hex27Face
Definition: ReferenceElements.h:79
@ Tet4Face_Contact
Definition: ReferenceElements.h:106
const DataTypes::real_t * getSampleDataRO(DataTypes::RealVectorType::size_type sampleNo, DataTypes::real_t dummy=0) const
Return the sample data for the given sample no. Please do not use this unless you NEED to access samp...
Definition: Data.h:1991
@ Line3_Contact
Definition: ReferenceElements.h:83
void gradient_order8(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:323
static ElementTypeId getTypeId(const char *)
returns the element type id from its textual representation
Definition: ReferenceElements.cpp:652
@ Tet10
Definition: ReferenceElements.h:56
@ NoQuad
Definition: Quadrature.h:42
const ReferenceElementInfo ReferenceElement_InfoList[]
this list has been generated by generateReferenceElementList.py
Definition: ReferenceElements.cpp:33
ShapeFunctionTypeId
Definition: ShapeFunctions.h:32
void reduction_order5(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:92
@ Tet10Macro
Definition: ReferenceElements.h:116
@ Line3Shape
Definition: ShapeFunctions.h:35
void integral_order3(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:51
@ Tri6Face
Definition: ReferenceElements.h:66
@ Tet4Face
Definition: ReferenceElements.h:74
@ Line3Face
Definition: ReferenceElements.h:63
int numLocalDim
Definition: ReferenceElements.h:202
ElementTypeId LinearTypeId
type id of the linear version of the element
Definition: ReferenceElements.h:140
this struct holds the definition of the shape functions on an element
Definition: ShapeFunctions.h:60
boost::shared_ptr< const ReferenceElement > const_ReferenceElement_ptr
Definition: ReferenceElements.h:216
ShapeFunctionTypeId TypeId
shape function type
Definition: ShapeFunctions.h:62
int numDim
number of spatial dimensions
Definition: Quadrature.h:60
void gradient_order3(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:73
int numDim
number of spatial dimensions
Definition: ShapeFunctions.h:66
@ Tet10Face
Definition: ReferenceElements.h:75
const_ShapeFunction_ptr Parametrization
Definition: ReferenceElements.h:204
@ Tri6Face_Contact
Definition: ReferenceElements.h:98
@ Rec8Face
Definition: ReferenceElements.h:70
int getDataPointSize() const
Return the size of the data point. It is the product of the data point shape dimensions.
Definition: Data.cpp:1360
@ Rec16Face_Contact
Definition: ReferenceElements.h:105
@ NoShape
Definition: ShapeFunctions.h:53
@ Rec8_Contact
Definition: ReferenceElements.h:90
@ Tet16
Definition: ReferenceElements.h:57
void integral_order6(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:126
double * DBasisFunctionDv
Definition: ReferenceElements.h:209
@ Tri3
Definition: ReferenceElements.h:46
void gradient_order7(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:271
@ Rec9Macro
Definition: ReferenceElements.h:115
@ Line2Face
Definition: ReferenceElements.h:62
@ Hex27
Definition: ReferenceElements.h:60
@ Rec9_Contact
Definition: ReferenceElements.h:91
@ Tri10
Definition: ReferenceElements.h:49
@ Point1_Contact
Definition: ReferenceElements.h:81
Definition: AbstractAssembler.cpp:19
@ Hex32Face
Definition: ReferenceElements.h:80
@ Line4Face
Definition: ReferenceElements.h:64
#define MAX_numSides
Definition: ReferenceElements.h:37
int integrationOrder
used integration order
Definition: ReferenceElements.h:200
@ Tri6Shape
Definition: ShapeFunctions.h:38
Data represents a collection of datapoints.
Definition: Data.h:64
@ Rec12Face_Contact
Definition: ReferenceElements.h:104
@ Rec9Face
Definition: ReferenceElements.h:71
@ Tri9Face_Contact
Definition: ReferenceElements.h:99
#define INDEX3(_X1_, _X2_, _X3_, _N1_, _N2_)
Definition: index.h:25
void integral_order9(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:201
static const ShapeFunctionInfo * getInfo(ShapeFunctionTypeId id)
Definition: ShapeFunctions.cpp:105
@ PointQuad
Definition: Quadrature.h:36
@ Tri6Macro
Definition: ReferenceElements.h:114
@ Hex8Shape
Definition: ShapeFunctions.h:49
const ReferenceElementInfo * Type
type of the reference element
Definition: ReferenceElements.h:196
DataTypes::real_t * getSampleDataRW(DataTypes::RealVectorType::size_type sampleNo, DataTypes::real_t dummy=0)
Return the sample data for the given sample no. Please do not use this unless you NEED to access samp...
Definition: Data.h:1956
@ Hex27Macro
Definition: ReferenceElements.h:117
@ Rec4Shape
Definition: ShapeFunctions.h:41
@ Rec8
Definition: ReferenceElements.h:51
@ Hex32Shape
Definition: ShapeFunctions.h:52
void reduction_order6(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:114
void gradient_order9(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:376
int numRelevantGeoNodes
deprecated
Definition: ReferenceElements.h:156
@ Point1Shape
Definition: ShapeFunctions.h:33
@ NoRef
Definition: ReferenceElements.h:118
int numSubElements
number of subelements (>1 if macro elements are used)
Definition: ReferenceElements.h:131
@ Rec4Face
Definition: ReferenceElements.h:69
@ Tri9Face
Definition: ReferenceElements.h:67
@ Tri10_Contact
Definition: ReferenceElements.h:88
@ Hex8Face_Contact
Definition: ReferenceElements.h:109
@ Line4_Contact
Definition: ReferenceElements.h:84
@ Point1
Definition: ReferenceElements.h:42
@ Rec16_Contact
Definition: ReferenceElements.h:93
double m_dx[2]
grid spacings / cell sizes of domain
Definition: speckley/src/Rectangle.h:372
@ Line4Face_Contact
Definition: ReferenceElements.h:96
const_ShapeFunction_ptr LinearBasisFunctions
Definition: ReferenceElements.h:206
this struct holds the definition of the reference element
Definition: ReferenceElements.h:123
@ Hex20
Definition: ReferenceElements.h:59
@ Line3Face_Contact
Definition: ReferenceElements.h:95
~ReferenceElement()
destructor
Definition: ReferenceElements.cpp:646
@ LineQuad
Definition: Quadrature.h:37
@ Tri3Face
Definition: ReferenceElements.h:65
int numOrder
order of the shape functions
Definition: ShapeFunctions.h:70
@ Tri9Shape
Definition: ShapeFunctions.h:39
void integral_order8(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:176
QuadTypeId Quadrature
quadrature scheme
Definition: ReferenceElements.h:144
@ Tri6_Contact
Definition: ReferenceElements.h:86
@ Line4Shape
Definition: ShapeFunctions.h:36
@ Tet16Face_Contact
Definition: ReferenceElements.h:108
@ Tri10Face
Definition: ReferenceElements.h:68
@ Tri10Shape
Definition: ShapeFunctions.h:40
void reduction_order2(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:25
@ Tet10Shape
Definition: ShapeFunctions.h:47
@ Rec8Shape
Definition: ShapeFunctions.h:42
#define MAX_numSubElements
Definition: ReferenceElements.h:36
@ Rec4Face_Contact
Definition: ReferenceElements.h:101
@ Tet16Shape
Definition: ShapeFunctions.h:48
void integral_order7(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:151
@ Hex8Face
Definition: ReferenceElements.h:77
@ Rec12
Definition: ReferenceElements.h:53
@ HexQuad
Definition: Quadrature.h:41
@ Hex8
Definition: ReferenceElements.h:58
@ Tri6
Definition: ReferenceElements.h:47
@ Tri3_Contact
Definition: ReferenceElements.h:85
const QuadInfo * QuadInfo_getInfo(QuadTypeId id)
Definition: Quadrature.cpp:44
@ Line2Face_Contact
Definition: ReferenceElements.h:94
@ Line2
Definition: ReferenceElements.h:43
ElementTypeId
Definition: ReferenceElements.h:41
@ Hex20Shape
Definition: ShapeFunctions.h:50
@ Tri3Shape
Definition: ShapeFunctions.h:37
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:61
@ Line3Macro
Definition: ReferenceElements.h:113
@ Tet4
Definition: ReferenceElements.h:55
static const ReferenceElementInfo * getInfo(ElementTypeId id)
returns the element information structure for the given type id
Definition: ReferenceElements.cpp:664
int numSides
Definition: ReferenceElements.h:134
void gradient_order5(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:170
void gradient_order10(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:430
@ TriQuad
Definition: Quadrature.h:38
void integral_order5(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:101
Quad_getNumNodes * getNumQuadNodes
Definition: Quadrature.h:67
@ Hex32Face_Contact
Definition: ReferenceElements.h:112
Quad_getNodes * getQuadNodes
function that returns the quadrature points for a given order
Definition: Quadrature.h:64
@ Hex20Face
Definition: ReferenceElements.h:78
int numShapes
number of shape functions
Definition: ShapeFunctions.h:68
void gradient_order4(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:121
void reduction_order4(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:70
@ Rec12Face
Definition: ReferenceElements.h:72
int getNumNodes() const
Definition: ReferenceElements.h:193
@ Rec12_Contact
Definition: ReferenceElements.h:92
void integral_order2(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:25
#define FINLEY_DLL_API
Definition: finley/src/system_dep.h:29
@ TetQuad
Definition: Quadrature.h:40
@ Line4
Definition: ReferenceElements.h:45
@ Rec16
Definition: ReferenceElements.h:54
boost::shared_ptr< const ShapeFunction > const_ShapeFunction_ptr
Definition: ShapeFunctions.h:102
Quad_getMacro * getMacro
transfers a given quadrature scheme to a macro element structure
Definition: Quadrature.h:69
bool actsExpanded() const
Return true if this Data is expanded or resolves to expanded. That is, if it has a separate value for...
Definition: Data.cpp:1118
dim_t m_NE[2]
number of elements for this rank in each dimension including shared
Definition: speckley/src/Rectangle.h:378
const_ShapeFunction_ptr BasisFunctions
Definition: ReferenceElements.h:205
int numNodes
number of nodes defining the element
Definition: ReferenceElements.h:129
@ Rec12Shape
Definition: ShapeFunctions.h:44
#define MAX_numNodes
Definition: ReferenceElements.h:35
Data Scalar(double value, const FunctionSpace &what, bool expanded)
A collection of factory functions for creating Data objects which contain data points of various shap...
Definition: DataFactory.cpp:49
void gradient_order2(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:25
@ Rec16Shape
Definition: ShapeFunctions.h:45
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:32
@ Rec16Face
Definition: ReferenceElements.h:73
int numLinearNodes
Definition: ReferenceElements.h:203
@ Hex27Shape
Definition: ShapeFunctions.h:51
void reduction_order7(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:136
@ Tri3Face_Contact
Definition: ReferenceElements.h:97
An exception class that signals an invalid argument value.
Definition: EsysException.h:100
@ Line2_Contact
Definition: ReferenceElements.h:82
@ Tet10Face_Contact
Definition: ReferenceElements.h:107
void reduction_order9(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:180
void integral_order10(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:226
@ Tet4Shape
Definition: ShapeFunctions.h:46
QuadTypeId
Definition: Quadrature.h:35
@ Rec4
Definition: ReferenceElements.h:50
ReferenceElement(ElementTypeId id, int order)
constructor with type ID and integration order
Definition: ReferenceElements.cpp:577
void gradient_order6(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:220
this struct holds the realization of a reference element
Definition: ReferenceElements.h:179
const char * Name
the name in text form e.g. "Line1", "Rec12", ...
Definition: ReferenceElements.h:127
bool DBasisFunctionDvShared
Definition: ReferenceElements.h:212
@ Tri9_Contact
Definition: ReferenceElements.h:87