15 #include "../config/config.hpp" 85 virtual void Save(std::ostream &
out)
const = 0;
132 void Save(std::ostream &
out)
const override;
146 void ConstructOffsets();
184 void Save(std::ostream &
out)
const override;
ElementTransformation * GetTransformation(int idx) override
Returns the element transformation of element idx.
Geometry::Type GetGeometry(int idx) const override
Returns the geometry type of face idx.
int GetNE() const
Return the number of entities.
Class for an integration rule - an Array of IntegrationPoint.
Geometry::Type GetElementBaseGeometry(int i) const
int GetNE() const
Returns number of elements in the mesh.
virtual int GetPermutedIndex(int idx, int iq) const =0
Returns the permuted index of the iq quadrature point in entity idx.
Geometry::Type GetFaceGeometry(int i) const
Return the Geometry::Type associated with face i.
const IntegrationRule & GetElementIntRule(int idx) const
Get the IntegrationRule associated with mesh element idx.
QuadratureSpaceBase(Mesh &mesh_, int order_=0)
Protected constructor. Used by derived classes.
int size
Total number of quadrature points.
int GetPermutedIndex(int idx, int iq) const override
Returns the permuted index of the iq quadrature point in entity idx.
virtual ElementTransformation * GetTransformation(int idx)=0
Get the (element or face) transformation of entity idx.
void GetFaceTransformation(int i, IsoparametricTransformation *FTr)
virtual Geometry::Type GetGeometry(int idx) const =0
Return the geometry type of entity (element or face) idx.
Geometry::Type GetGeometry(int idx) const override
Returns the geometry type of element idx.
virtual ~QuadratureSpaceBase()
int GetNumFaces() const
Returns number of faces in the mesh.
Mesh * GetMesh() const
Returns the mesh.
void Save(std::ostream &out) const override
Write the QuadratureSpace to the stream out.
virtual void Save(std::ostream &out) const =0
Write the QuadratureSpace to the stream out.
Array< int > offsets
Entity quadrature point offset array, of size num_entities + 1.
Abstract base class for QuadratureSpace and FaceQuadratureSpace.
Geometry::Type GetElementGeometry(int i) const
FaceQuadratureSpace(Mesh &mesh_, int order_, FaceType face_type_)
Create a FaceQuadratureSpace based on the global rules from IntRules.
const IntegrationRule & GetFaceIntRule(int idx) const
Get the IntegrationRule associated with mesh element idx.
OutStream out(std::cout)
Global stream used by the library for standard output. Initially it uses the same std::streambuf as s...
const IntegrationRule & GetIntRule(int idx) const
Return the IntegrationRule associated with entity idx.
Class representing the storage layout of a FaceQuadratureFunction.
ElementTransformation * GetTransformation(int idx) override
Returns the face transformation of face idx.
int GetNE() const
Returns number of elements.
void GetElementTransformation(int i, IsoparametricTransformation *ElTr)
Mesh & mesh
The underlying mesh.
const IntegrationRule * int_rule[Geometry::NumGeom]
The quadrature rules used for each geometry type.
int GetPermutedIndex(int idx, int iq) const override
Returns the permuted index of the iq quadrature point in entity idx.
void Save(std::ostream &out) const override
Write the FaceQuadratureSpace to the stream out.
QuadratureSpace(Mesh *mesh_, int order_)
Create a QuadratureSpace based on the global rules from IntRules.
int Size() const
Return the logical size of the array.
FaceType GetFaceType() const
Returns the face type (boundary or interior).
void ConstructIntRules(int dim)
Fill the int_rule array for each geometry type using order.
Class representing the storage layout of a QuadratureFunction.
int GetSize() const
Return the total number of quadrature points.
Represents values or vectors of values at quadrature points on a mesh.
int order
The order of integration rule.
int GetOrder() const
Return the order of the quadrature rule(s) used by all elements.