MFEM
v4.3.0
Finite element discretization library

Transfer data in L2 and H1 finite element spaces between a coarse mesh and an embedded refined mesh using L2 projection. More...
#include <transfer.hpp>
Classes  
class  L2Projection 
class  L2ProjectionH1Space 
class  L2ProjectionL2Space 
class  L2Prolongation 
Public Member Functions  
L2ProjectionGridTransfer (FiniteElementSpace &coarse_fes_, FiniteElementSpace &fine_fes_, bool force_l2_space_=false)  
virtual  ~L2ProjectionGridTransfer () 
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...  
Protected Attributes  
L2Projection *  F 
Forward, coarsetofine, operator. More...  
L2Prolongation *  B 
Backward, finetocoarse, operator. More...  
bool  force_l2_space 
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 in L2 and H1 finite element spaces between a coarse mesh and an embedded refined mesh using L2 projection.
The forward, coarsetofine, transfer uses L2 projection. The backward, finetocoarse, transfer is defined as B = (F^t M_f F)^{1} F^t M_f, where F is the forward transfer matrix, and M_f is the mass matrix on the coarse element. For L2 spaces, M_f is the mass matrix on the union of all fine elements comprising the coarse element. For H1 spaces, M_f is a diagonal (lumped) mass matrix computed through rowsummation. 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 physical space and, generally for L2 spaces, vary between different mesh elements.
This class supports H1 and L2 finite element spaces. Fine meshes are a uniform refinement of the coarse mesh, usually created through Mesh::MakeRefined. Generally, the coarse and fine FE spaces can have different orders, however, in order for the backward operator to be welldefined, the number of fine dofs (in a coarse element) should not be smaller than the number of coarse dofs.
Definition at line 168 of file transfer.hpp.

inline 
Definition at line 338 of file transfer.hpp.

virtual 
Definition at line 865 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 877 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 871 of file transfer.cpp.

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

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

protected 
Definition at line 335 of file transfer.hpp.