MFEM v4.7.0
Finite element discretization library
|
#include <doftrans.hpp>
Public Member Functions | |
bool | IsIdentity () const override |
If the DofTransformation performs no transformation. | |
void | TransformPrimal (const Array< int > &Fo, real_t *v) const override |
void | InvTransformPrimal (const Array< int > &Fo, real_t *v) const override |
void | TransformDual (const Array< int > &Fo, real_t *v) const override |
void | InvTransformDual (const Array< int > &Fo, real_t *v) const override |
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 |
virtual | ~StatelessDofTransformation ()=default |
Static Public Member Functions | |
static const DenseMatrix & | GetFaceTransform (int ori) |
static const DenseMatrix & | GetFaceInverseTransform (int ori) |
Protected Member Functions | |
ND_DofTransformation (int size, int order, int num_edges, int num_tri_faces) | |
Protected Member Functions inherited from mfem::StatelessDofTransformation | |
StatelessDofTransformation (int size) | |
Protected Attributes | |
const int | order |
const int | nedofs |
const int | nfdofs |
const int | nedges |
const int | nfaces |
Protected Attributes inherited from mfem::StatelessDofTransformation | |
int | size_ |
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 301 of file doftrans.hpp.
|
protected |
Definition at line 203 of file doftrans.cpp.
|
inlinestatic |
Definition at line 322 of file doftrans.hpp.
|
inlinestatic |
Definition at line 319 of file doftrans.hpp.
|
overridevirtual |
Inverse Transform dual DoFs
Implements mfem::StatelessDofTransformation.
Definition at line 291 of file doftrans.cpp.
|
overridevirtual |
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 240 of file doftrans.cpp.
|
inlineoverridevirtual |
If the DofTransformation performs no transformation.
Implements mfem::StatelessDofTransformation.
Definition at line 325 of file doftrans.hpp.
|
overridevirtual |
Transform dual DoFs as computed by a LinearFormIntegrator before summing into a LinearForm object.
Implements mfem::StatelessDofTransformation.
Definition at line 266 of file doftrans.cpp.
|
overridevirtual |
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.
Implements mfem::StatelessDofTransformation.
Definition at line 214 of file doftrans.cpp.
|
protected |
Definition at line 312 of file doftrans.hpp.
|
protected |
Definition at line 310 of file doftrans.hpp.
|
protected |
Definition at line 313 of file doftrans.hpp.
|
protected |
Definition at line 311 of file doftrans.hpp.
|
protected |
Definition at line 309 of file doftrans.hpp.