MFEM v2.0
|
#include <fe.hpp>
Public Member Functions | |
RT_QuadrilateralElement (const int p) | |
virtual void | CalcVShape (const IntegrationPoint &ip, DenseMatrix &shape) const |
virtual void | CalcVShape (ElementTransformation &Trans, DenseMatrix &shape) const |
virtual void | CalcDivShape (const IntegrationPoint &ip, Vector &divshape) 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 > | dof2nk |
Static Private Attributes | |
static const double | nk [8] |
RT_QuadrilateralElement::RT_QuadrilateralElement | ( | const int | p | ) |
Definition at line 6996 of file fe.cpp.
References Poly_1D::ClosedPoints(), FiniteElement::Dof, dof2nk, 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 RT_QuadrilateralElement::CalcDivShape | ( | const IntegrationPoint & | ip, |
Vector & | divshape | ||
) | const [virtual] |
This virtual function evaluates the divergence of all shape functions at the given IntegrationPoint. The result is stored in the Vector divshape (of size Dof).
Reimplemented from FiniteElement.
Definition at line 7134 of file fe.cpp.
References cbasis1d, dof_map, dshape_cx, dshape_cy, Poly_1D::Basis::Eval(), obasis1d, FiniteElement::Order, shape_cx, shape_cy, shape_ox, shape_oy, IntegrationPoint::x, and IntegrationPoint::y.
virtual void RT_QuadrilateralElement::CalcVShape | ( | ElementTransformation & | Trans, |
DenseMatrix & | shape | ||
) | const [inline, virtual] |
Reimplemented from FiniteElement.
Definition at line 1415 of file fe.hpp.
References VectorFiniteElement::CalcVShape_RT().
void RT_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 7095 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 RT_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 1420 of file fe.hpp.
References dof2nk, VectorFiniteElement::LocalInterpolation_RT(), and nk.
virtual void RT_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 1424 of file fe.hpp.
References dof2nk, nk, and VectorFiniteElement::Project_RT().
virtual void RT_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 1427 of file fe.hpp.
References dof2nk, nk, and VectorFiniteElement::Project_RT().
virtual void RT_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 1430 of file fe.hpp.
References dof2nk, nk, and VectorFiniteElement::ProjectGrad_RT().
Poly_1D::Basis& RT_QuadrilateralElement::cbasis1d [private] |
Definition at line 1404 of file fe.hpp.
Referenced by CalcDivShape(), and CalcVShape().
Array<int> RT_QuadrilateralElement::dof2nk [private] |
Definition at line 1409 of file fe.hpp.
Referenced by GetLocalInterpolation(), Project(), ProjectGrad(), and RT_QuadrilateralElement().
Array<int> RT_QuadrilateralElement::dof_map [private] |
Definition at line 1409 of file fe.hpp.
Referenced by CalcDivShape(), CalcVShape(), and RT_QuadrilateralElement().
Vector RT_QuadrilateralElement::dshape_cx [mutable, private] |
Definition at line 1407 of file fe.hpp.
Referenced by CalcDivShape(), and RT_QuadrilateralElement().
Vector RT_QuadrilateralElement::dshape_cy [mutable, private] |
Definition at line 1407 of file fe.hpp.
Referenced by CalcDivShape(), and RT_QuadrilateralElement().
const double RT_QuadrilateralElement::nk [static, private] |
{ 0., -1., 1., 0., 0., 1., -1., 0. }
Definition at line 1402 of file fe.hpp.
Referenced by GetLocalInterpolation(), Project(), and ProjectGrad().
Poly_1D::Basis & RT_QuadrilateralElement::obasis1d [private] |
Definition at line 1404 of file fe.hpp.
Referenced by CalcDivShape(), and CalcVShape().
Vector RT_QuadrilateralElement::shape_cx [mutable, private] |
Definition at line 1406 of file fe.hpp.
Referenced by CalcDivShape(), CalcVShape(), and RT_QuadrilateralElement().
Vector RT_QuadrilateralElement::shape_cy [mutable, private] |
Definition at line 1406 of file fe.hpp.
Referenced by CalcDivShape(), CalcVShape(), and RT_QuadrilateralElement().
Vector RT_QuadrilateralElement::shape_ox [mutable, private] |
Definition at line 1406 of file fe.hpp.
Referenced by CalcDivShape(), CalcVShape(), and RT_QuadrilateralElement().
Vector RT_QuadrilateralElement::shape_oy [mutable, private] |
Definition at line 1406 of file fe.hpp.
Referenced by CalcDivShape(), CalcVShape(), and RT_QuadrilateralElement().