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

This class manages the adaptation process. If the method adapt is called, then the grid is adapted and also all the data belonging to the given dof manager will be rearranged for data set where it is necessary to keep the data. More...

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

Inheritance diagram for Dune::Fem::LoadBalancer< GridType >:
Inheritance graph

Public Member Functions

virtual ~LoadBalancer ()
 destructor More...
 
int balanceCounter () const
 returns actual balanceCounter for checkpointing More...
 
bool loadBalance ()
 do load balance every balanceStep_ step More...
 
virtual double loadBalanceTime () const
 time that last load balance cycle took More...
 
void backup () const
 backup internal data More...
 
void restore ()
 retore internal data More...
 
template<class DiscreteFunctionType >
void addToLoadBalancer (DiscreteFunctionType &df)
 add discrete function to data inliner/xtractor list More...
 
template<class DiscreteFunctionType >
void addDiscreteFunction (DiscreteFunctionType &df)
 add discrete function to data inliner/xtractor list More...
 
template<class DiscreteFunctionType , class ContainsCheck >
void addDiscreteFunction (DiscreteFunctionType &df, const ContainsCheck &containsCheck)
 add discrete function to data inliner/xtractor list More...
 

Protected Member Functions

template<class RestrictProlongOperator >
 LoadBalancer (GridType &grid, RestrictProlongOperator &rpOp, int balanceCounter, const ParameterReader &parameter=Parameter::container())
 constructor of LoadBalancer The following optional parameter is used from the Parameter class:

BalanceStep, balancing is done every x-th step, 0 means no balancing

BalanceStep: 1 # (do balancing every step) More...
 
template<class RestrictProlongOperator >
 LoadBalancer (GridType &grid, RestrictProlongOperator &rpOp, const ParameterReader &parameter=Parameter::container())
 
 LoadBalancer (GridType &grid, int balanceCounter, const ParameterReader &parameter=Parameter::container())
 constructor of LoadBalancer The following optional parameter is used from the Parameter class:

BalanceStep, balancing is done every x-th step, 0 means no balancing

BalanceStep: 1 # (do balancing every step) More...
 
 LoadBalancer (GridType &grid, const ParameterReader &parameter=Parameter::container())
 
int getBalanceStep (int balanceCounter, const ParameterReader &parameter=Parameter::container()) const
 
virtual void insertSubData ()
 insert possible sub data of object More...
 
virtual void removeSubData ()
 remove possible sub data of object More...
 
virtual void * pointer ()
 

Protected Attributes

GridType & grid_
 corresponding grid More...
 
DofManagerTypedm_
 DofManager corresponding to grid. More...
 
const int balanceStep_
 
int balanceCounter_
 
std::vector< LocalDataCollectorPairType > localList_
 
std::vector< DataCollectorPairType > collList_
 
std::set< const IsDiscreteFunction * > listOfFcts_
 
double balanceTime_
 

Detailed Description

template<class GridType>
class Dune::Fem::LoadBalancer< GridType >

This class manages the adaptation process. If the method adapt is called, then the grid is adapted and also all the data belonging to the given dof manager will be rearranged for data set where it is necessary to keep the data.

Constructor & Destructor Documentation

template<class GridType >
template<class RestrictProlongOperator >
Dune::Fem::LoadBalancer< GridType >::LoadBalancer ( GridType &  grid,
RestrictProlongOperator &  rpOp,
int  balanceCounter,
const ParameterReader parameter = Parameter::container() 
)
inlineprotected

constructor of LoadBalancer The following optional parameter is used from the Parameter class:

BalanceStep, balancing is done every x-th step, 0 means no balancing

BalanceStep: 1 # (do balancing every step)

Parameters
gridGrid that load balancing is done for
rpOprestrict prolong tpye
balanceCounteractual counter, default is zero

References Dune::Fem::Parameter::verbose().

template<class GridType >
template<class RestrictProlongOperator >
Dune::Fem::LoadBalancer< GridType >::LoadBalancer ( GridType &  grid,
RestrictProlongOperator &  rpOp,
const ParameterReader parameter = Parameter::container() 
)
inlineprotected
template<class GridType >
Dune::Fem::LoadBalancer< GridType >::LoadBalancer ( GridType &  grid,
int  balanceCounter,
const ParameterReader parameter = Parameter::container() 
)
inlineexplicitprotected

constructor of LoadBalancer The following optional parameter is used from the Parameter class:

BalanceStep, balancing is done every x-th step, 0 means no balancing

BalanceStep: 1 # (do balancing every step)

Parameters
gridGrid that load balancing is done for BalanceStep: 1 # (do balancing every step)
balanceCounteractual counter, default is zero

References Dune::Fem::Parameter::verbose().

template<class GridType >
Dune::Fem::LoadBalancer< GridType >::LoadBalancer ( GridType &  grid,
const ParameterReader parameter = Parameter::container() 
)
inlineexplicitprotected
template<class GridType >
virtual Dune::Fem::LoadBalancer< GridType >::~LoadBalancer ( )
inlinevirtual

destructor

Member Function Documentation

template<class GridType >
template<class DiscreteFunctionType >
void Dune::Fem::LoadBalancer< GridType >::addDiscreteFunction ( DiscreteFunctionType &  df)
inline

add discrete function to data inliner/xtractor list

template<class GridType >
template<class DiscreteFunctionType , class ContainsCheck >
void Dune::Fem::LoadBalancer< GridType >::addDiscreteFunction ( DiscreteFunctionType &  df,
const ContainsCheck &  containsCheck 
)
inline

add discrete function to data inliner/xtractor list

template<class GridType >
template<class DiscreteFunctionType >
void Dune::Fem::LoadBalancer< GridType >::addToLoadBalancer ( DiscreteFunctionType &  df)
inline

add discrete function to data inliner/xtractor list

Referenced by Dune::Fem::RestrictProlongDefault< DiscreteFunction >::addToLoadBalancer().

template<class GridType >
void Dune::Fem::LoadBalancer< GridType >::backup ( ) const
inlinevirtual

backup internal data

Implements Dune::Fem::PersistentObject.

References Dune::Fem::PersistenceManager::backupValue().

template<class GridType >
int Dune::Fem::LoadBalancer< GridType >::balanceCounter ( ) const
inlinevirtual

returns actual balanceCounter for checkpointing

Implements Dune::Fem::LoadBalancerInterface.

template<class GridType >
int Dune::Fem::LoadBalancer< GridType >::getBalanceStep ( int  balanceCounter,
const ParameterReader parameter = Parameter::container() 
) const
inlineprotected
virtual void Dune::Fem::PersistentObject::insertSubData ( )
inlineprotectedvirtualinherited
template<class GridType >
bool Dune::Fem::LoadBalancer< GridType >::loadBalance ( )
inlinevirtual

do load balance every balanceStep_ step

Implements Dune::Fem::LoadBalancerInterface.

References Dune::Fem::ThreadManager::singleThreadMode().

template<class GridType >
virtual double Dune::Fem::LoadBalancer< GridType >::loadBalanceTime ( ) const
inlinevirtual

time that last load balance cycle took

Reimplemented from Dune::Fem::LoadBalancerInterface.

Reimplemented in Dune::Fem::AdaptationManager< GridType, RestProlOperatorImp >.

virtual void* Dune::Fem::PersistentObject::pointer ( )
inlineprotectedvirtualinherited
virtual void Dune::Fem::PersistentObject::removeSubData ( )
inlineprotectedvirtualinherited
template<class GridType >
void Dune::Fem::LoadBalancer< GridType >::restore ( )
inlinevirtual

retore internal data

Implements Dune::Fem::PersistentObject.

References Dune::Fem::PersistenceManager::restoreValue().

Member Data Documentation

template<class GridType >
int Dune::Fem::LoadBalancer< GridType >::balanceCounter_
protected
template<class GridType >
const int Dune::Fem::LoadBalancer< GridType >::balanceStep_
protected
template<class GridType >
double Dune::Fem::LoadBalancer< GridType >::balanceTime_
protected
template<class GridType >
std::vector< DataCollectorPairType > Dune::Fem::LoadBalancer< GridType >::collList_
protected
template<class GridType >
DofManagerType& Dune::Fem::LoadBalancer< GridType >::dm_
protected

DofManager corresponding to grid.

template<class GridType >
GridType& Dune::Fem::LoadBalancer< GridType >::grid_
protected

corresponding grid

template<class GridType >
std::set< const IsDiscreteFunction * > Dune::Fem::LoadBalancer< GridType >::listOfFcts_
protected
template<class GridType >
std::vector< LocalDataCollectorPairType > Dune::Fem::LoadBalancer< GridType >::localList_
protected

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