MFEM v4.8.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::GridTransfer Class Referenceabstract

Base class for transfer algorithms that construct transfer Operators between two finite element (FE) spaces. More...

#include <transfer.hpp>

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

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 OperatorForwardOperator ()=0
 Return an Operator that transfers GridFunctions from the domain FE space to GridFunctions in the range FE space.
 
virtual const OperatorBackwardOperator ()=0
 Return an Operator that transfers GridFunctions from the range FE space back to GridFunctions in the domain FE space.
 
virtual const OperatorTrueForwardOperator ()
 Return an Operator that transfers true-dof Vectors from the domain FE space to true-dof Vectors in the range FE space.
 
virtual const OperatorTrueBackwardOperator ()
 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 OperatorMakeTrueOperator (FiniteElementSpace &fes_in, FiniteElementSpace &fes_out, const Operator &oper, OperatorHandle &t_oper)
 

Protected Attributes

FiniteElementSpacedom_fes
 Domain FE space.
 
FiniteElementSpaceran_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
 

Detailed Description

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 29 of file transfer.hpp.

Constructor & Destructor Documentation

◆ GridTransfer()

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.

◆ ~GridTransfer()

virtual mfem::GridTransfer::~GridTransfer ( )
inlinevirtual

Virtual destructor.

Definition at line 72 of file transfer.hpp.

Member Function Documentation

◆ BackwardOperator()

virtual const Operator & mfem::GridTransfer::BackwardOperator ( )
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.

◆ ForwardOperator()

virtual const Operator & mfem::GridTransfer::ForwardOperator ( )
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.

◆ MakeTrueOperator()

const Operator & mfem::GridTransfer::MakeTrueOperator ( FiniteElementSpace & fes_in,
FiniteElementSpace & fes_out,
const Operator & oper,
OperatorHandle & t_oper )
protected

Definition at line 35 of file transfer.cpp.

◆ Parallel()

bool mfem::GridTransfer::Parallel ( ) const
inlineprotected

Definition at line 50 of file transfer.hpp.

◆ SetMemType()

void mfem::GridTransfer::SetMemType ( MemoryType d_mt_)
inline

Set memory type for large data structures

Definition at line 79 of file transfer.hpp.

◆ SetOperatorType()

void mfem::GridTransfer::SetOperatorType ( Operator::Type type)
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 86 of file transfer.hpp.

◆ SupportsBackwardsOperator()

virtual bool mfem::GridTransfer::SupportsBackwardsOperator ( ) const
inlinevirtual

Reimplemented in mfem::L2ProjectionGridTransfer.

Definition at line 115 of file transfer.hpp.

◆ TrueBackwardOperator()

virtual const Operator & mfem::GridTransfer::TrueBackwardOperator ( )
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 110 of file transfer.hpp.

◆ TrueForwardOperator()

virtual const Operator & mfem::GridTransfer::TrueForwardOperator ( )
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 100 of file transfer.hpp.

◆ UseEA()

void mfem::GridTransfer::UseEA ( bool use_ea_)
inline

Uses device friendly element assembly versions for L2Projection transfers, L2, H1 FEM spaces currently supported

Definition at line 76 of file transfer.hpp.

Member Data Documentation

◆ bw_t_oper

OperatorHandle mfem::GridTransfer::bw_t_oper
protected

Backward true-dof operator.

Definition at line 41 of file transfer.hpp.

◆ d_mt

MemoryType mfem::GridTransfer::d_mt
protected

Definition at line 45 of file transfer.hpp.

◆ dom_fes

FiniteElementSpace& mfem::GridTransfer::dom_fes
protected

Domain FE space.

Definition at line 32 of file transfer.hpp.

◆ fw_t_oper

OperatorHandle mfem::GridTransfer::fw_t_oper
protected

Forward true-dof operator.

Definition at line 40 of file transfer.hpp.

◆ oper_type

Operator::Type mfem::GridTransfer::oper_type
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 38 of file transfer.hpp.

◆ parallel

bool mfem::GridTransfer::parallel
protected

Definition at line 48 of file transfer.hpp.

◆ ran_fes

FiniteElementSpace& mfem::GridTransfer::ran_fes
protected

Range FE space.

Definition at line 33 of file transfer.hpp.

◆ use_ea

bool mfem::GridTransfer::use_ea
protected

Definition at line 43 of file transfer.hpp.


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