AMDiS  2.10
The Adaptive Multi-Dimensional Simulation Toolbox
NodeDataTransfer< Node, Container, Basis > Class Template Reference

#include <InterpolationDataTransfer.inc.hpp>

Public Types

using NodeElementData = std::vector< T >
 

Public Member Functions

void preAdaptInit (LocalView const &lv, Container const &coeff, Node const &node)
 To be called once before cacheLocal/restrictLocal are called within the preAdapt step.
 
void cacheLocal (NodeElementData &dofs) const
 Cache data on the element bound to node_. More...
 
template<class Trafo >
bool restrictLocal (Element const &father, NodeElementData &fatherDOFs, Trafo const &trafo, NodeElementData const &childDOFs, bool init)
 Evaluate data on the child element bound to node_ and interpolate onto father entity using the coordinate transformation trafo from father to child. More...
 
void adaptInit (LocalView const &lv, Container &coeff, Node const &node)
 To be called once before copyLocal/prolongLocal are called within the adapt step.
 
void copyLocal (NodeElementData const &dofs) const
 Copy already existing data to element bound to node_.
 
template<class Trafo >
void prolongLocal (Element const &father, NodeElementData const &fatherDOFs, Trafo const &trafo, bool init)
 Interpolate data from father onto the child element bound to node_ using the transformation trafo from child to father. More...
 

Detailed Description

template<class Node, class Container, class Basis>
class AMDiS::NodeDataTransfer< Node, Container, Basis >

Element-local data transfer on a single leaf node of the basis tree Handles computations related to the finite element basis node

Member Function Documentation

◆ cacheLocal()

void cacheLocal ( NodeElementData &  dofs) const
inline

Cache data on the element bound to node_.

This functions is used whenever the element does not vanish and thus the data can trivially be transferred to the new element

◆ prolongLocal()

void prolongLocal ( Element const &  father,
NodeElementData const &  fatherDOFs,
Trafo const &  trafo,
bool  init 
)

Interpolate data from father onto the child element bound to node_ using the transformation trafo from child to father.

Stores the interpolated data from father to child in the container coeff_.

Parameters
fatherThe father element
fatherDOFsDOF values cached on the father element before adapt
trafoCoordinate transform from local coordinates in child to local coordinates in father element
initFather element is visited for the first time

Referenced by NodeDataTransfer< Node, Container, Basis >::restrictLocal().

◆ restrictLocal()

bool restrictLocal ( Element const &  father,
NodeElementData &  fatherDOFs,
Trafo const &  trafo,
NodeElementData const &  childDOFs,
bool  init 
)

Evaluate data on the child element bound to node_ and interpolate onto father entity using the coordinate transformation trafo from father to child.

Stores cached data in the NodeElementData argument. After grid adaption the data is copied by copyLocal or prolongLocal to the target element in the new grid.

Parameters
fatherThe father element to interpolate to
fatherDOFsContainer to store the interpolated DOFs
trafoCoordinate transform from local coordinates in father to local coordinates in child element
childDOFsDOF values from the child element
initThe father element is visited for the first time

References NodeDataTransfer< Node, Container, Basis >::prolongLocal().

Referenced by NodeDataTransfer< Node, Container, Basis >::copyLocal().


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