100 { dofs = 0.; dofs(vertex) = 1.; }
120 #ifndef MFEM_THREAD_SAFE
126 mutable Vector shape_x, dshape_x;
143 #ifndef MFEM_THREAD_SAFE
145 mutable Vector shape_x, shape_y, dshape_x, dshape_y;
162 #ifndef MFEM_THREAD_SAFE
164 mutable Vector shape_x, shape_y, shape_z, dshape_x, dshape_y, dshape_z;
181 #ifndef MFEM_THREAD_SAFE
192 static void CalcShape(
const int p,
const double x,
const double y,
196 static void CalcDShape(
const int p,
const double x,
const double y,
210 #ifndef MFEM_THREAD_SAFE
221 static void CalcShape(
const int p,
const double x,
const double y,
222 const double z,
double *shape);
225 static void CalcDShape(
const int p,
const double x,
const double y,
226 const double z,
double *
dshape_1d,
double *dshape);
238 #ifndef MFEM_THREAD_SAFE
261 #ifndef MFEM_THREAD_SAFE
262 mutable Vector shape_x, dshape_x;
279 #ifndef MFEM_THREAD_SAFE
280 mutable Vector shape_x, shape_y, dshape_x, dshape_y;
297 #ifndef MFEM_THREAD_SAFE
298 mutable Vector shape_x, shape_y, shape_z, dshape_x, dshape_y, dshape_z;
315 #ifndef MFEM_THREAD_SAFE
334 #ifndef MFEM_THREAD_SAFE
352 #ifndef MFEM_THREAD_SAFE
Abstract class for all finite elements.
virtual void ProjectDelta(int vertex, Vector &dofs) const
Project a delta function centered on the given vertex in the local finite dimensional space represent...
Class for an integration rule - an Array of IntegrationPoint.
L2Pos_WedgeElement(const int p)
Construct the L2Pos_WedgeElement of order p.
virtual void ProjectDelta(int vertex, Vector &dofs) const
Project a delta function centered on the given vertex in the local finite dimensional space represent...
Arbitrary order L2 elements in 2D utilizing the Bernstein basis on a triangle.
virtual void ProjectDelta(int vertex, Vector &dofs) const
Project a delta function centered on the given vertex in the local finite dimensional space represent...
L2Pos_TriangleElement(const int p)
Construct the L2Pos_TriangleElement of order p.
H1Pos_SegmentElement(const int p)
Construct the H1Pos_SegmentElement of order p.
Base class for vector Coefficients that optionally depend on time and space.
virtual void Project(Coefficient &coeff, ElementTransformation &Trans, Vector &dofs) const
Given a coefficient and a transformation, compute its projection (approximation) in the local finite ...
virtual void ProjectDelta(int vertex, Vector &dofs) const
Project a delta function centered on the given vertex in the local finite dimensional space represent...
virtual void ProjectDelta(int vertex, Vector &dofs) const
Project a delta function centered on the given vertex in the local finite dimensional space represent...
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
PositiveTensorFiniteElement(const int dims, const int p, const DofMapType dmtype)
Class for finite elements utilizing the always positive Bernstein basis.
L2Pos_TetrahedronElement(const int p)
Construct the L2Pos_TetrahedronElement of order p.
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
virtual void GetLocalRestriction(ElementTransformation &Trans, DenseMatrix &R) const
Return a local restriction matrix R (Dof x Dof) mapping fine dofs to coarse dofs. ...
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
H1Pos_SegmentElement SegmentFE
Arbitrary order L2 elements in 1D utilizing the Bernstein basis on a segment.
const DofToQuad & GetDofToQuad(const IntegrationRule &ir, DofToQuad::Mode mode) const
Return a DofToQuad structure corresponding to the given IntegrationRule using the given DofToQuad::Mo...
H1Pos_TetrahedronElement(const int p)
Construct the H1Pos_TetrahedronElement of order p.
BiQuadPos2DFiniteElement()
Construct the BiQuadPos2DFiniteElement.
Data type dense matrix using column-major storage.
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
H1Pos_HexahedronElement(const int p)
Construct the H1Pos_HexahedronElement of order p.
static void CalcShape(const int p, const double x, const double y, const double z, double *shape)
PositiveFiniteElement(int D, Geometry::Type G, int Do, int O, int F=FunctionSpace::Pk)
Construct PositiveFiniteElement with given.
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
L2Pos_HexahedronElement(const int p)
Construct the L2Pos_HexahedronElement of order p.
static void CalcDShape(const int p, const double x, const double y, const double z, double *dshape_1d, double *dshape)
H1Pos_TriangleElement(const int p)
Construct the H1Pos_TriangleElement of order p.
virtual void GetLocalInterpolation(ElementTransformation &Trans, DenseMatrix &I) const
Return the local interpolation matrix I (Dof x Dof) where the fine element is the image of the base g...
void ScalarLocalRestriction(ElementTransformation &Trans, DenseMatrix &R, const ScalarFiniteElement &coarse_fe) const
Get restriction matrix R defined through local L2-projection in the space defined by the coarse_fe...
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
static void CalcShape(const int p, const double x, const double y, double *shape)
Class for finite elements with basis functions that return scalar values.
static const ScalarFiniteElement & CheckScalarFE(const FiniteElement &fe)
Arbitrary order L2 elements in 2D utilizing the Bernstein basis on a square.
virtual void ProjectDelta(int vertex, Vector &dofs) const
Project a delta function centered on the given vertex in the local finite dimensional space represent...
H1Pos_WedgeElement(const int p)
Construct the H1Pos_WedgeElement of order p.
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
L2Pos_QuadrilateralElement(const int p)
Construct the L2Pos_QuadrilateralElement of order p.
static void CalcDShape(const int p, const double x, const double y, double *dshape_1d, double *dshape)
Arbitrary order H1 elements in 3D utilizing the Bernstein basis on a wedge.
void ScalarLocalInterpolation(ElementTransformation &Trans, DenseMatrix &I, const ScalarFiniteElement &fine_fe) const
Get matrix I "Interpolation" defined through local L2-projection in the space defined by the fine_fe...
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
virtual void ProjectDelta(int vertex, Vector &dofs) const
Project a delta function centered on the given vertex in the local finite dimensional space represent...
double p(const Vector &x, double t)
H1Pos_TriangleElement TriangleFE
Arbitrary order H1 elements in 3D utilizing the Bernstein basis on a cube.
Base class Coefficients that optionally depend on space and time. These are used by the BilinearFormI...
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
Arbitrary order L2 elements in 3D utilizing the Bernstein basis on a wedge.
Structure representing the matrices/tensors needed to evaluate (in reference space) the values...
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
L2Pos_TriangleElement TriangleFE
virtual void GetLocalInterpolation(ElementTransformation &Trans, DenseMatrix &I) const
Return the local interpolation matrix I (Dof x Dof) where the fine element is the image of the base g...
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
H1Pos_QuadrilateralElement(const int p)
Construct the H1Pos_QuadrilateralElement of order p.
Class for integration point with weight.
Mode
Type of data stored in the arrays B, Bt, G, and Gt.
Full multidimensional representation which does not use tensor product structure. The ordering of the...
L2Pos_SegmentElement SegmentFE
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
virtual void GetTransferMatrix(const FiniteElement &fe, ElementTransformation &Trans, DenseMatrix &I) const
Return interpolation matrix, I, which maps dofs from a coarse element, fe, to the fine dofs on this f...
A 1D quadratic positive element utilizing the 2nd order Bernstein basis.
virtual void ProjectDelta(int vertex, Vector &dofs) const
Project a delta function centered on the given vertex in the local finite dimensional space represent...
Arbitrary order H1 elements in 1D utilizing the Bernstein basis.
Arbitrary order H1 elements in 2D utilizing the Bernstein basis on a square.
Arbitrary order L2 elements in 3D utilizing the Bernstein basis on a cube.
L2Pos_SegmentElement(const int p)
Construct the L2Pos_SegmentElement of order p.
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
virtual void Project(Coefficient &coeff, ElementTransformation &Trans, Vector &dofs) const
Given a coefficient and a transformation, compute its projection (approximation) in the local finite ...
QuadPos1DFiniteElement()
Construct the QuadPos1DFiniteElement.
virtual const DofToQuad & GetDofToQuad(const IntegrationRule &ir, DofToQuad::Mode mode) const
Return a DofToQuad structure corresponding to the given IntegrationRule using the given DofToQuad::Mo...
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
const DofToQuad & GetTensorDofToQuad(const class TensorBasisElement &tb, const IntegrationRule &ir, DofToQuad::Mode mode) const
Arbitrary order H1 elements in 2D utilizing the Bernstein basis on a triangle.
virtual void ProjectDelta(int vertex, Vector &dofs) const
Project a delta function centered on the given vertex in the local finite dimensional space represent...
virtual void Project(Coefficient &coeff, ElementTransformation &Trans, Vector &dofs) const
Given a coefficient and a transformation, compute its projection (approximation) in the local finite ...