MFEM  v4.5.1
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
mfem::ND_DofTransformation Class Reference

#include <doftrans.hpp>

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

Static Public Member Functions

static const DenseMatrixGetFaceTransform (int ori)
 
static const DenseMatrixGetFaceInverseTransform (int ori)
 

Protected Member Functions

 ND_DofTransformation (int size, int order)
 
- Protected Member Functions inherited from mfem::DofTransformation
 DofTransformation (int size)
 

Protected Attributes

int order
 
int nedofs
 
int nfdofs
 
- Protected Attributes inherited from mfem::DofTransformation
int size_
 
Array< int > Fo
 

Static Protected Attributes

static const double T_data [24]
 
static const double TInv_data [24]
 
static const DenseTensor T
 
static const DenseTensor TInv
 

Additional Inherited Members

- Public Member Functions inherited from mfem::DofTransformation
int Size () const
 
int Height () const
 
int NumRows () const
 
int Width () const
 
int NumCols () const
 
void SetFaceOrientations (const Array< int > &face_orientation)
 Configure the transformation using face orientations for the current element. More...
 
const Array< int > & GetFaceOrientations () const
 
virtual void TransformPrimal (double *v) const =0
 
virtual void TransformPrimal (Vector &v) const
 
virtual void TransformPrimalCols (DenseMatrix &V) const
 Transform groups of DoFs stored as dense matrices. More...
 
virtual void InvTransformPrimal (double *v) const =0
 
virtual void InvTransformPrimal (Vector &v) const
 
virtual void TransformDual (double *v) const =0
 
virtual void TransformDual (Vector &v) const
 
virtual void InvTransformDual (double *v) const =0
 
virtual void InvTransformDual (Vector &v) const
 
virtual void TransformDual (DenseMatrix &V) const
 
virtual void TransformDualRows (DenseMatrix &V) const
 Transform groups of dual DoFs stored as dense matrices. More...
 
virtual void TransformDualCols (DenseMatrix &V) const
 
virtual ~DofTransformation ()
 

Detailed Description

Abstract base class for high-order Nedelec spaces on elements with triangular faces.

The Nedelec DoFs on the interior of triangular faces come in pairs which share an interpolation point but have different vector directions. These directions depend on the orientation of the face and can therefore differ in neighboring elements. The mapping required to transform these DoFs can be implemented as series of 2x2 linear transformations. The raw data for these linear transformations is stored in the T_data and TInv_data arrays and can be accessed as DenseMatrices using the GetFaceTransform() and GetFaceInverseTransform() methods.

Definition at line 210 of file doftrans.hpp.

Constructor & Destructor Documentation

mfem::ND_DofTransformation::ND_DofTransformation ( int  size,
int  order 
)
protected

Definition at line 258 of file doftrans.cpp.

Member Function Documentation

static const DenseMatrix& mfem::ND_DofTransformation::GetFaceInverseTransform ( int  ori)
inlinestatic

Definition at line 227 of file doftrans.hpp.

static const DenseMatrix& mfem::ND_DofTransformation::GetFaceTransform ( int  ori)
inlinestatic

Definition at line 224 of file doftrans.hpp.

Member Data Documentation

int mfem::ND_DofTransformation::nedofs
protected

Definition at line 217 of file doftrans.hpp.

int mfem::ND_DofTransformation::nfdofs
protected

Definition at line 218 of file doftrans.hpp.

int mfem::ND_DofTransformation::order
protected

Definition at line 216 of file doftrans.hpp.

const DenseTensor mfem::ND_DofTransformation::T
staticprotected

Definition at line 215 of file doftrans.hpp.

const double mfem::ND_DofTransformation::T_data
staticprotected
Initial value:
=
{
1.0, 0.0, 0.0, 1.0,
-1.0, -1.0, 0.0, 1.0,
0.0, 1.0, -1.0, -1.0,
1.0, 0.0, -1.0, -1.0,
-1.0, -1.0, 1.0, 0.0,
0.0, 1.0, 1.0, 0.0
}

Definition at line 213 of file doftrans.hpp.

const DenseTensor mfem::ND_DofTransformation::TInv
staticprotected

Definition at line 215 of file doftrans.hpp.

const double mfem::ND_DofTransformation::TInv_data
staticprotected
Initial value:
=
{
1.0, 0.0, 0.0, 1.0,
-1.0, -1.0, 0.0, 1.0,
-1.0, -1.0, 1.0, 0.0,
1.0, 0.0, -1.0, -1.0,
0.0, 1.0, -1.0, -1.0,
0.0, 1.0, 1.0, 0.0
}

Definition at line 214 of file doftrans.hpp.


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