MFEM v4.7.0
Finite element discretization library
|
Class representing the storage layout of a QuadratureFunction. More...
#include <qspace.hpp>
Public Member Functions | |
QuadratureSpace (Mesh *mesh_, int order_) | |
Create a QuadratureSpace based on the global rules from IntRules. | |
QuadratureSpace (Mesh &mesh_, const IntegrationRule &ir) | |
Create a QuadratureSpace with an IntegrationRule, valid only when the mesh has one element type. | |
QuadratureSpace (Mesh *mesh_, std::istream &in) | |
Read a QuadratureSpace from the stream in. | |
int | GetNE () const |
Returns number of elements in the mesh. | |
ElementTransformation * | GetTransformation (int idx) override |
Returns the element transformation of element idx. | |
Geometry::Type | GetGeometry (int idx) const override |
Returns the geometry type of element idx. | |
const IntegrationRule & | GetElementIntRule (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 | GetEntityIndex (const ElementTransformation &T) const override |
Returns the element index of T. | |
void | Save (std::ostream &out) const override |
Write the QuadratureSpace 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. | |
Mesh * | GetMesh () const |
Returns the mesh. | |
const IntegrationRule & | GetIntRule (int idx) const |
Return the IntegrationRule associated with entity idx. | |
const Vector & | GetWeights () 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 () |
Protected Member Functions | |
const Vector & | GetGeometricFactorWeights () const override |
Compute the det(J) (volume or faces, depending on the type). | |
void | ConstructOffsets () |
void | Construct () |
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. | |
Additional Inherited Members | |
Protected Attributes inherited from mfem::QuadratureSpaceBase | |
Mesh & | mesh |
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 IntegrationRule * | int_rule [Geometry::NumGeom] |
The quadrature rules used for each geometry type. | |
Class representing the storage layout of a QuadratureFunction.
Multiple QuadratureFunctions can share the same QuadratureSpace.
Definition at line 119 of file qspace.hpp.
|
inline |
Create a QuadratureSpace based on the global rules from IntRules.
Definition at line 127 of file qspace.hpp.
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 141 of file qspace.cpp.
mfem::QuadratureSpace::QuadratureSpace | ( | Mesh * | mesh_, |
std::istream & | in ) |
Read a QuadratureSpace from the stream in.
Definition at line 118 of file qspace.cpp.
|
protected |
Definition at line 112 of file qspace.cpp.
|
protected |
Definition at line 97 of file qspace.cpp.
|
inline |
Get the IntegrationRule associated with mesh element idx.
Definition at line 149 of file qspace.hpp.
|
inlineoverridevirtual |
Returns the element index of T.
Implements mfem::QuadratureSpaceBase.
Definition at line 160 of file qspace.hpp.
|
overrideprotectedvirtual |
Compute the det(J) (volume or faces, depending on the type).
Implements mfem::QuadratureSpaceBase.
Definition at line 156 of file qspace.cpp.
|
inlineoverridevirtual |
Returns the geometry type of element idx.
Implements mfem::QuadratureSpaceBase.
Definition at line 145 of file qspace.hpp.
|
inline |
Returns number of elements in the mesh.
Definition at line 138 of file qspace.hpp.
|
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 157 of file qspace.hpp.
|
inlineoverridevirtual |
Returns the element transformation of element idx.
Implements mfem::QuadratureSpaceBase.
Definition at line 141 of file qspace.hpp.
|
overridevirtual |
Write the QuadratureSpace to the stream out.
Implements mfem::QuadratureSpaceBase.
Definition at line 149 of file qspace.cpp.