dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | List of all members
Dune::Fem::RestrictProlongInterface< Traits > Class Template Reference

Interface class defining the local behaviour of the restrict/prolong operation (using BN) More...

#include <dune/fem/space/common/restrictprolonginterface.hh>

Inheritance diagram for Dune::Fem::RestrictProlongInterface< Traits >:
Inheritance graph

Public Types

typedef Traits::RestProlImp RestProlImp
 type of restrict-prolong operator implementation
 
typedef Traits::DomainFieldType DomainFieldType
 field type of domain vector space
 

Public Member Functions

void initialize ()
 initialize restrict prolong object (if necessary) before adaptation takes place
 
void finalize ()
 finalize restrict prolong object (if necessary) after adaptation and dof compression was finished
 
void setFatherChildWeight (const DomainFieldType &weight) const
 explicit set volume ratio of son and father
 
template<class Entity >
void restrictLocal (const Entity &father, const Entity &son, bool initialize) const
 restrict data to father
 
template<class Entity , class LocalGeometry >
void restrictLocal (const Entity &father, const Entity &son, const LocalGeometry &geometryInFather, bool initialize) const
 restrict data to father
 
template<class Entity >
void restrictFinalize (const Entity &father) const
 finalize restriction on father
 
template<class Entity >
void prolongLocal (const Entity &father, const Entity &son, bool initialize) const
 prolong data to children
 
template<class Entity , class LocalGeometry >
void prolongLocal (const Entity &father, const Entity &son, const LocalGeometry &geometryInFather, bool initialize) const
 prolong data to children
 
template<class Communicator >
void addToList (Communicator &comm)
 add discrete function to communicator
 
template<class LoadBalancer >
void addToLoadBalancer (LoadBalancer &lb)
 add discrete function to load balancer
 

Protected Member Functions

template<class Entity >
DomainFieldType calcWeight (const Entity &father, const Entity &son) const
 calculates the weight, i.e. (volume son)/(volume father)
 
const RestProlImpasImp () const
 
RestProlImpasImp ()
 

Detailed Description

template<class Traits>
class Dune::Fem::RestrictProlongInterface< Traits >

Interface class defining the local behaviour of the restrict/prolong operation (using BN)

An interface class:

Member Typedef Documentation

◆ DomainFieldType

template<class Traits >
typedef Traits::DomainFieldType Dune::Fem::RestrictProlongInterface< Traits >::DomainFieldType

field type of domain vector space

◆ RestProlImp

template<class Traits >
typedef Traits::RestProlImp Dune::Fem::RestrictProlongInterface< Traits >::RestProlImp

type of restrict-prolong operator implementation

Member Function Documentation

◆ addToList()

template<class Traits >
template<class Communicator >
void Dune::Fem::RestrictProlongInterface< Traits >::addToList ( Communicator &  comm)
inline

add discrete function to communicator

Parameters
[in]commCommunicator to add the discrete functions to

◆ addToLoadBalancer()

template<class Traits >
template<class LoadBalancer >
void Dune::Fem::RestrictProlongInterface< Traits >::addToLoadBalancer ( LoadBalancer lb)
inline

add discrete function to load balancer

Parameters
[in]lbLoadBalancer to add the discrete functions to

◆ asImp() [1/2]

template<class Traits >
RestProlImp & Dune::Fem::RestrictProlongInterface< Traits >::asImp ( )
inlineprotected

◆ asImp() [2/2]

template<class Traits >
const RestProlImp & Dune::Fem::RestrictProlongInterface< Traits >::asImp ( ) const
inlineprotected

◆ calcWeight()

template<class Traits >
template<class Entity >
DomainFieldType Dune::Fem::RestrictProlongInterface< Traits >::calcWeight ( const Entity &  father,
const Entity &  son 
) const
inlineprotected

calculates the weight, i.e. (volume son)/(volume father)

Parameters
[in]fatherFather Entity
[in]sonSon Entity
Returns
proportion between fahter and son volume

◆ finalize()

template<class Traits >
void Dune::Fem::RestrictProlongInterface< Traits >::finalize ( )
inline

finalize restrict prolong object (if necessary) after adaptation and dof compression was finished

◆ initialize()

template<class Traits >
void Dune::Fem::RestrictProlongInterface< Traits >::initialize ( )
inline

initialize restrict prolong object (if necessary) before adaptation takes place

◆ prolongLocal() [1/2]

template<class Traits >
template<class Entity >
void Dune::Fem::RestrictProlongInterface< Traits >::prolongLocal ( const Entity &  father,
const Entity &  son,
bool  initialize 
) const
inline

prolong data to children

◆ prolongLocal() [2/2]

template<class Traits >
template<class Entity , class LocalGeometry >
void Dune::Fem::RestrictProlongInterface< Traits >::prolongLocal ( const Entity &  father,
const Entity &  son,
const LocalGeometry &  geometryInFather,
bool  initialize 
) const
inline

prolong data to children

◆ restrictFinalize()

template<class Traits >
template<class Entity >
void Dune::Fem::RestrictProlongInterface< Traits >::restrictFinalize ( const Entity &  father) const
inline

finalize restriction on father

◆ restrictLocal() [1/2]

template<class Traits >
template<class Entity >
void Dune::Fem::RestrictProlongInterface< Traits >::restrictLocal ( const Entity &  father,
const Entity &  son,
bool  initialize 
) const
inline

restrict data to father

◆ restrictLocal() [2/2]

template<class Traits >
template<class Entity , class LocalGeometry >
void Dune::Fem::RestrictProlongInterface< Traits >::restrictLocal ( const Entity &  father,
const Entity &  son,
const LocalGeometry &  geometryInFather,
bool  initialize 
) const
inline

restrict data to father

◆ setFatherChildWeight()

template<class Traits >
void Dune::Fem::RestrictProlongInterface< Traits >::setFatherChildWeight ( const DomainFieldType weight) const
inline

explicit set volume ratio of son and father

Parameters
[in]weightvolume of son / volume of father
Note
If this ratio is set, it is assume to be constant.

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