MFEM
v4.5.2
Finite element discretization library
|
Abstract base class for QuadratureSpace and FaceQuadratureSpace. More...
#include <qspace.hpp>
Public Member Functions | |
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... | |
Mesh * | GetMesh () const |
Returns the mesh. More... | |
virtual ElementTransformation * | GetTransformation (int idx)=0 |
Get the (element or face) transformation of entity idx. More... | |
virtual Geometry::Type | GetGeometry (int idx) const =0 |
Return the geometry type of entity (element or face) idx. More... | |
const IntegrationRule & | GetIntRule (int idx) const |
Return the IntegrationRule associated with entity idx. More... | |
virtual int | GetPermutedIndex (int idx, int iq) const =0 |
Returns the permuted index of the iq quadrature point in entity idx. More... | |
virtual void | Save (std::ostream &out) const =0 |
Write the QuadratureSpace to the stream out. More... | |
virtual | ~QuadratureSpaceBase () |
Protected Member Functions | |
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... | |
Protected Attributes | |
Mesh & | mesh |
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 IntegrationRule * | int_rule [Geometry::NumGeom] |
The quadrature rules used for each geometry type. More... | |
Friends | |
class | QuadratureFunction |
Abstract base class for QuadratureSpace and FaceQuadratureSpace.
This class represents the storage layout for QuadratureFunctions, that may be defined either on mesh elements or mesh faces.
Definition at line 24 of file qspace.hpp.
|
inlineprotected |
Protected constructor. Used by derived classes.
Definition at line 42 of file qspace.hpp.
|
protected |
Protected constructor. Used by derived classes.
Definition at line 17 of file qspace.cpp.
|
inlinevirtual |
Definition at line 87 of file qspace.hpp.
|
protected |
Fill the int_rule array for each geometry type using order.
Definition at line 28 of file qspace.cpp.
|
pure virtual |
Return the geometry type of entity (element or face) idx.
Implemented in mfem::FaceQuadratureSpace, and mfem::QuadratureSpace.
|
inline |
Return the IntegrationRule associated with entity idx.
Definition at line 72 of file qspace.hpp.
|
inline |
Returns the mesh.
Definition at line 63 of file qspace.hpp.
|
inline |
Return the number of entities.
Definition at line 60 of file qspace.hpp.
|
inline |
Return the order of the quadrature rule(s) used by all elements.
Definition at line 57 of file qspace.hpp.
|
pure virtual |
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". For QuadratureSpaces defined on elements (not faces), the permutation is trivial, and this returns iq.
Implemented in mfem::FaceQuadratureSpace, and mfem::QuadratureSpace.
|
inline |
Return the total number of quadrature points.
Definition at line 54 of file qspace.hpp.
|
pure virtual |
Get the (element or face) transformation of entity idx.
Implemented in mfem::FaceQuadratureSpace, and mfem::QuadratureSpace.
|
pure virtual |
Write the QuadratureSpace to the stream out.
Implemented in mfem::FaceQuadratureSpace, and mfem::QuadratureSpace.
|
friend |
Definition at line 27 of file qspace.hpp.
|
protected |
The quadrature rules used for each geometry type.
Definition at line 39 of file qspace.hpp.
|
protected |
The underlying mesh.
Definition at line 29 of file qspace.hpp.
|
protected |
Entity quadrature point offset array, of size num_entities + 1.
The quadrature point values for entity i are stored in the indices between offsets[i] and offsets[i+1].
Definition at line 37 of file qspace.hpp.
|
protected |
The order of integration rule.
Definition at line 30 of file qspace.hpp.
|
protected |
Total number of quadrature points.
Definition at line 31 of file qspace.hpp.