dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | List of all members
Dune::Fem::IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize > Class Template Reference

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

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

Public Types

typedef Traits::RestProlImp RestProlImp
 type of restrict-prolong operator implementation More...
 
typedef Traits::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 restrictFinalize (const EntityType &father) const
 
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 initialize ()
 initialize restrict prolong object (if necessary) before adaptation takes place More...
 
void finalize ()
 finalize restrict prolong object (if necessary) after adaptation and dof compression was finished 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 restrictFinalize (const Entity &father) const
 finalize restriction on 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

◆ DomainFieldType

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

field type of domain vector space

◆ RestProlImp

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

type of restrict-prolong operator implementation

Member Function Documentation

◆ addToList()

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

◆ addToLoadBalancer()

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

◆ asImp() [1/2]

RestProlImp & Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::asImp ( )
inlineprotectedinherited

◆ asImp() [2/2]

const RestProlImp & Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::asImp ( ) const
inlineprotectedinherited

◆ calcWeight()

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

◆ finalize()

void Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::finalize ( )
inlineinherited

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

◆ initialize()

void Dune::Fem::RestrictProlongInterface< RestrictProlongTraits< IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >, double > >::initialize ( )
inlineinherited

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

◆ prolongLocal() [1/2]

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

◆ prolongLocal() [2/2]

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

◆ restrictFinalize()

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

finalize restriction on father

◆ restrictLocal() [1/2]

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

◆ restrictLocal() [2/2]

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

◆ setFatherChildWeight()

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: