MFEM v2.0
|
#include <fe.hpp>
Public Member Functions | |
ND_QuadrilateralElement (const int p) | |
virtual void | CalcVShape (const IntegrationPoint &ip, DenseMatrix &shape) const |
virtual void | CalcVShape (ElementTransformation &Trans, DenseMatrix &shape) const |
virtual void | CalcCurlShape (const IntegrationPoint &ip, DenseMatrix &curl_shape) const |
virtual void | GetLocalInterpolation (ElementTransformation &Trans, DenseMatrix &I) const |
virtual void | Project (VectorCoefficient &vc, ElementTransformation &Trans, Vector &dofs) const |
virtual void | Project (const FiniteElement &fe, ElementTransformation &Trans, DenseMatrix &I) const |
virtual void | ProjectGrad (const FiniteElement &fe, ElementTransformation &Trans, DenseMatrix &grad) const |
Private Attributes | |
Poly_1D::Basis & | cbasis1d |
Poly_1D::Basis & | obasis1d |
Vector | shape_cx |
Vector | shape_ox |
Vector | shape_cy |
Vector | shape_oy |
Vector | dshape_cx |
Vector | dshape_cy |
Array< int > | dof_map |
Array< int > | dof2tk |
Static Private Attributes | |
static const double | tk [8] |
ND_QuadrilateralElement::ND_QuadrilateralElement | ( | const int | p | ) |
Definition at line 8054 of file fe.cpp.
References Poly_1D::ClosedPoints(), FiniteElement::Dof, dof2tk, dof_map, dshape_cx, dshape_cy, IntegrationRule::IntPoint(), FiniteElement::Nodes, Poly_1D::OpenPoints(), IntegrationPoint::Set2(), Vector::SetSize(), shape_cx, shape_cy, shape_ox, and shape_oy.
void ND_QuadrilateralElement::CalcCurlShape | ( | const IntegrationPoint & | ip, |
DenseMatrix & | curl_shape | ||
) | const [virtual] |
pure virtual function which evaluates the values of the curl all shape functions at a given point ip and stores them in the matrix curl_shape (Dof x Dim) so that each row contains the curl of one shape function
Reimplemented from FiniteElement.
Definition at line 8161 of file fe.cpp.
References mfem_error().
virtual void ND_QuadrilateralElement::CalcVShape | ( | ElementTransformation & | Trans, |
DenseMatrix & | shape | ||
) | const [inline, virtual] |
Reimplemented from FiniteElement.
Definition at line 1605 of file fe.hpp.
References VectorFiniteElement::CalcVShape_ND().
void ND_QuadrilateralElement::CalcVShape | ( | const IntegrationPoint & | ip, |
DenseMatrix & | shape | ||
) | const [virtual] |
This virtual function evaluates the values of all components of all shape functions at the given IntegrationPoint. The result is stored in the DenseMatrix shape (Dof x Dim) so that each row contains the components of one shape function.
Reimplemented from FiniteElement.
Definition at line 8120 of file fe.cpp.
References cbasis1d, dof_map, Poly_1D::Basis::Eval(), obasis1d, FiniteElement::Order, shape_cx, shape_cy, shape_ox, shape_oy, IntegrationPoint::x, and IntegrationPoint::y.
virtual void ND_QuadrilateralElement::GetLocalInterpolation | ( | ElementTransformation & | Trans, |
DenseMatrix & | I | ||
) | const [inline, virtual] |
Return the local interpolation matrix I (Dof x Dof) where the fine element is the image of the base geometry under the given transformation.
Reimplemented from FiniteElement.
Definition at line 1610 of file fe.hpp.
References dof2tk, VectorFiniteElement::LocalInterpolation_ND(), and tk.
virtual void ND_QuadrilateralElement::Project | ( | VectorCoefficient & | vc, |
ElementTransformation & | Trans, | ||
Vector & | dofs | ||
) | const [inline, virtual] |
Given a vector coefficient and a transformation, compute its projection (approximation) in the local finite dimensional space in terms of the degrees of freedom. (VectorFiniteElements)
Reimplemented from FiniteElement.
Definition at line 1614 of file fe.hpp.
References dof2tk, VectorFiniteElement::Project_ND(), and tk.
virtual void ND_QuadrilateralElement::Project | ( | const FiniteElement & | fe, |
ElementTransformation & | Trans, | ||
DenseMatrix & | I | ||
) | const [inline, virtual] |
Compute the embedding/projection matrix from the given FiniteElement onto 'this' FiniteElement. The ElementTransformation is included to support cases when the projection depends on it.
Reimplemented from FiniteElement.
Definition at line 1617 of file fe.hpp.
References dof2tk, VectorFiniteElement::Project_ND(), and tk.
virtual void ND_QuadrilateralElement::ProjectGrad | ( | const FiniteElement & | fe, |
ElementTransformation & | Trans, | ||
DenseMatrix & | grad | ||
) | const [inline, virtual] |
Compute the discrete gradient matrix from the given FiniteElement onto 'this' FiniteElement. The ElementTransformation is included to support cases when the matrix depends on it.
Reimplemented from FiniteElement.
Definition at line 1621 of file fe.hpp.
References dof2tk, VectorFiniteElement::ProjectGrad_ND(), and tk.
Poly_1D::Basis& ND_QuadrilateralElement::cbasis1d [private] |
Definition at line 1594 of file fe.hpp.
Referenced by CalcVShape().
Array<int> ND_QuadrilateralElement::dof2tk [private] |
Definition at line 1599 of file fe.hpp.
Referenced by GetLocalInterpolation(), ND_QuadrilateralElement(), Project(), and ProjectGrad().
Array<int> ND_QuadrilateralElement::dof_map [private] |
Definition at line 1599 of file fe.hpp.
Referenced by CalcVShape(), and ND_QuadrilateralElement().
Vector ND_QuadrilateralElement::dshape_cx [mutable, private] |
Definition at line 1597 of file fe.hpp.
Referenced by ND_QuadrilateralElement().
Vector ND_QuadrilateralElement::dshape_cy [mutable, private] |
Definition at line 1597 of file fe.hpp.
Referenced by ND_QuadrilateralElement().
Poly_1D::Basis & ND_QuadrilateralElement::obasis1d [private] |
Definition at line 1594 of file fe.hpp.
Referenced by CalcVShape().
Vector ND_QuadrilateralElement::shape_cx [mutable, private] |
Definition at line 1596 of file fe.hpp.
Referenced by CalcVShape(), and ND_QuadrilateralElement().
Vector ND_QuadrilateralElement::shape_cy [mutable, private] |
Definition at line 1596 of file fe.hpp.
Referenced by CalcVShape(), and ND_QuadrilateralElement().
Vector ND_QuadrilateralElement::shape_ox [mutable, private] |
Definition at line 1596 of file fe.hpp.
Referenced by CalcVShape(), and ND_QuadrilateralElement().
Vector ND_QuadrilateralElement::shape_oy [mutable, private] |
Definition at line 1596 of file fe.hpp.
Referenced by CalcVShape(), and ND_QuadrilateralElement().
const double ND_QuadrilateralElement::tk [static, private] |
{ 1.,0., 0.,1., -1.,0., 0.,-1. }
Definition at line 1592 of file fe.hpp.
Referenced by GetLocalInterpolation(), Project(), and ProjectGrad().