MFEM  v3.3
Finite element discretization library
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 ()
 
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...
 
virtual int GetSpaceDim ()=0
 
virtual int TransformBack (const Vector &, IntegrationPoint &)=0
 
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
 

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 91 of file eltrans.hpp.

Member Function Documentation

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

Definition at line 69 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.

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

Definition at line 53 of file eltrans.hpp.

virtual int mfem::ElementTransformation::GetSpaceDim ( )
pure virtual

Get dimension of target space (we support 2D meshes embedded in 3D; in this case the function should return "3").

Implemented in mfem::IsoparametricTransformation.

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

Definition at line 72 of file eltrans.hpp.

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

Return the Jacobian of the transformation at the IntPoint. The first column contains the x derivatives of the transformation, the second – the y derivatives, etc.

Definition at line 64 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 51 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 ,
IntegrationPoint  
)
pure virtual

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 67 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 47 of file eltrans.hpp.

DenseMatrix mfem::ElementTransformation::dFdx
protected

Definition at line 27 of file eltrans.hpp.

int mfem::ElementTransformation::ElementNo

Definition at line 47 of file eltrans.hpp.

int mfem::ElementTransformation::EvalState
protected

Definition at line 29 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.

double mfem::ElementTransformation::Wght
protected

Definition at line 28 of file eltrans.hpp.


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