dune-fem  2.4.1-rc
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::RestrictProlongDefault< DiscreteFunction > Class Template Reference

This is a wrapper for the default implemented restriction/prolongation operator, which only takes a discrete function template. More...

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/space/common/restrictprolonginterface.hh>

Inheritance diagram for Dune::Fem::RestrictProlongDefault< DiscreteFunction >:
Inheritance graph

Public Types

typedef DiscreteFunction DiscreteFunctionType
 
typedef BaseType::DomainFieldType DomainFieldType
 
typedef DiscreteFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
 
typedef DiscreteFunctionType::LocalFunctionType LocalFunctionType
 
typedef DiscreteFunctionType::GridPartType GridPartType
 
typedef DefaultLocalRestrictProlong< DiscreteFunctionSpaceTypeLocalRestrictProlongType
 
typedef RestrictProlongTraits< RestrictProlongDefault< DiscreteFunction >, DiscreteFunction::DomainFieldType >::RestProlImp RestProlImp
 type of restrict-prolong operator implementation More...
 

Public Member Functions

 RestrictProlongDefault (DiscreteFunctionType &discreteFunction)
 
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 More...
 
template<class Entity , class LocalGeometry >
void restrictLocal (const Entity &father, const Entity &son, const LocalGeometry &geometryInFather, bool initialize) const
 restrict data to father More...
 
template<class Entity >
void prolongLocal (const Entity &father, const Entity &son, bool initialize) const
 prolong data to children More...
 
template<class Entity , class LocalGeometry >
void prolongLocal (const Entity &father, const Entity &son, const LocalGeometry &geometryInFather, bool initialize) const
 prolong data to children More...
 
template<class Communicator >
void addToList (Communicator &comm)
 add discrete function to communicator More...
 
template<class Communicator >
void removeFromList (Communicator &comm)
 remove discrete function from communicator More...
 
template<class LoadBalancer >
void addToLoadBalancer (LoadBalancer &lb)
 add discrete function to load balancer More...
 
void setFatherChildWeight (const DomainFieldType &weight) const
 

Protected Member Functions

bool entitiesAreCopies (const IndexSet &indexSet, const Entity &father, const Entity &son) const
 return true if father and son have the same index More...
 
DomainFieldType calcWeight (const Entity &father, const Entity &son) const
 calculates the weight, i.e. (volume son)/(volume father) More...
 
const RestProlImpasImp () const
 
RestProlImpasImp ()
 

Protected Attributes

DiscreteFunctionTypediscreteFunction_
 
LocalFunctionType constLf_
 
LocalRestrictProlongType localRP_
 

Detailed Description

template<class DiscreteFunction>
class Dune::Fem::RestrictProlongDefault< DiscreteFunction >

This is a wrapper for the default implemented restriction/prolongation operator, which only takes a discrete function template.

Member Typedef Documentation

template<class DiscreteFunction >
typedef DiscreteFunctionType::DiscreteFunctionSpaceType Dune::Fem::RestrictProlongDefault< DiscreteFunction >::DiscreteFunctionSpaceType
template<class DiscreteFunction >
typedef DiscreteFunction Dune::Fem::RestrictProlongDefault< DiscreteFunction >::DiscreteFunctionType
template<class DiscreteFunction >
typedef BaseType::DomainFieldType Dune::Fem::RestrictProlongDefault< DiscreteFunction >::DomainFieldType
template<class DiscreteFunction >
typedef DiscreteFunctionType::GridPartType Dune::Fem::RestrictProlongDefault< DiscreteFunction >::GridPartType
template<class DiscreteFunction >
typedef DiscreteFunctionType::LocalFunctionType Dune::Fem::RestrictProlongDefault< DiscreteFunction >::LocalFunctionType
typedef RestrictProlongTraits< RestrictProlongDefault< DiscreteFunction >, DiscreteFunction::DomainFieldType > ::RestProlImp Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< RestrictProlongDefault< DiscreteFunction >, DiscreteFunction::DomainFieldType > >::RestProlImp
inherited

type of restrict-prolong operator implementation

Constructor & Destructor Documentation

template<class DiscreteFunction >
Dune::Fem::RestrictProlongDefault< DiscreteFunction >::RestrictProlongDefault ( DiscreteFunctionType discreteFunction)
inlineexplicit

Member Function Documentation

template<class DiscreteFunction >
template<class Communicator >
void Dune::Fem::RestrictProlongDefault< DiscreteFunction >::addToList ( Communicator &  comm)
inline

add discrete function to communicator

template<class DiscreteFunction >
template<class LoadBalancer >
void Dune::Fem::RestrictProlongDefault< DiscreteFunction >::addToLoadBalancer ( LoadBalancer lb)
inline

add discrete function to load balancer

References Dune::Fem::LoadBalancer< GridType >::addToLoadBalancer().

const RestProlImp& Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< RestrictProlongDefault< DiscreteFunction >, DiscreteFunction::DomainFieldType > >::asImp ( ) const
inlineprotectedinherited
RestProlImp& Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< RestrictProlongDefault< DiscreteFunction >, DiscreteFunction::DomainFieldType > >::asImp ( )
inlineprotectedinherited
DomainFieldType Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< RestrictProlongDefault< DiscreteFunction >, DiscreteFunction::DomainFieldType > >::calcWeight ( const Entity &  father,
const Entity &  son 
) const
inlineprotectedinherited

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

Parameters
[in]fatherFather Entity
[in]sonSon Entity
Returns
proportion between fahter and son volume
bool Dune::Fem::RestrictProlongInterfaceDefault< RestrictProlongTraits< RestrictProlongDefault< DiscreteFunction >, DiscreteFunction::DomainFieldType > >::entitiesAreCopies ( const IndexSet indexSet,
const Entity &  father,
const Entity &  son 
) const
inlineprotectedinherited

return true if father and son have the same index

References Dune::Fem::IndexSet< Traits >::index().

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

prolong data to children

template<class DiscreteFunction >
template<class Communicator >
void Dune::Fem::RestrictProlongDefault< DiscreteFunction >::removeFromList ( Communicator &  comm)
inline

remove discrete function from communicator

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

restrict data to father

void Dune::Fem::RestrictProlongInterfaceDefault< RestrictProlongTraits< RestrictProlongDefault< DiscreteFunction >, DiscreteFunction::DomainFieldType > >::setFatherChildWeight ( const DomainFieldType weight) const
inlineinherited

template<class DiscreteFunction >
void Dune::Fem::RestrictProlongDefault< DiscreteFunction >::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.

Member Data Documentation

template<class DiscreteFunction >
LocalFunctionType Dune::Fem::RestrictProlongDefault< DiscreteFunction >::constLf_
mutableprotected
template<class DiscreteFunction >
DiscreteFunctionType& Dune::Fem::RestrictProlongDefault< DiscreteFunction >::discreteFunction_
protected
template<class DiscreteFunction >
LocalRestrictProlongType Dune::Fem::RestrictProlongDefault< DiscreteFunction >::localRP_
mutableprotected

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