MFEM v2.0
|
#include <fe.hpp>
Public Member Functions | |
RT1HexFiniteElement () | |
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 |
Static Private Attributes | |
static const double | nk [36][3] |
RT1HexFiniteElement::RT1HexFiniteElement | ( | ) |
Definition at line 4976 of file fe.cpp.
References IntegrationRule::IntPoint(), FiniteElement::Nodes, IntegrationPoint::x, IntegrationPoint::y, and IntegrationPoint::z.
void RT1HexFiniteElement::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 5221 of file fe.cpp.
References IntegrationPoint::x, IntegrationPoint::y, and IntegrationPoint::z.
virtual void RT1HexFiniteElement::CalcVShape | ( | ElementTransformation & | Trans, |
DenseMatrix & | shape | ||
) | const [inline, virtual] |
Reimplemented from FiniteElement.
Definition at line 1100 of file fe.hpp.
References VectorFiniteElement::CalcVShape_RT().
void RT1HexFiniteElement::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 5098 of file fe.cpp.
References IntegrationPoint::x, IntegrationPoint::y, and IntegrationPoint::z.
Referenced by GetLocalInterpolation().
void RT1HexFiniteElement::GetLocalInterpolation | ( | ElementTransformation & | Trans, |
DenseMatrix & | I | ||
) | const [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 5285 of file fe.cpp.
References CalcAdjugateTranspose(), CalcVShape(), FiniteElement::Dim, FiniteElement::Dof, IntegrationRule::IntPoint(), ElementTransformation::Jacobian(), VectorFiniteElement::Jinv, mfem_error(), nk, FiniteElement::Nodes, ElementTransformation::SetIntPoint(), ElementTransformation::Transform(), VectorFiniteElement::vshape, IntegrationPoint::x, IntegrationPoint::y, and IntegrationPoint::z.
void RT1HexFiniteElement::Project | ( | VectorCoefficient & | vc, |
ElementTransformation & | Trans, | ||
Vector & | dofs | ||
) | const [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 5338 of file fe.cpp.
References CalcAdjugateTranspose(), FiniteElement::Dim, VectorCoefficient::Eval(), IntegrationRule::IntPoint(), ElementTransformation::Jacobian(), VectorFiniteElement::Jinv, nk, FiniteElement::Nodes, and ElementTransformation::SetIntPoint().
const double RT1HexFiniteElement::nk [static, private] |
{ {0, 0,-1}, {0, 0,-1}, {0, 0,-1}, {0, 0,-1}, {0,-1, 0}, {0,-1, 0}, {0,-1, 0}, {0,-1, 0}, {1, 0, 0}, {1, 0, 0}, {1, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {-1,0, 0}, {-1,0, 0}, {-1,0, 0}, {-1,0, 0}, {0, 0, 1}, {0, 0, 1}, {0, 0, 1}, {0, 0, 1}, {1, 0, 0}, {1, 0, 0}, {1, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 0, 1}, {0, 0, 1}, {0, 0, 1}, {0, 0, 1} }
Definition at line 1092 of file fe.hpp.
Referenced by GetLocalInterpolation(), and Project().