MFEM  v4.6.0
Finite element discretization library
Public Member Functions | Protected Member Functions | List of all members
mfem::QuadratureSpace Class Reference

Class representing the storage layout of a QuadratureFunction. More...

#include <qspace.hpp>

Inheritance diagram for mfem::QuadratureSpace:
[legend]
Collaboration diagram for mfem::QuadratureSpace:
[legend]

Public Member Functions

 QuadratureSpace (Mesh *mesh_, int order_)
 Create a QuadratureSpace based on the global rules from IntRules. More...
 
 QuadratureSpace (Mesh &mesh_, const IntegrationRule &ir)
 Create a QuadratureSpace with an IntegrationRule, valid only when the mesh has one element type. More...
 
 QuadratureSpace (Mesh *mesh_, std::istream &in)
 Read a QuadratureSpace from the stream in. More...
 
int GetNE () const
 Returns number of elements in the mesh. More...
 
ElementTransformationGetTransformation (int idx) override
 Returns the element transformation of element idx. More...
 
Geometry::Type GetGeometry (int idx) const override
 Returns the geometry type of element idx. More...
 
const IntegrationRuleGetElementIntRule (int idx) const
 Get the IntegrationRule associated with mesh element idx. More...
 
int GetPermutedIndex (int idx, int iq) const override
 Returns the permuted index of the iq quadrature point in entity idx. More...
 
int GetEntityIndex (const ElementTransformation &T) const override
 Returns the element index of T. More...
 
void Save (std::ostream &out) const override
 Write the QuadratureSpace to the stream out. More...
 
- Public Member Functions inherited from mfem::QuadratureSpaceBase
int GetSize () const
 Return the total number of quadrature points. More...
 
int GetOrder () const
 Return the order of the quadrature rule(s) used by all elements. More...
 
int GetNE () const
 Return the number of entities. More...
 
MeshGetMesh () const
 Returns the mesh. More...
 
const IntegrationRuleGetIntRule (int idx) const
 Return the IntegrationRule associated with entity idx. More...
 
virtual ~QuadratureSpaceBase ()
 

Protected Member Functions

void ConstructOffsets ()
 
void Construct ()
 
- Protected Member Functions inherited from mfem::QuadratureSpaceBase
 QuadratureSpaceBase (Mesh &mesh_, int order_=0)
 Protected constructor. Used by derived classes. More...
 
 QuadratureSpaceBase (Mesh &mesh_, Geometry::Type geom, const IntegrationRule &ir)
 Protected constructor. Used by derived classes. More...
 
void ConstructIntRules (int dim)
 Fill the int_rule array for each geometry type using order. More...
 

Additional Inherited Members

- Protected Attributes inherited from mfem::QuadratureSpaceBase
Meshmesh
 The underlying mesh. More...
 
int order
 The order of integration rule. More...
 
int size
 Total number of quadrature points. More...
 
Array< int > offsets
 Entity quadrature point offset array, of size num_entities + 1. More...
 
const IntegrationRuleint_rule [Geometry::NumGeom]
 The quadrature rules used for each geometry type. More...
 

Detailed Description

Class representing the storage layout of a QuadratureFunction.

Multiple QuadratureFunctions can share the same QuadratureSpace.

Definition at line 101 of file qspace.hpp.

Constructor & Destructor Documentation

◆ QuadratureSpace() [1/3]

mfem::QuadratureSpace::QuadratureSpace ( Mesh mesh_,
int  order_ 
)
inline

Create a QuadratureSpace based on the global rules from IntRules.

Definition at line 108 of file qspace.hpp.

◆ QuadratureSpace() [2/3]

mfem::QuadratureSpace::QuadratureSpace ( Mesh mesh_,
const IntegrationRule ir 
)

Create a QuadratureSpace with an IntegrationRule, valid only when the mesh has one element type.

Definition at line 82 of file qspace.cpp.

◆ QuadratureSpace() [3/3]

mfem::QuadratureSpace::QuadratureSpace ( Mesh mesh_,
std::istream &  in 
)

Read a QuadratureSpace from the stream in.

Definition at line 59 of file qspace.cpp.

Member Function Documentation

◆ Construct()

void mfem::QuadratureSpace::Construct ( )
protected

Definition at line 53 of file qspace.cpp.

◆ ConstructOffsets()

void mfem::QuadratureSpace::ConstructOffsets ( )
protected

Definition at line 38 of file qspace.cpp.

◆ GetElementIntRule()

const IntegrationRule& mfem::QuadratureSpace::GetElementIntRule ( int  idx) const
inline

Get the IntegrationRule associated with mesh element idx.

Definition at line 130 of file qspace.hpp.

◆ GetEntityIndex()

int mfem::QuadratureSpace::GetEntityIndex ( const ElementTransformation T) const
inlineoverridevirtual

Returns the element index of T.

Implements mfem::QuadratureSpaceBase.

Definition at line 141 of file qspace.hpp.

◆ GetGeometry()

Geometry::Type mfem::QuadratureSpace::GetGeometry ( int  idx) const
inlineoverridevirtual

Returns the geometry type of element idx.

Implements mfem::QuadratureSpaceBase.

Definition at line 126 of file qspace.hpp.

◆ GetNE()

int mfem::QuadratureSpace::GetNE ( ) const
inline

Returns number of elements in the mesh.

Definition at line 119 of file qspace.hpp.

◆ GetPermutedIndex()

int mfem::QuadratureSpace::GetPermutedIndex ( int  idx,
int  iq 
) const
inlineoverridevirtual

Returns the permuted index of the iq quadrature point in entity idx.

The member function QuadratureSpace::GetPermutedIndex always returns iq, the permutation is only nontrivial for FaceQuadratureSpace.

Implements mfem::QuadratureSpaceBase.

Definition at line 138 of file qspace.hpp.

◆ GetTransformation()

ElementTransformation* mfem::QuadratureSpace::GetTransformation ( int  idx)
inlineoverridevirtual

Returns the element transformation of element idx.

Implements mfem::QuadratureSpaceBase.

Definition at line 122 of file qspace.hpp.

◆ Save()

void mfem::QuadratureSpace::Save ( std::ostream &  out) const
overridevirtual

Write the QuadratureSpace to the stream out.

Implements mfem::QuadratureSpaceBase.

Definition at line 90 of file qspace.cpp.


The documentation for this class was generated from the following files: