dune-fem  2.4.1-rc
Public Types | Public Member Functions | Protected Member Functions | List of all members
Dune::Fem::IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize > Class Template Reference

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

Inheritance diagram for Dune::Fem::IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >:
Inheritance graph

Public Types

typedef RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double >::RestProlImp RestProlImp
 type of restrict-prolong operator implementation More...
 
typedef RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double >::DomainFieldType DomainFieldType
 field type of domain vector space More...
 

Public Member Functions

 IndexSetRestrictProlong (DofManagerType &dm, RestrictProlongIndexSetType &is, RestrictProlongIndexSetType &rm)
 
template<class EntityType >
void restrictLocal (const EntityType &father, const EntityType &son, bool initialize) const
 restrict data to father and resize memory if doResize is true More...
 
template<class EntityType >
void prolongLocal (const EntityType &father, const EntityType &son, bool initialize) const
 prolong data to children and resize memory if doResize is true More...
 
void setFatherChildWeight (const DomainFieldType &weight) const
 explicit set volume ratio of son and father More...
 
void restrictLocal (const Entity &father, const Entity &son, bool initialize) const
 restrict data to father More...
 
void restrictLocal (const Entity &father, const Entity &son, const LocalGeometry &geometryInFather, bool initialize) const
 restrict data to father More...
 
void prolongLocal (const Entity &father, const Entity &son, bool initialize) const
 prolong data to children More...
 
void prolongLocal (const Entity &father, const Entity &son, const LocalGeometry &geometryInFather, bool initialize) const
 prolong data to children More...
 
void addToList (Communicator &comm)
 add discrete function to communicator More...
 
void addToLoadBalancer (LoadBalancer &lb)
 add discrete function to load balancer More...
 

Protected Member Functions

DomainFieldType calcWeight (const Entity &father, const Entity &son) const
 calculates the weight, i.e. (volume son)/(volume father) More...
 
const RestProlImpasImp () const
 
RestProlImpasImp ()
 

Member Typedef Documentation

typedef RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > ::DomainFieldType Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::DomainFieldType
inherited

field type of domain vector space

typedef RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > ::RestProlImp Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::RestProlImp
inherited

type of restrict-prolong operator implementation

Constructor & Destructor Documentation

template<class DofManagerType, class RestrictProlongIndexSetType, bool doResize>
Dune::Fem::IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >::IndexSetRestrictProlong ( DofManagerType &  dm,
RestrictProlongIndexSetType &  is,
RestrictProlongIndexSetType &  rm 
)
inline

Member Function Documentation

void Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::addToList ( Communicator &  comm)
inlineinherited

add discrete function to communicator

Parameters
[in]commCommunicator to add the discrete functions to
void Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::addToLoadBalancer ( LoadBalancer lb)
inlineinherited

add discrete function to load balancer

Parameters
[in]lbLoadBalancer to add the discrete functions to
const RestProlImp& Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::asImp ( ) const
inlineprotectedinherited
RestProlImp& Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::asImp ( )
inlineprotectedinherited
DomainFieldType Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::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
void Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::prolongLocal ( const Entity &  father,
const Entity &  son,
bool  initialize 
) const
inlineinherited

prolong data to children

void Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::prolongLocal ( const Entity &  father,
const Entity &  son,
const LocalGeometry &  geometryInFather,
bool  initialize 
) const
inlineinherited

prolong data to children

template<class DofManagerType, class RestrictProlongIndexSetType, bool doResize>
template<class EntityType >
void Dune::Fem::IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >::prolongLocal ( const EntityType &  father,
const EntityType &  son,
bool  initialize 
) const
inline

prolong data to children and resize memory if doResize is true

Referenced by Dune::Fem::RestrictProlongWrapper< Grid, DofManager, RestrictProlongOperator >::prolongLocal().

void Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::restrictLocal ( const Entity &  father,
const Entity &  son,
bool  initialize 
) const
inlineinherited

restrict data to father

void Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::restrictLocal ( const Entity &  father,
const Entity &  son,
const LocalGeometry &  geometryInFather,
bool  initialize 
) const
inlineinherited

restrict data to father

template<class DofManagerType, class RestrictProlongIndexSetType, bool doResize>
template<class EntityType >
void Dune::Fem::IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >::restrictLocal ( const EntityType &  father,
const EntityType &  son,
bool  initialize 
) const
inline

restrict data to father and resize memory if doResize is true

Referenced by Dune::Fem::RestrictProlongWrapper< Grid, DofManager, RestrictProlongOperator >::restrictLocal().

void Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::setFatherChildWeight ( const DomainFieldType weight) const
inlineinherited

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: