MFEM  v3.4
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
mfem::ElementTransformation Class Referenceabstract

#include <eltrans.hpp>

Inheritance diagram for mfem::ElementTransformation:
[legend]
Collaboration diagram for mfem::ElementTransformation:
[legend]

Public Member Functions

 ElementTransformation ()
 
void SetIntPoint (const IntegrationPoint *ip)
 
const IntegrationPointGetIntPoint ()
 
virtual void Transform (const IntegrationPoint &, Vector &)=0
 
virtual void Transform (const IntegrationRule &, DenseMatrix &)=0
 
virtual void Transform (const DenseMatrix &matrix, DenseMatrix &result)=0
 Transform columns of 'matrix', store result in 'result'. More...
 
const DenseMatrixJacobian ()
 Return the Jacobian matrix of the transformation at the currently set IntegrationPoint, using the method SetIntPoint(). More...
 
double Weight ()
 
const DenseMatrixAdjugateJacobian ()
 
const DenseMatrixInverseJacobian ()
 
virtual int Order ()=0
 
virtual int OrderJ ()=0
 
virtual int OrderW ()=0
 
virtual int OrderGrad (const FiniteElement *fe)=0
 Order of adj(J)^t.grad(fi) More...
 
int GetGeometryType () const
 Return the Geometry::Type of the reference element. More...
 
int GetDimension () const
 Return the dimension of the reference element. More...
 
int GetSpaceDim () const
 Get the dimension of the target (physical) space. More...
 
virtual int TransformBack (const Vector &pt, IntegrationPoint &ip)=0
 Transform a point pt from physical space to a point ip in reference space. More...
 
virtual ~ElementTransformation ()
 

Public Attributes

int Attribute
 
int ElementNo
 

Protected Types

enum  StateMasks { JACOBIAN_MASK = 1, WEIGHT_MASK = 2, ADJUGATE_MASK = 4, INVERSE_MASK = 8 }
 

Protected Member Functions

virtual const DenseMatrixEvalJacobian ()=0
 
double EvalWeight ()
 
const DenseMatrixEvalAdjugateJ ()
 
const DenseMatrixEvalInverseJ ()
 

Protected Attributes

const IntegrationPointIntPoint
 
DenseMatrix dFdx
 
DenseMatrix adjJ
 
DenseMatrix invJ
 
double Wght
 
int EvalState
 
int geom
 
int space_dim
 

Detailed Description

Definition at line 23 of file eltrans.hpp.

Member Enumeration Documentation

Enumerator
JACOBIAN_MASK 
WEIGHT_MASK 
ADJUGATE_MASK 
INVERSE_MASK 

Definition at line 30 of file eltrans.hpp.

Constructor & Destructor Documentation

mfem::ElementTransformation::ElementTransformation ( )

Definition at line 19 of file eltrans.cpp.

virtual mfem::ElementTransformation::~ElementTransformation ( )
inlinevirtual

Definition at line 103 of file eltrans.hpp.

Member Function Documentation

const DenseMatrix& mfem::ElementTransformation::AdjugateJacobian ( )
inline

Definition at line 72 of file eltrans.hpp.

const DenseMatrix & mfem::ElementTransformation::EvalAdjugateJ ( )
protected

Definition at line 34 of file eltrans.cpp.

const DenseMatrix & mfem::ElementTransformation::EvalInverseJ ( )
protected

Definition at line 44 of file eltrans.cpp.

virtual const DenseMatrix& mfem::ElementTransformation::EvalJacobian ( )
protectedpure virtual
double mfem::ElementTransformation::EvalWeight ( )
protected

Definition at line 26 of file eltrans.cpp.

int mfem::ElementTransformation::GetDimension ( ) const
inline

Return the dimension of the reference element.

Definition at line 88 of file eltrans.hpp.

int mfem::ElementTransformation::GetGeometryType ( ) const
inline

Return the Geometry::Type of the reference element.

Definition at line 85 of file eltrans.hpp.

const IntegrationPoint& mfem::ElementTransformation::GetIntPoint ( )
inline

Definition at line 54 of file eltrans.hpp.

int mfem::ElementTransformation::GetSpaceDim ( ) const
inline

Get the dimension of the target (physical) space.

We support 2D meshes embedded in 3D; in this case the function will return "3".

Definition at line 93 of file eltrans.hpp.

const DenseMatrix& mfem::ElementTransformation::InverseJacobian ( )
inline

Definition at line 75 of file eltrans.hpp.

const DenseMatrix& mfem::ElementTransformation::Jacobian ( )
inline

Return the Jacobian matrix of the transformation at the currently set IntegrationPoint, using the method SetIntPoint().

The dimensions of the Jacobian matrix are physical-space-dim by reference-space-dim. The first column contains the x derivatives of the transformation, the second – the y derivatives, etc.

Definition at line 67 of file eltrans.hpp.

virtual int mfem::ElementTransformation::Order ( )
pure virtual
virtual int mfem::ElementTransformation::OrderGrad ( const FiniteElement fe)
pure virtual

Order of adj(J)^t.grad(fi)

Implemented in mfem::IsoparametricTransformation.

virtual int mfem::ElementTransformation::OrderJ ( )
pure virtual
virtual int mfem::ElementTransformation::OrderW ( )
pure virtual
void mfem::ElementTransformation::SetIntPoint ( const IntegrationPoint ip)
inline

Definition at line 52 of file eltrans.hpp.

virtual void mfem::ElementTransformation::Transform ( const IntegrationPoint ,
Vector  
)
pure virtual
virtual void mfem::ElementTransformation::Transform ( const IntegrationRule ,
DenseMatrix  
)
pure virtual
virtual void mfem::ElementTransformation::Transform ( const DenseMatrix matrix,
DenseMatrix result 
)
pure virtual

Transform columns of 'matrix', store result in 'result'.

Implemented in mfem::IsoparametricTransformation.

virtual int mfem::ElementTransformation::TransformBack ( const Vector pt,
IntegrationPoint ip 
)
pure virtual

Transform a point pt from physical space to a point ip in reference space.

Attempt to find the IntegrationPoint that is transformed into the given point in physical space. If the inversion fails a non-zero value is returned. This method is not 100 percent reliable for non-linear transformations.

Implemented in mfem::IsoparametricTransformation.

double mfem::ElementTransformation::Weight ( )
inline

Definition at line 70 of file eltrans.hpp.

Member Data Documentation

DenseMatrix mfem::ElementTransformation::adjJ
protected

Definition at line 27 of file eltrans.hpp.

int mfem::ElementTransformation::Attribute

Definition at line 48 of file eltrans.hpp.

DenseMatrix mfem::ElementTransformation::dFdx
protected

Definition at line 27 of file eltrans.hpp.

int mfem::ElementTransformation::ElementNo

Definition at line 48 of file eltrans.hpp.

int mfem::ElementTransformation::EvalState
protected

Definition at line 29 of file eltrans.hpp.

int mfem::ElementTransformation::geom
protected

Definition at line 37 of file eltrans.hpp.

const IntegrationPoint* mfem::ElementTransformation::IntPoint
protected

Definition at line 26 of file eltrans.hpp.

DenseMatrix mfem::ElementTransformation::invJ
protected

Definition at line 27 of file eltrans.hpp.

int mfem::ElementTransformation::space_dim
protected

Definition at line 37 of file eltrans.hpp.

double mfem::ElementTransformation::Wght
protected

Definition at line 28 of file eltrans.hpp.


The documentation for this class was generated from the following files: