Go to the documentation of this file.
24 #ifndef __FINLEY_REFERENCEELEMENTS_H__
25 #define __FINLEY_REFERENCEELEMENTS_H__
32 #define MAX_numNodes 64
33 #define MAX_numSubElements 8
34 #define MAX_numSides 2
217 #endif // __FINLEY_REFERENCEELEMENTS_H__
ShapeFunctionTypeId Parametrization
shape function for parametrization of the element
Definition: ReferenceElements.h:141
Definition: Quadrature.h:51
int offsets[2+1]
Definition: ReferenceElements.h:132
int numNodes
Definition: ReferenceElements.h:196
this struct holds the evaluation of a shape function on a quadrature scheme
Definition: ShapeFunctions.h:75
Definition: Quadrature.h:36
Definition: ReferenceElements.h:84
Definition: ReferenceElements.h:106
Definition: ShapeFunctions.h:39
Definition: ReferenceElements.h:39
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:73
int numNodesOnFace
Definition: ReferenceElements.h:156
void reduction_order10(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:212
ElementTypeId TypeId
the type
Definition: ReferenceElements.h:120
boost::shared_ptr< ReferenceElement > ReferenceElement_ptr
Definition: ReferenceElements.h:210
Definition: ReferenceElements.h:47
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:1242
Definition: ShapeFunctions.h:30
void integral_order4(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:86
Definition: ReferenceElements.h:97
Definition: ReferenceElements.h:56
#define INDEX4(_X1_, _X2_, _X3_, _X4_, _N1_, _N2_, _N3_)
Definition: index.h:25
Definition: ReferenceElements.h:105
Definition: ReferenceElements.h:95
Definition: ReferenceElements.h:98
void reduction_order8(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:168
ShapeFunctionTypeId BasisFunctions
shape function for the basis functions
Definition: ReferenceElements.h:143
Definition: ReferenceElements.h:43
const ReferenceElementInfo * LinearType
type of the linear reference element
Definition: ReferenceElements.h:193
void reduction_order3(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:58
#define INDEX2(_X1_, _X2_, _N1_)
Definition: index.h:21
int subElementNodes[64 *2 *8]
Definition: ReferenceElements.h:148
Definition: ReferenceElements.h:71
Definition: ReferenceElements.h:74
Definition: ReferenceElements.h:101
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:1975
Definition: ReferenceElements.h:78
void gradient_order8(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:333
static ElementTypeId getTypeId(const char *)
returns the element type id from its textual representation
Definition: ReferenceElements.cpp:664
Definition: ReferenceElements.h:51
Definition: Quadrature.h:39
const ReferenceElementInfo ReferenceElement_InfoList[]
this list has been generated by generateReferenceElementList.py
Definition: ReferenceElements.cpp:45
ShapeFunctionTypeId
Definition: ShapeFunctions.h:28
void reduction_order5(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:102
Definition: ReferenceElements.h:111
Definition: ShapeFunctions.h:31
void integral_order3(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:61
Definition: ReferenceElements.h:61
Definition: ReferenceElements.h:69
Definition: ReferenceElements.h:58
int numLocalDim
Definition: ReferenceElements.h:197
ElementTypeId LinearTypeId
type id of the linear version of the element
Definition: ReferenceElements.h:135
this struct holds the definition of the shape functions on an element
Definition: ShapeFunctions.h:56
boost::shared_ptr< const ReferenceElement > const_ReferenceElement_ptr
Definition: ReferenceElements.h:211
ShapeFunctionTypeId TypeId
shape function type
Definition: ShapeFunctions.h:58
int numDim
number of spatial dimensions
Definition: Quadrature.h:57
void gradient_order3(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:83
int numDim
number of spatial dimensions
Definition: ShapeFunctions.h:62
Definition: ReferenceElements.h:70
const_ShapeFunction_ptr Parametrization
Definition: ReferenceElements.h:199
Definition: ReferenceElements.h:93
Definition: ReferenceElements.h:65
int getDataPointSize() const
Return the size of the data point. It is the product of the data point shape dimensions.
Definition: Data.cpp:1363
Definition: ReferenceElements.h:100
Definition: ShapeFunctions.h:49
Definition: ReferenceElements.h:85
Definition: ReferenceElements.h:52
void integral_order6(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:136
double * DBasisFunctionDv
Definition: ReferenceElements.h:204
Definition: ReferenceElements.h:41
void gradient_order7(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:281
Definition: ReferenceElements.h:110
Definition: ReferenceElements.h:57
Definition: ReferenceElements.h:55
Definition: ReferenceElements.h:86
Definition: ReferenceElements.h:44
Definition: ReferenceElements.h:76
Definition: AbstractAssembler.cpp:17
Definition: ReferenceElements.h:75
Definition: ReferenceElements.h:59
#define MAX_numSides
Definition: ReferenceElements.h:32
int integrationOrder
used integration order
Definition: ReferenceElements.h:195
Definition: ShapeFunctions.h:34
Data represents a collection of datapoints.
Definition: Data.h:62
Definition: ReferenceElements.h:99
Definition: ReferenceElements.h:66
Definition: ReferenceElements.h:94
#define INDEX3(_X1_, _X2_, _X3_, _N1_, _N2_)
Definition: index.h:23
void integral_order9(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:211
static const ShapeFunctionInfo * getInfo(ShapeFunctionTypeId id)
Definition: ShapeFunctions.cpp:117
Definition: Quadrature.h:33
Definition: ReferenceElements.h:109
Definition: ShapeFunctions.h:45
const ReferenceElementInfo * Type
type of the reference element
Definition: ReferenceElements.h:191
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:1940
Definition: ReferenceElements.h:112
Definition: ShapeFunctions.h:37
Definition: ReferenceElements.h:46
Definition: ShapeFunctions.h:48
void reduction_order6(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:124
void gradient_order9(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:386
int numRelevantGeoNodes
deprecated
Definition: ReferenceElements.h:151
Definition: ShapeFunctions.h:29
Definition: ReferenceElements.h:113
int numSubElements
number of subelements (>1 if macro elements are used)
Definition: ReferenceElements.h:126
Definition: ReferenceElements.h:64
Definition: ReferenceElements.h:62
Definition: ReferenceElements.h:83
Definition: ReferenceElements.h:104
Definition: ReferenceElements.h:79
Definition: ReferenceElements.h:37
Definition: ReferenceElements.h:88
double m_dx[2]
grid spacings / cell sizes of domain
Definition: speckley/src/Rectangle.h:394
Definition: ReferenceElements.h:91
const_ShapeFunction_ptr LinearBasisFunctions
Definition: ReferenceElements.h:201
this struct holds the definition of the reference element
Definition: ReferenceElements.h:118
Definition: ReferenceElements.h:54
int reverseNodes[64]
Definition: ReferenceElements.h:169
Definition: ReferenceElements.h:90
~ReferenceElement()
destructor
Definition: ReferenceElements.cpp:658
Definition: Quadrature.h:34
Definition: ReferenceElements.h:60
int numOrder
order of the shape functions
Definition: ShapeFunctions.h:66
Definition: ShapeFunctions.h:35
void integral_order8(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:186
QuadTypeId Quadrature
quadrature scheme
Definition: ReferenceElements.h:139
Definition: ReferenceElements.h:81
Definition: ShapeFunctions.h:32
Definition: ReferenceElements.h:103
Definition: ReferenceElements.h:63
Definition: ShapeFunctions.h:36
void reduction_order2(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:35
Definition: ShapeFunctions.h:43
int shiftNodes[64]
defines a permutation of the nodes which rotates the nodes on the face
Definition: ReferenceElements.h:166
Definition: ShapeFunctions.h:38
#define MAX_numSubElements
Definition: ReferenceElements.h:31
Definition: ReferenceElements.h:96
Definition: ShapeFunctions.h:44
void integral_order7(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:161
Definition: ReferenceElements.h:72
Definition: ReferenceElements.h:48
Definition: Quadrature.h:38
Definition: ReferenceElements.h:53
Definition: ReferenceElements.h:42
Definition: ReferenceElements.h:80
const QuadInfo * QuadInfo_getInfo(QuadTypeId id)
Definition: Quadrature.cpp:41
Definition: ReferenceElements.h:89
Definition: ReferenceElements.h:38
ElementTypeId
Definition: ReferenceElements.h:36
Definition: ShapeFunctions.h:46
Definition: ShapeFunctions.h:33
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:82
Definition: ReferenceElements.h:108
Definition: ReferenceElements.h:50
static const ReferenceElementInfo * getInfo(ElementTypeId id)
returns the element information structure for the given type id
Definition: ReferenceElements.cpp:676
int numSides
Definition: ReferenceElements.h:129
void gradient_order5(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:180
void gradient_order10(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:440
Definition: Quadrature.h:35
void integral_order5(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:111
Quad_getNumNodes * getNumQuadNodes
Definition: Quadrature.h:64
Definition: ReferenceElements.h:107
Quad_getNodes * getQuadNodes
function that returns the quadrature points for a given order
Definition: Quadrature.h:61
Definition: ReferenceElements.h:73
int numShapes
number of shape functions
Definition: ShapeFunctions.h:64
void gradient_order4(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:131
void reduction_order4(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:80
int linearNodes[64 *2]
stores the list of nodes defining the linear or macro element
Definition: ReferenceElements.h:137
Definition: ReferenceElements.h:67
int getNumNodes() const
Definition: ReferenceElements.h:188
Definition: ReferenceElements.h:87
void integral_order2(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:35
Definition: Quadrature.h:37
Definition: ReferenceElements.h:40
Definition: ReferenceElements.h:49
boost::shared_ptr< const ShapeFunction > const_ShapeFunction_ptr
Definition: ShapeFunctions.h:98
Quad_getMacro * getMacro
transfers a given quadrature scheme to a macro element structure
Definition: Quadrature.h:66
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:1121
dim_t m_NE[2]
number of elements for this rank in each dimension including shared
Definition: speckley/src/Rectangle.h:400
const_ShapeFunction_ptr BasisFunctions
Definition: ReferenceElements.h:200
int numNodes
number of nodes defining the element
Definition: ReferenceElements.h:124
Definition: ShapeFunctions.h:40
#define MAX_numNodes
Definition: ReferenceElements.h:30
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:60
void gradient_order2(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:35
Definition: ShapeFunctions.h:41
int faceNodes[64]
list of the nodes defining the face
Definition: ReferenceElements.h:162
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:31
Definition: ReferenceElements.h:68
int numLinearNodes
Definition: ReferenceElements.h:198
Definition: ShapeFunctions.h:47
void reduction_order7(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:146
Definition: ReferenceElements.h:92
An exception class that signals an invalid argument value.
Definition: EsysException.h:99
ElementTypeId
Definition: ElementType.h:35
Definition: ReferenceElements.h:77
Definition: ReferenceElements.h:102
void reduction_order9(const escript::Data &, escript::Data &) const
Definition: RectangleReductions.cpp:190
void integral_order10(std::vector< Scalar > &, const escript::Data &) const
Definition: RectangleIntegrals.cpp:236
Definition: ShapeFunctions.h:42
QuadTypeId
Definition: Quadrature.h:32
Definition: ReferenceElements.h:45
ReferenceElement(ElementTypeId id, int order)
constructor with type ID and integration order
Definition: ReferenceElements.cpp:589
void gradient_order6(escript::Data &, const escript::Data &) const
Definition: RectangleGradients.cpp:230
this struct holds the realization of a reference element
Definition: ReferenceElements.h:174
const char * Name
the name in text form e.g. "Line1", "Rec12", ...
Definition: ReferenceElements.h:122
int relevantGeoNodes[64]
Definition: ReferenceElements.h:152
bool DBasisFunctionDvShared
Definition: ReferenceElements.h:207
Definition: ReferenceElements.h:82