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

#include <doftrans.hpp>

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

Public Member Functions

 VDofTransformation (int vdim=1, int ordering=0)
 Default constructor which requires that SetDofTransformation be called before use. More...
 
 VDofTransformation (DofTransformation &doftrans, int vdim=1, int ordering=0)
 
void SetDofTransformation (DofTransformation &doftrans)
 
DofTransformationGetDofTransformation () const
 Return the nested DofTransformation object. More...
 
void SetFaceOrientations (const Array< int > &face_orientation)
 
void TransformPrimal (double *v) const
 
void InvTransformPrimal (double *v) const
 
void TransformDual (double *v) const
 
void InvTransformDual (double *v) const
 
void SetDofTransformation (StatelessDofTransformation &doftrans)
 Set or change the nested StatelessDofTransformation object. More...
 
void TransformPrimal (double *v) const
 
void TransformPrimal (Vector &v) const
 
virtual void TransformPrimal (const Array< int > &face_orientation, double *v) const =0
 
void TransformPrimal (const Array< int > &face_orientation, Vector &v) const
 
void InvTransformPrimal (double *v) const
 
void InvTransformPrimal (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
 
void TransformDual (double *v) const
 
void TransformDual (Vector &v) const
 
void TransformDual (DenseMatrix &V) const
 
virtual void TransformDual (const Array< int > &face_orientation, double *v) const =0
 
void TransformDual (const Array< int > &face_orientation, Vector &v) const
 
void InvTransformDual (double *v) const
 
void InvTransformDual (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::StatelessVDofTransformation
 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
 
- Public Member Functions inherited from mfem::DofTransformation
void SetFaceOrientations (const Array< int > &face_orientation)
 Configure the transformation using face orientations for the current element. More...
 
const Array< int > & GetFaceOrientations () const
 
void TransformPrimal (double *v) const
 
void TransformPrimal (Vector &v) const
 
void TransformPrimalCols (DenseMatrix &V) const
 Transform groups of DoFs stored as dense matrices. More...
 
void InvTransformPrimal (double *v) const
 
void InvTransformPrimal (Vector &v) const
 
void TransformDual (double *v) const
 
void TransformDual (Vector &v) const
 
void InvTransformDual (double *v) const
 
void InvTransformDual (Vector &v) const
 
void TransformDual (DenseMatrix &V) const
 
void TransformDualRows (DenseMatrix &V) const
 Transform rows of a dense matrix containing dual DoFs. More...
 
void TransformDualCols (DenseMatrix &V) const
 Transform columns of a dense matrix containing dual DoFs. More...
 
virtual ~DofTransformation ()=default
 
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
 

Protected Attributes

DofTransformationdoftrans_
 
- Protected Attributes inherited from mfem::StatelessVDofTransformation
int vdim_
 
int ordering_
 
StatelessDofTransformationsdoftrans_
 
- Protected Attributes inherited from mfem::StatelessDofTransformation
int size_
 
- Protected Attributes inherited from mfem::DofTransformation
Array< int > Fo
 

Additional Inherited Members

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

Detailed Description

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

Definition at line 320 of file doftrans.hpp.

Constructor & Destructor Documentation

◆ VDofTransformation() [1/2]

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

Default constructor which requires that SetDofTransformation be called before use.

Definition at line 329 of file doftrans.hpp.

◆ VDofTransformation() [2/2]

mfem::VDofTransformation::VDofTransformation ( DofTransformation doftrans,
int  vdim = 1,
int  ordering = 0 
)
inline

Constructor with a known DofTransformation

Note
The face orientations in doftrans will be copied into the new VDofTransformation object.

Definition at line 339 of file doftrans.hpp.

Member Function Documentation

◆ GetDofTransformation()

DofTransformation* mfem::VDofTransformation::GetDofTransformation ( ) const
inline

Return the nested DofTransformation object.

Definition at line 362 of file doftrans.hpp.

◆ InvTransformDual() [1/5]

void mfem::DofTransformation::InvTransformDual
inline

Inverse Transform dual DoFs

Definition at line 195 of file doftrans.hpp.

◆ InvTransformDual() [2/5]

void mfem::DofTransformation::InvTransformDual
inline

Definition at line 197 of file doftrans.hpp.

◆ InvTransformDual() [3/5]

virtual void mfem::StatelessDofTransformation::InvTransformDual

Inverse Transform dual DoFs

◆ InvTransformDual() [4/5]

void mfem::StatelessDofTransformation::InvTransformDual
inline

Definition at line 115 of file doftrans.hpp.

◆ InvTransformDual() [5/5]

void mfem::VDofTransformation::InvTransformDual ( double *  v) const
inline

Definition at line 383 of file doftrans.hpp.

◆ InvTransformPrimal() [1/5]

void mfem::DofTransformation::InvTransformPrimal
inline

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.

Definition at line 182 of file doftrans.hpp.

◆ InvTransformPrimal() [2/5]

void mfem::StatelessDofTransformation::InvTransformPrimal
inline

Definition at line 100 of file doftrans.hpp.

◆ InvTransformPrimal() [3/5]

void mfem::DofTransformation::InvTransformPrimal
inline

Definition at line 184 of file doftrans.hpp.

◆ InvTransformPrimal() [4/5]

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() [5/5]

void mfem::VDofTransformation::InvTransformPrimal ( double *  v) const
inline

Definition at line 379 of file doftrans.hpp.

◆ SetDofTransformation() [1/2]

void mfem::StatelessVDofTransformation::SetDofTransformation
inline

Set or change the nested StatelessDofTransformation object.

Definition at line 293 of file doftrans.hpp.

◆ SetDofTransformation() [2/2]

void mfem::VDofTransformation::SetDofTransformation ( DofTransformation doftrans)
inline

Set or change the nested DofTransformation object

Note
The face orientations in doftrans will be copied into the VDofTransformation object.

Definition at line 354 of file doftrans.hpp.

◆ SetFaceOrientations()

void mfem::VDofTransformation::SetFaceOrientations ( const Array< int > &  face_orientation)
inline

Set new face orientations in both the VDofTransformation and the DofTransformation contained within (if there is one).

Definition at line 366 of file doftrans.hpp.

◆ TransformDual() [1/6]

void mfem::DofTransformation::TransformDual
inline

Transform a matrix of dual DoFs entries as computed by a BilinearFormIntegrator before summing into a BilinearForm object.

Definition at line 202 of file doftrans.hpp.

◆ TransformDual() [2/6]

void mfem::DofTransformation::TransformDual
inline

Definition at line 191 of file doftrans.hpp.

◆ TransformDual() [3/6]

void mfem::StatelessDofTransformation::TransformDual
inline

Definition at line 108 of file doftrans.hpp.

◆ TransformDual() [4/6]

virtual void mfem::StatelessDofTransformation::TransformDual

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

◆ TransformDual() [5/6]

void mfem::DofTransformation::TransformDual
inline

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

Definition at line 189 of file doftrans.hpp.

◆ TransformDual() [6/6]

void mfem::VDofTransformation::TransformDual ( double *  v) const
inline

Definition at line 381 of file doftrans.hpp.

◆ TransformPrimal() [1/5]

void mfem::DofTransformation::TransformPrimal
inline

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.

Definition at line 163 of file doftrans.hpp.

◆ TransformPrimal() [2/5]

void mfem::DofTransformation::TransformPrimal
inline

Definition at line 165 of file doftrans.hpp.

◆ TransformPrimal() [3/5]

void mfem::StatelessDofTransformation::TransformPrimal
inline

Definition at line 89 of file doftrans.hpp.

◆ TransformPrimal() [4/5]

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() [5/5]

void mfem::VDofTransformation::TransformPrimal ( double *  v) const
inline

Definition at line 377 of file doftrans.hpp.

Member Data Documentation

◆ doftrans_

DofTransformation* mfem::VDofTransformation::doftrans_
protected

Definition at line 324 of file doftrans.hpp.


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