KASKADE 7 development version
Public Types | Public Member Functions | Public Attributes | List of all members
Kaskade::LocalTransfer< Space, CoarseningPolicy > Class Template Reference

Class that stores for a cell ("this entity" or "father") a local projection matrix. More...

#include <fetransfer.hh>

Detailed Description

template<class Space, class CoarseningPolicy = AdaptationCoarseningPolicy>
class Kaskade::LocalTransfer< Space, CoarseningPolicy >

Class that stores for a cell ("this entity" or "father") a local projection matrix.

That is, in LocalToGlobalMapperConcept terminology, the matrix

\[ R = \Phi^+ \Psi^{-1} D^{-1} \sum_{\textrm{leaf children } c} \Psi_c \Phi_c K_c. \]

Here, \( D \) is a diagonal matrix with \( D_{ii} \) equal to the number of leaf child cells contributing to interpolation node \( i \).

Note that this matrix maps global degrees of freedom (i.e. global ansatz function coefficients) to local shape function coefficients on the father cell.

If this is a leaf cell, this reduces to \( R = K \).

Template Parameters
Spacea finite element space
CoarseningPolicyDOCME

Definition at line 321 of file fetransfer.hh.

Public Types

typedef Space::Grid Grid
 
typedef Space::IndexSet IndexSet
 
typedef Space::Scalar Scalar
 
typedef Grid::GlobalIdSet::IdType Id
 
typedef Dune::FieldVector< Scalar, Space::sfComponents > SfValue
 
using Cell = Kaskade::Cell< Grid >
 
typedef DynamicMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > LocalTransferMatrix
 

Public Member Functions

 LocalTransfer ()=default
 default constructor leaves the object in a valid but undefined state. More...
 
 LocalTransfer (LocalTransfer &&other)
 move constructor More...
 
LocalTransfer< Space, CoarseningPolicy > & operator= (LocalTransfer &&other)
 move assignment More...
 
 LocalTransfer (LocalTransfer const &other)=default
 copy constructor More...
 
 LocalTransfer (Space const &space, Cell father, CoarseningPolicy const &relevancePolicy=CoarseningPolicy())
 constructor More...
 

Public Attributes

std::vector< size_t > globalIndices
 
LocalTransferMatrix restrictionMatrix
 
ShapeFunctionSet const * shapeFunctionSet
 

Member Typedef Documentation

◆ Cell

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
using Kaskade::LocalTransfer< Space, CoarseningPolicy >::Cell = Kaskade::Cell<Grid>

Definition at line 329 of file fetransfer.hh.

◆ Grid

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
typedef Space::Grid Kaskade::LocalTransfer< Space, CoarseningPolicy >::Grid

Definition at line 324 of file fetransfer.hh.

◆ Id

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
typedef Grid::GlobalIdSet::IdType Kaskade::LocalTransfer< Space, CoarseningPolicy >::Id

Definition at line 327 of file fetransfer.hh.

◆ IndexSet

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
typedef Space::IndexSet Kaskade::LocalTransfer< Space, CoarseningPolicy >::IndexSet

Definition at line 325 of file fetransfer.hh.

◆ LocalTransferMatrix

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
typedef DynamicMatrix<Dune::FieldMatrix<Scalar,1,1> > Kaskade::LocalTransfer< Space, CoarseningPolicy >::LocalTransferMatrix

Definition at line 331 of file fetransfer.hh.

◆ Scalar

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
typedef Space::Scalar Kaskade::LocalTransfer< Space, CoarseningPolicy >::Scalar

Definition at line 326 of file fetransfer.hh.

◆ SfValue

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
typedef Dune::FieldVector<Scalar,Space::sfComponents> Kaskade::LocalTransfer< Space, CoarseningPolicy >::SfValue

Definition at line 328 of file fetransfer.hh.

Constructor & Destructor Documentation

◆ LocalTransfer() [1/4]

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
Kaskade::LocalTransfer< Space, CoarseningPolicy >::LocalTransfer ( )
default

default constructor leaves the object in a valid but undefined state.

A default constructed object must be moved to or assigned to.

◆ LocalTransfer() [2/4]

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
Kaskade::LocalTransfer< Space, CoarseningPolicy >::LocalTransfer ( LocalTransfer< Space, CoarseningPolicy > &&  other)
inline

move constructor

Definition at line 348 of file fetransfer.hh.

◆ LocalTransfer() [3/4]

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
Kaskade::LocalTransfer< Space, CoarseningPolicy >::LocalTransfer ( LocalTransfer< Space, CoarseningPolicy > const &  other)
default

copy constructor

◆ LocalTransfer() [4/4]

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
Kaskade::LocalTransfer< Space, CoarseningPolicy >::LocalTransfer ( Space const &  space,
Cell  father,
CoarseningPolicy const &  relevancePolicy = CoarseningPolicy() 
)
inline

constructor

Parameters
Spacea finite element space
relevancePolicydetermines from which children the projection to a father cell shall be done

Definition at line 377 of file fetransfer.hh.

Member Function Documentation

◆ operator=()

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
LocalTransfer< Space, CoarseningPolicy > & Kaskade::LocalTransfer< Space, CoarseningPolicy >::operator= ( LocalTransfer< Space, CoarseningPolicy > &&  other)
inline

move assignment

Definition at line 358 of file fetransfer.hh.

Member Data Documentation

◆ globalIndices

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
std::vector<size_t> Kaskade::LocalTransfer< Space, CoarseningPolicy >::globalIndices

◆ restrictionMatrix

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
LocalTransferMatrix Kaskade::LocalTransfer< Space, CoarseningPolicy >::restrictionMatrix

◆ shapeFunctionSet

template<class Space , class CoarseningPolicy = AdaptationCoarseningPolicy>
ShapeFunctionSet const* Kaskade::LocalTransfer< Space, CoarseningPolicy >::shapeFunctionSet

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