MFEM  v4.6.0
Finite element discretization library
Public Member Functions | Protected Attributes | List of all members
mfem::StatelessVDofTransformation Class Reference

#include <doftrans.hpp>

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

Public Member Functions

 StatelessVDofTransformation (int vdim=1, int ordering=0)
 Default constructor which requires that SetDofTransformation be called before use. More...
 
 StatelessVDofTransformation (StatelessDofTransformation &doftrans, int vdim=1, int ordering=0)
 Constructor with a known StatelessDofTransformation. More...
 
void SetVDim (int vdim)
 Set or change the vdim parameter. More...
 
int GetVDim () const
 Return the current vdim value. More...
 
void SetDofTransformation (StatelessDofTransformation &doftrans)
 Set or change the nested StatelessDofTransformation object. More...
 
StatelessDofTransformationGetDofTransformation () const
 Return the nested StatelessDofTransformation object. More...
 
void TransformPrimal (const Array< int > &face_ori, double *v) const
 
void InvTransformPrimal (const Array< int > &face_ori, double *v) const
 
void TransformDual (const Array< int > &face_ori, double *v) const
 
void InvTransformDual (const Array< int > &face_ori, double *v) const
 
virtual void TransformPrimal (const Array< int > &face_orientation, double *v) const=0
 
void TransformPrimal (const Array< int > &face_orientation, Vector &v) const
 
virtual void InvTransformPrimal (const Array< int > &face_orientation, double *v) const=0
 
void InvTransformPrimal (const Array< int > &face_orientation, Vector &v) const
 
virtual void TransformDual (const Array< int > &face_orientation, double *v) const=0
 
void TransformDual (const Array< int > &face_orientation, Vector &v) const
 
virtual void InvTransformDual (const Array< int > &face_orientation, double *v) const=0
 
void InvTransformDual (const Array< int > &face_orientation, Vector &v) const
 
- Public Member Functions inherited from mfem::StatelessDofTransformation
int Size () const
 
int Height () const
 
int NumRows () const
 
int Width () const
 
int NumCols () const
 
void TransformPrimal (const Array< int > &face_orientation, Vector &v) const
 
void InvTransformPrimal (const Array< int > &face_orientation, Vector &v) const
 
void TransformDual (const Array< int > &face_orientation, Vector &v) const
 
void InvTransformDual (const Array< int > &face_orientation, Vector &v) const
 

Protected Attributes

int vdim_
 
int ordering_
 
StatelessDofTransformationsdoftrans_
 
- Protected Attributes inherited from mfem::StatelessDofTransformation
int size_
 

Additional Inherited Members

- Protected Member Functions inherited from mfem::StatelessDofTransformation
 StatelessDofTransformation (int size)
 

Detailed Description

The StatelessVDofTransformation class implements a nested transformation where an arbitrary StatelessDofTransformation is replicated with a vdim >= 1.

Definition at line 252 of file doftrans.hpp.

Constructor & Destructor Documentation

◆ StatelessVDofTransformation() [1/2]

mfem::StatelessVDofTransformation::StatelessVDofTransformation ( int  vdim = 1,
int  ordering = 0 
)
inline

Default constructor which requires that SetDofTransformation be called before use.

Definition at line 262 of file doftrans.hpp.

◆ StatelessVDofTransformation() [2/2]

mfem::StatelessVDofTransformation::StatelessVDofTransformation ( StatelessDofTransformation doftrans,
int  vdim = 1,
int  ordering = 0 
)
inline

Constructor with a known StatelessDofTransformation.

Definition at line 270 of file doftrans.hpp.

Member Function Documentation

◆ GetDofTransformation()

StatelessDofTransformation* mfem::StatelessVDofTransformation::GetDofTransformation ( ) const
inline

Return the nested StatelessDofTransformation object.

Definition at line 300 of file doftrans.hpp.

◆ GetVDim()

int mfem::StatelessVDofTransformation::GetVDim ( ) const
inline

Return the current vdim value.

Definition at line 290 of file doftrans.hpp.

◆ InvTransformDual() [1/3]

void mfem::StatelessDofTransformation::InvTransformDual
inline

Definition at line 115 of file doftrans.hpp.

◆ InvTransformDual() [2/3]

virtual void mfem::StatelessDofTransformation::InvTransformDual

Inverse Transform dual DoFs

◆ InvTransformDual() [3/3]

void mfem::StatelessVDofTransformation::InvTransformDual ( const Array< int > &  face_orientation,
double *  v 
) const
virtual

Inverse Transform dual DoFs

Implements mfem::StatelessDofTransformation.

Definition at line 154 of file doftrans.cpp.

◆ InvTransformPrimal() [1/3]

virtual void mfem::StatelessDofTransformation::InvTransformPrimal

Inverse transform local DoFs. Used to transform DoFs from a global vector back to their element-local form. For example, this must be used to transform the vector obtained using GridFunction::GetSubVector before it can be used to compute a local interpolation.

◆ InvTransformPrimal() [2/3]

void mfem::StatelessDofTransformation::InvTransformPrimal
inline

Definition at line 100 of file doftrans.hpp.

◆ InvTransformPrimal() [3/3]

void mfem::StatelessVDofTransformation::InvTransformPrimal ( const Array< int > &  face_orientation,
double *  v 
) const
virtual

Inverse transform local DoFs. Used to transform DoFs from a global vector back to their element-local form. For example, this must be used to transform the vector obtained using GridFunction::GetSubVector before it can be used to compute a local interpolation.

Implements mfem::StatelessDofTransformation.

Definition at line 93 of file doftrans.cpp.

◆ SetDofTransformation()

void mfem::StatelessVDofTransformation::SetDofTransformation ( StatelessDofTransformation doftrans)
inline

Set or change the nested StatelessDofTransformation object.

Definition at line 293 of file doftrans.hpp.

◆ SetVDim()

void mfem::StatelessVDofTransformation::SetVDim ( int  vdim)
inline

Set or change the vdim parameter.

Definition at line 280 of file doftrans.hpp.

◆ TransformDual() [1/3]

void mfem::StatelessDofTransformation::TransformDual
inline

Definition at line 108 of file doftrans.hpp.

◆ TransformDual() [2/3]

virtual void mfem::StatelessDofTransformation::TransformDual

Transform dual DoFs as computed by a LinearFormIntegrator before summing into a LinearForm object.

◆ TransformDual() [3/3]

void mfem::StatelessVDofTransformation::TransformDual ( const Array< int > &  face_orientation,
double *  v 
) const
virtual

Transform dual DoFs as computed by a LinearFormIntegrator before summing into a LinearForm object.

Implements mfem::StatelessDofTransformation.

Definition at line 124 of file doftrans.cpp.

◆ TransformPrimal() [1/3]

virtual void mfem::StatelessDofTransformation::TransformPrimal

Transform local DoFs to align with the global DoFs. For example, this transformation can be used to map the local vector computed by FiniteElement::Project() to the transformed vector stored within a GridFunction object.

◆ TransformPrimal() [2/3]

void mfem::StatelessDofTransformation::TransformPrimal
inline

Definition at line 89 of file doftrans.hpp.

◆ TransformPrimal() [3/3]

void mfem::StatelessVDofTransformation::TransformPrimal ( const Array< int > &  face_ori,
double *  v 
) const
virtual

Specializations of these base class methods which account for the vdim and ordering of the full set of DoFs.

Implements mfem::StatelessDofTransformation.

Definition at line 63 of file doftrans.cpp.

Member Data Documentation

◆ ordering_

int mfem::StatelessVDofTransformation::ordering_
protected

Definition at line 256 of file doftrans.hpp.

◆ sdoftrans_

StatelessDofTransformation* mfem::StatelessVDofTransformation::sdoftrans_
protected

Definition at line 257 of file doftrans.hpp.

◆ vdim_

int mfem::StatelessVDofTransformation::vdim_
protected

Definition at line 255 of file doftrans.hpp.


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