MFEM  v3.3
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 IntegrationPoint & GetIntPoint ()
 
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 DenseMatrix & Jacobian ()
 
double Weight ()
 
const DenseMatrix & AdjugateJacobian ()
 
const DenseMatrix & InverseJacobian ()
 
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 DenseMatrix & EvalJacobian ()=0
 
double EvalWeight ()
 
const DenseMatrix & EvalAdjugateJ ()
 
const DenseMatrix & EvalInverseJ ()
 

Protected Attributes

const IntegrationPoint * IntPoint
 
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: