![]() |
MFEM v4.10.0
Finite element discretization library
|
Base class for transfer algorithms that construct transfer Operators between two finite element (FE) spaces. More...
#include <transfer.hpp>
Public Member Functions | |
| GridTransfer (FiniteElementSpace &dom_fes_, FiniteElementSpace &ran_fes_) | |
| virtual | ~GridTransfer () |
| Virtual destructor. | |
| void | UseEA (bool use_ea_) |
| void | SetMemType (MemoryType d_mt_) |
| void | SetOperatorType (Operator::Type type) |
| Set the desired Operator::Type for the construction of all operators defined by the underlying transfer algorithm. | |
| virtual const Operator & | ForwardOperator ()=0 |
| Return an Operator that transfers GridFunctions from the domain FE space to GridFunctions in the range FE space. | |
| virtual const Operator & | BackwardOperator ()=0 |
| Return an Operator that transfers GridFunctions from the range FE space back to GridFunctions in the domain FE space. | |
| virtual const Operator & | TrueForwardOperator () |
| Return an Operator that transfers true-dof Vectors from the domain FE space to true-dof Vectors in the range FE space. | |
| virtual const Operator & | TrueBackwardOperator () |
| Return an Operator that transfers true-dof Vectors from the range FE space back to true-dof Vectors in the domain FE space. | |
| virtual bool | SupportsBackwardsOperator () const |
Protected Member Functions | |
| bool | Parallel () const |
| const Operator & | MakeTrueOperator (FiniteElementSpace &fes_in, FiniteElementSpace &fes_out, const Operator &oper, OperatorHandle &t_oper) |
Protected Attributes | |
| FiniteElementSpace & | dom_fes |
| Domain FE space. | |
| FiniteElementSpace & | ran_fes |
| Range FE space. | |
| Operator::Type | oper_type |
| Desired Operator::Type for the construction of all operators defined by the underlying transfer algorithm. It can be ignored by derived classes. | |
| OperatorHandle | fw_t_oper |
| Forward true-dof operator. | |
| OperatorHandle | bw_t_oper |
| Backward true-dof operator. | |
| bool | use_ea |
| MemoryType | d_mt |
| bool | parallel |
Base class for transfer algorithms that construct transfer Operators between two finite element (FE) spaces.
Generally, the two FE spaces (domain and range) can be defined on different meshes.
Definition at line 31 of file transfer.hpp.
| mfem::GridTransfer::GridTransfer | ( | FiniteElementSpace & | dom_fes_, |
| FiniteElementSpace & | ran_fes_ ) |
Construct a transfer algorithm between the domain, dom_fes_, and range, ran_fes_, FE spaces, d_mt_ will specify memory space for large data structures
Definition at line 20 of file transfer.cpp.
|
inlinevirtual |
Virtual destructor.
Definition at line 74 of file transfer.hpp.
|
pure virtual |
Return an Operator that transfers GridFunctions from the range FE space back to GridFunctions in the domain FE space.
Implemented in mfem::InterpolationGridTransfer, and mfem::L2ProjectionGridTransfer.
|
pure virtual |
Return an Operator that transfers GridFunctions from the domain FE space to GridFunctions in the range FE space.
Implemented in mfem::InterpolationGridTransfer, and mfem::L2ProjectionGridTransfer.
|
protected |
Definition at line 35 of file transfer.cpp.
|
inlineprotected |
Definition at line 52 of file transfer.hpp.
|
inline |
Set memory type for large data structures
Definition at line 81 of file transfer.hpp.
|
inline |
Set the desired Operator::Type for the construction of all operators defined by the underlying transfer algorithm.
The default value is Operator::ANY_TYPE which typically corresponds to a matrix-free operator representation. Note that derived classes are not required to support this setting and can ignore it.
Definition at line 88 of file transfer.hpp.
|
inlinevirtual |
Reimplemented in mfem::L2ProjectionGridTransfer.
Definition at line 117 of file transfer.hpp.
|
inlinevirtual |
Return an Operator that transfers true-dof Vectors from the range FE space back to true-dof Vectors in the domain FE space.
This method is implemented in the base class, based on BackwardOperator(), however, derived classes can overload the construction, if necessary.
Definition at line 112 of file transfer.hpp.
|
inlinevirtual |
Return an Operator that transfers true-dof Vectors from the domain FE space to true-dof Vectors in the range FE space.
This method is implemented in the base class, based on ForwardOperator(), however, derived classes can overload the construction, if necessary.
Definition at line 102 of file transfer.hpp.
|
inline |
Uses device friendly element assembly versions for L2Projection transfers, L2, H1 FEM spaces currently supported
Definition at line 78 of file transfer.hpp.
|
protected |
Backward true-dof operator.
Definition at line 43 of file transfer.hpp.
|
protected |
Definition at line 47 of file transfer.hpp.
|
protected |
Domain FE space.
Definition at line 34 of file transfer.hpp.
|
protected |
Forward true-dof operator.
Definition at line 42 of file transfer.hpp.
|
protected |
Desired Operator::Type for the construction of all operators defined by the underlying transfer algorithm. It can be ignored by derived classes.
Definition at line 40 of file transfer.hpp.
|
protected |
Definition at line 50 of file transfer.hpp.
|
protected |
Range FE space.
Definition at line 35 of file transfer.hpp.
|
protected |
Definition at line 45 of file transfer.hpp.