MFEM v2.0
Public Member Functions | Private Attributes | Static Private Attributes
RT_TriangleElement Class Reference

#include <fe.hpp>

Inheritance diagram for RT_TriangleElement:
Inheritance graph
[legend]
Collaboration diagram for RT_TriangleElement:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 RT_TriangleElement (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

static const double c = 1./3.
Vector shape_x
Vector shape_y
Vector shape_l
Vector dshape_x
Vector dshape_y
Vector dshape_l
DenseMatrix u
Vector divu
Array< int > dof2nk
DenseMatrix T

Static Private Attributes

static const double nk [6]

Detailed Description

Definition at line 1474 of file fe.hpp.


Constructor & Destructor Documentation

RT_TriangleElement::RT_TriangleElement ( const int  p)

Member Function Documentation

void RT_TriangleElement::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 7551 of file fe.cpp.

References c, Poly_1D::CalcBasis(), divu, FiniteElement::Dof, dshape_l, dshape_x, dshape_y, DenseMatrix::Mult, FiniteElement::Order, shape_l, shape_x, shape_y, T, IntegrationPoint::x, and IntegrationPoint::y.

virtual void RT_TriangleElement::CalcVShape ( ElementTransformation Trans,
DenseMatrix shape 
) const [inline, virtual]

Reimplemented from FiniteElement.

Definition at line 1491 of file fe.hpp.

References VectorFiniteElement::CalcVShape_RT().

void RT_TriangleElement::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 7520 of file fe.cpp.

References c, Poly_1D::CalcBasis(), FiniteElement::Dim, FiniteElement::Dof, Mult(), FiniteElement::Order, shape_l, shape_x, shape_y, T, u, IntegrationPoint::x, and IntegrationPoint::y.

virtual void RT_TriangleElement::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 1496 of file fe.hpp.

References dof2nk, VectorFiniteElement::LocalInterpolation_RT(), and nk.

virtual void RT_TriangleElement::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 1500 of file fe.hpp.

References dof2nk, nk, and VectorFiniteElement::Project_RT().

virtual void RT_TriangleElement::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 1503 of file fe.hpp.

References dof2nk, nk, and VectorFiniteElement::Project_RT().

virtual void RT_TriangleElement::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 1506 of file fe.hpp.

References dof2nk, nk, and VectorFiniteElement::ProjectGrad_RT().


Member Data Documentation

const double RT_TriangleElement::c = 1./3. [private]

Definition at line 1476 of file fe.hpp.

Referenced by CalcDivShape(), CalcVShape(), and RT_TriangleElement().

Vector RT_TriangleElement::divu [mutable, private]

Definition at line 1482 of file fe.hpp.

Referenced by CalcDivShape(), and RT_TriangleElement().

Definition at line 1484 of file fe.hpp.

Referenced by GetLocalInterpolation(), Project(), ProjectGrad(), and RT_TriangleElement().

Definition at line 1480 of file fe.hpp.

Referenced by CalcDivShape(), and RT_TriangleElement().

Definition at line 1480 of file fe.hpp.

Referenced by CalcDivShape(), and RT_TriangleElement().

Definition at line 1480 of file fe.hpp.

Referenced by CalcDivShape(), and RT_TriangleElement().

const double RT_TriangleElement::nk [static, private]
Initial value:
{ 0., -1., 1., 1., -1., 0. }

Definition at line 1476 of file fe.hpp.

Referenced by GetLocalInterpolation(), Project(), ProjectGrad(), and RT_TriangleElement().

Vector RT_TriangleElement::shape_l [mutable, private]

Definition at line 1479 of file fe.hpp.

Referenced by CalcDivShape(), CalcVShape(), and RT_TriangleElement().

Vector RT_TriangleElement::shape_x [mutable, private]

Definition at line 1479 of file fe.hpp.

Referenced by CalcDivShape(), CalcVShape(), and RT_TriangleElement().

Vector RT_TriangleElement::shape_y [mutable, private]

Definition at line 1479 of file fe.hpp.

Referenced by CalcDivShape(), CalcVShape(), and RT_TriangleElement().

Definition at line 1485 of file fe.hpp.

Referenced by CalcDivShape(), CalcVShape(), and RT_TriangleElement().

DenseMatrix RT_TriangleElement::u [mutable, private]

Definition at line 1481 of file fe.hpp.

Referenced by CalcVShape(), and RT_TriangleElement().


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines