DUNE-FEM (unstable)

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>

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 More...
 
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 More...
 
template<class LoadBalancer >
void addToLoadBalancer (LoadBalancer &lb)
 add discrete function to load balancer More...
 

Protected Member Functions

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

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 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

References CHECK_AND_CALL_INTERFACE_IMPLEMENTATION.

◆ 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

References CHECK_AND_CALL_INTERFACE_IMPLEMENTATION.

◆ 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

References Dune::Entity< cd, dim, GridImp, EntityImp >::geometry().

◆ 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.

References CHECK_AND_CALL_INTERFACE_IMPLEMENTATION.


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 2, 22:35, 2024)