MFEM
v4.6.0
Finite element discretization library

Transfer data between a coarse mesh and an embedded refined mesh using interpolation. More...
#include <transfer.hpp>
Public Member Functions  
InterpolationGridTransfer (FiniteElementSpace &coarse_fes, FiniteElementSpace &fine_fes)  
virtual  ~InterpolationGridTransfer () 
void  SetMassIntegrator (BilinearFormIntegrator *mass_integ_, bool own_mass_integ_=true) 
Assign a mass integrator to be used in the construction of the backward, finetocoarse, transfer operator. More...  
virtual const Operator &  ForwardOperator () 
Return an Operator that transfers GridFunctions from the domain FE space to GridFunctions in the range FE space. More...  
virtual const Operator &  BackwardOperator () 
Return an Operator that transfers GridFunctions from the range FE space back to GridFunctions in the domain FE space. More...  
Public Member Functions inherited from mfem::GridTransfer  
GridTransfer (FiniteElementSpace &dom_fes_, FiniteElementSpace &ran_fes_)  
virtual  ~GridTransfer () 
Virtual destructor. More...  
void  SetOperatorType (Operator::Type type) 
Set the desired Operator::Type for the construction of all operators defined by the underlying transfer algorithm. More...  
virtual const Operator &  TrueForwardOperator () 
Return an Operator that transfers truedof Vectors from the domain FE space to truedof Vectors in the range FE space. More...  
virtual const Operator &  TrueBackwardOperator () 
Return an Operator that transfers truedof Vectors from the range FE space back to truedof Vectors in the domain FE space. More...  
virtual bool  SupportsBackwardsOperator () const 
Protected Attributes  
BilinearFormIntegrator *  mass_integ 
Ownership depends on own_mass_integ. More...  
bool  own_mass_integ 
Ownership flag for mass_integ. More...  
OperatorHandle  F 
Forward, coarsetofine, operator. More...  
OperatorHandle  B 
Backward, finetocoarse, operator. More...  
Protected Attributes inherited from mfem::GridTransfer  
FiniteElementSpace &  dom_fes 
Domain FE space. More...  
FiniteElementSpace &  ran_fes 
Range FE space. More...  
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. More...  
OperatorHandle  fw_t_oper 
Forward truedof operator. More...  
OperatorHandle  bw_t_oper 
Backward truedof operator. More...  
bool  parallel 
Additional Inherited Members  
Protected Member Functions inherited from mfem::GridTransfer  
bool  Parallel () const 
const Operator &  MakeTrueOperator (FiniteElementSpace &fes_in, FiniteElementSpace &fes_out, const Operator &oper, OperatorHandle &t_oper) 
Transfer data between a coarse mesh and an embedded refined mesh using interpolation.
The forward, coarsetofine, transfer uses nodal interpolation. The backward, finetocoarse, transfer is defined locally (on a coarse element) as B = (F^t M_f F)^{1} F^t M_f, where F is the forward transfer matrix, and M_f is a mass matrix on the union of all fine elements comprising the coarse element. Note that the backward transfer operator, B, is a left inverse of the forward transfer operator, F, i.e. B F = I. Both F and B are defined in reference space and do not depend on the actual physical shape of the mesh elements.
It is assumed that both the coarse and the fine FiniteElementSpaces use compatible types of elements, e.g. finite elements with the same maptype (VALUE, INTEGRAL, H_DIV, H_CURL  see class FiniteElement). Generally, the FE spaces can have different orders, however, in order for the backward operator to be welldefined, the (local) number of the fine dofs should not be smaller than the number of coarse dofs.
Definition at line 123 of file transfer.hpp.

inline 
Definition at line 133 of file transfer.hpp.

virtual 
Definition at line 141 of file transfer.cpp.

virtual 
Return an Operator that transfers GridFunctions from the range FE space back to GridFunctions in the domain FE space.
Implements mfem::GridTransfer.
Definition at line 189 of file transfer.cpp.

virtual 
Return an Operator that transfers GridFunctions from the domain FE space to GridFunctions in the range FE space.
Implements mfem::GridTransfer.
Definition at line 155 of file transfer.cpp.
void mfem::InterpolationGridTransfer::SetMassIntegrator  (  BilinearFormIntegrator *  mass_integ_, 
bool  own_mass_integ_ = true 

) 
Assign a mass integrator to be used in the construction of the backward, finetocoarse, transfer operator.
Definition at line 146 of file transfer.cpp.

protected 
Backward, finetocoarse, operator.
Definition at line 130 of file transfer.hpp.

protected 
Forward, coarsetofine, operator.
Definition at line 129 of file transfer.hpp.

protected 
Ownership depends on own_mass_integ.
Definition at line 126 of file transfer.hpp.

protected 
Ownership flag for mass_integ.
Definition at line 127 of file transfer.hpp.