MFEM v4.7.0
Finite element discretization library
|
#include <doftrans.hpp>
Public Member Functions | |
DofTransformation (int vdim=1, int ordering=0) | |
Default constructor which requires that SetDofTransformation be called before use. | |
DofTransformation (const StatelessDofTransformation &dof_trans, int vdim=1, int ordering=0) | |
Constructor with a known StatelessDofTransformation. | |
void | SetFaceOrientations (const Array< int > &Fo) |
Configure the transformation using face orientations for the current element. | |
const Array< int > & | GetFaceOrientations () const |
Return the face orientations for the current element. | |
void | SetDofTransformation (const StatelessDofTransformation &dof_trans) |
Set or change the nested StatelessDofTransformation object. | |
void | SetDofTransformation (const StatelessDofTransformation *dof_trans) |
const StatelessDofTransformation * | GetDofTransformation () const |
Return the nested StatelessDofTransformation object. | |
void | SetVDim (int vdim=1, int ordering=0) |
Set or change the vdim and ordering parameter. | |
int | GetVDim () const |
Return the current vdim value. | |
int | Size () const |
int | Height () const |
int | NumRows () const |
int | Width () const |
int | NumCols () const |
bool | IsIdentity () const |
void | TransformPrimal (real_t *v) const |
void | TransformPrimal (Vector &v) const |
void | TransformPrimalCols (DenseMatrix &V) const |
Transform groups of DoFs stored as dense matrices. | |
void | InvTransformPrimal (real_t *v) const |
void | InvTransformPrimal (Vector &v) const |
void | TransformDual (real_t *v) const |
void | TransformDual (Vector &v) const |
void | InvTransformDual (real_t *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. | |
void | TransformDualCols (DenseMatrix &V) const |
Transform columns of a dense matrix containing dual DoFs. | |
Protected Attributes | |
Array< int > | Fo_ |
const StatelessDofTransformation * | dof_trans_ |
int | vdim_ |
int | ordering_ |
The DofTransformation class is an extension of the StatelessDofTransformation which stores the face orientations used to select the necessary transformations which allows it to offer a collection of convenience methods.
DofTransformation objects are provided by the FiniteElementSpace which has access to the mesh and can therefore provide the face orientations. This is convenient when working with GridFunction, LinearForm, or BilinearForm objects or their parallel counterparts.
StatelessDofTransformation objects are provided by FiniteElement or FiniteElementCollection objects which do not have access to face orientation information. This can be useful in non-standard contexts such as transferring finite element degrees of freedom between different meshes. For examples of its use see the TransferMap used by the SubMesh class.
Definition at line 141 of file doftrans.hpp.
|
inline |
Default constructor which requires that SetDofTransformation be called before use.
Definition at line 152 of file doftrans.hpp.
|
inline |
Constructor with a known StatelessDofTransformation.
Definition at line 159 of file doftrans.hpp.
|
inline |
Return the nested StatelessDofTransformation object.
Definition at line 186 of file doftrans.hpp.
|
inline |
Return the face orientations for the current element.
Definition at line 173 of file doftrans.hpp.
|
inline |
Return the current vdim value.
Definition at line 197 of file doftrans.hpp.
|
inline |
Definition at line 200 of file doftrans.hpp.
void mfem::DofTransformation::InvTransformDual | ( | real_t * | v | ) | const |
Inverse Transform dual DoFs
Definition at line 113 of file doftrans.cpp.
|
inline |
Definition at line 240 of file doftrans.hpp.
void mfem::DofTransformation::InvTransformPrimal | ( | real_t * | v | ) | const |
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 49 of file doftrans.cpp.
|
inline |
Definition at line 229 of file doftrans.hpp.
|
inline |
Definition at line 204 of file doftrans.hpp.
|
inline |
Definition at line 203 of file doftrans.hpp.
|
inline |
Definition at line 201 of file doftrans.hpp.
|
inline |
Set or change the nested StatelessDofTransformation object.
Definition at line 176 of file doftrans.hpp.
|
inline |
Definition at line 180 of file doftrans.hpp.
|
inline |
Configure the transformation using face orientations for the current element.
The face_orientation array can be obtained from Mesh::GetElementFaces.
Definition at line 169 of file doftrans.hpp.
|
inline |
Set or change the vdim and ordering parameter.
Definition at line 190 of file doftrans.hpp.
|
inline |
Definition at line 199 of file doftrans.hpp.
|
inline |
Transform a matrix of dual DoFs entries as computed by a BilinearFormIntegrator before summing into a BilinearForm object.
Definition at line 245 of file doftrans.hpp.
void mfem::DofTransformation::TransformDual | ( | real_t * | v | ) | const |
Transform dual DoFs as computed by a LinearFormIntegrator before summing into a LinearForm object.
Definition at line 81 of file doftrans.cpp.
|
inline |
Definition at line 235 of file doftrans.hpp.
|
inline |
Transform columns of a dense matrix containing dual DoFs.
Definition at line 264 of file doftrans.hpp.
|
inline |
Transform rows of a dense matrix containing dual DoFs.
Definition at line 252 of file doftrans.hpp.
void mfem::DofTransformation::TransformPrimal | ( | real_t * | v | ) | const |
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 17 of file doftrans.cpp.
|
inline |
Definition at line 211 of file doftrans.hpp.
|
inline |
Transform groups of DoFs stored as dense matrices.
Definition at line 215 of file doftrans.hpp.
|
inline |
Definition at line 202 of file doftrans.hpp.
|
protected |
Definition at line 145 of file doftrans.hpp.
|
protected |
Definition at line 144 of file doftrans.hpp.
|
protected |
Definition at line 147 of file doftrans.hpp.
|
protected |
Definition at line 146 of file doftrans.hpp.