MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::FaceQuadratureSpace Class Reference

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

#include <qspace.hpp>

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

Public Member Functions

 FaceQuadratureSpace (Mesh &mesh_, int order_, FaceType face_type_)
 Create a FaceQuadratureSpace based on the global rules from IntRules.
 
 FaceQuadratureSpace (Mesh &mesh_, const IntegrationRule &ir, FaceType face_type_)
 Create a FaceQuadratureSpace with an IntegrationRule, valid only when the mesh has one type of face geometry.
 
int GetNumFaces () const
 Returns number of faces in the mesh.
 
FaceType GetFaceType () const
 Returns the face type (boundary or interior).
 
ElementTransformationGetTransformation (int idx) override
 Returns the face transformation of face idx.
 
Geometry::Type GetGeometry (int idx) const override
 Returns the geometry type of face idx.
 
const IntegrationRuleGetFaceIntRule (int idx) const
 Get the IntegrationRule associated with mesh element idx.
 
int GetPermutedIndex (int idx, int iq) const override
 Returns the permuted index of the iq quadrature point in entity idx.
 
int GetMeshFaceIndex (int idx) const
 Get the face index (in the standard Mesh numbering) associated with face idx in the FaceQuadratureSpace.
 
int GetEntityIndex (const ElementTransformation &T) const override
 Returns the index associated with the face described by T.
 
void Save (std::ostream &out) const override
 Write the FaceQuadratureSpace to the stream out.
 
- Public Member Functions inherited from mfem::QuadratureSpaceBase
int GetSize () const
 Return the total number of quadrature points.
 
int GetOrder () const
 Return the order of the quadrature rule(s) used by all elements.
 
int GetNE () const
 Return the number of entities.
 
MeshGetMesh () const
 Returns the mesh.
 
const IntegrationRuleGetIntRule (int idx) const
 Return the IntegrationRule associated with entity idx.
 
const VectorGetWeights () const
 Return the integration weights (including geometric factors).
 
real_t Integrate (Coefficient &coeff) const
 Return the integral of the scalar Coefficient coeff.
 
void Integrate (VectorCoefficient &coeff, Vector &integrals) const
 Return the integral of the VectorCoefficient coeff in integrals.
 
virtual ~QuadratureSpaceBase ()
 

Additional Inherited Members

- Protected Member Functions inherited from mfem::QuadratureSpaceBase
 QuadratureSpaceBase (Mesh &mesh_, int order_=0)
 Protected constructor. Used by derived classes.
 
 QuadratureSpaceBase (Mesh &mesh_, Geometry::Type geom, const IntegrationRule &ir)
 Protected constructor. Used by derived classes.
 
void ConstructIntRules (int dim)
 Fill the int_rule array for each geometry type using order.
 
void ConstructWeights () const
 Compute the integration weights.
 
- Protected Attributes inherited from mfem::QuadratureSpaceBase
Meshmesh
 The underlying mesh.
 
int order
 The order of integration rule.
 
int size
 Total number of quadrature points.
 
Vector weights
 Integration weights.
 
long nodes_sequence = 0
 Nodes counter for cache invalidation.
 
Array< int > offsets
 Entity quadrature point offset array, of size num_entities + 1.
 
const IntegrationRuleint_rule [Geometry::NumGeom]
 The quadrature rules used for each geometry type.
 

Detailed Description

Class representing the storage layout of a FaceQuadratureFunction.

FaceQuadratureSpace is defined on either the interior or boundary faces of a mesh, depending on the provided FaceType.

Definition at line 169 of file qspace.hpp.

Constructor & Destructor Documentation

◆ FaceQuadratureSpace() [1/2]

mfem::FaceQuadratureSpace::FaceQuadratureSpace ( Mesh & mesh_,
int order_,
FaceType face_type_ )

Create a FaceQuadratureSpace based on the global rules from IntRules.

Definition at line 167 of file qspace.cpp.

◆ FaceQuadratureSpace() [2/2]

mfem::FaceQuadratureSpace::FaceQuadratureSpace ( Mesh & mesh_,
const IntegrationRule & ir,
FaceType face_type_ )

Create a FaceQuadratureSpace with an IntegrationRule, valid only when the mesh has one type of face geometry.

Definition at line 176 of file qspace.cpp.

Member Function Documentation

◆ GetEntityIndex()

int mfem::FaceQuadratureSpace::GetEntityIndex ( const ElementTransformation & T) const
overridevirtual

Returns the index associated with the face described by T.

The index may differ from the mesh face or boundary element index depending on the FaceType used to construct the FaceQuadratureSpace.

Implements mfem::QuadratureSpaceBase.

Definition at line 235 of file qspace.cpp.

◆ GetFaceIntRule()

const IntegrationRule & mfem::FaceQuadratureSpace::GetFaceIntRule ( int idx) const
inline

Get the IntegrationRule associated with mesh element idx.

Definition at line 208 of file qspace.hpp.

◆ GetFaceType()

FaceType mfem::FaceQuadratureSpace::GetFaceType ( ) const
inline

Returns the face type (boundary or interior).

Definition at line 197 of file qspace.hpp.

◆ GetGeometry()

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

Returns the geometry type of face idx.

Implements mfem::QuadratureSpaceBase.

Definition at line 204 of file qspace.hpp.

◆ GetMeshFaceIndex()

int mfem::FaceQuadratureSpace::GetMeshFaceIndex ( int idx) const
inline

Get the face index (in the standard Mesh numbering) associated with face idx in the FaceQuadratureSpace.

Definition at line 220 of file qspace.hpp.

◆ GetNumFaces()

int mfem::FaceQuadratureSpace::GetNumFaces ( ) const
inline

Returns number of faces in the mesh.

Definition at line 194 of file qspace.hpp.

◆ GetPermutedIndex()

int mfem::FaceQuadratureSpace::GetPermutedIndex ( int idx,
int iq ) const
overridevirtual

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

For tensor-product faces, returns the lexicographic index of the quadrature point, oriented relative to "element 1".

Implements mfem::QuadratureSpaceBase.

Definition at line 218 of file qspace.cpp.

◆ GetTransformation()

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

Returns the face transformation of face idx.

Implements mfem::QuadratureSpaceBase.

Definition at line 200 of file qspace.hpp.

◆ Save()

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

Write the FaceQuadratureSpace to the stream out.

Implements mfem::QuadratureSpaceBase.

Definition at line 257 of file qspace.cpp.


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