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

This class manages the adaptation process including a load balancing after the adaptation step. This class is created by the AdaptationManager for each grid instance. See AdaptationManager for details. More...

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

Inheritance diagram for Dune::Fem::AdaptationManager< GridType, RestProlOperatorImp >:
Inheritance graph

Public Types

typedef GridType::Traits::LocalIdSet LocalIdSet
 

Public Member Functions

 AdaptationManager (GridType &grid, RestProlOperatorImp &rpOp, int balanceCounter, const ParameterReader &parameter=Parameter::container())
 constructor of AdaptationManager The following optional parameters from the Dune::Parameter class are used

0 == none, 1 == generic, 2 == call back (only AlbertaGrid and ALUGrid)

fem.adaptation.method: 1 # default value More...
 
 AdaptationManager (GridType &grid, RestProlOperatorImp &rpOp, const ParameterReader &parameter=Parameter::container())
 
 ~AdaptationManager ()
 destructor decreasing reference counter More...
 
virtual bool loadBalance ()
 call load balance, returns true if grid was changed More...
 
virtual int balanceCounter () const
 return number of cycles since last application of load balance More...
 
virtual double loadBalanceTime () const
 time that last load balance cycle took More...
 
virtual void adapt ()
 on call of this method the internal adaptation operator is called. More...
 
RestProlOperatorImp & getRestProlOp ()
 
virtual double adaptationTime () const
 time that last adaptation cycle took More...
 
virtual const char * methodName () const
 returns name of adaptation method More...
 
virtual bool adaptive () const
 returns true if adaptation manager as adaptation method different to NONE More...
 
template<class DiscrOpType >
void saveObjPointer (DiscrOpType *discrOp)
 Store new generated DiscreteOperator Pointer. More...
 
template<class DiscrOpType , class LocalOpType >
void saveObjPointer (DiscrOpType *discrOp, LocalOpType *lop)
 
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

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

Static Protected Member Functions

static DofManagerTypegetDofManager (const GridType &grid)
 

Protected Attributes

GridType & grid_
 corresponding grid More...
 
DofManagerTypedm_
 DofManager corresponding to grid. More...
 
RestProlOperatorImp & rpOp_
 Restriction and Prolongation Operator. More...
 
double adaptTime_
 time that adaptation took More...
 
bool wasChanged_
 flag for restriction More...
 
AdaptationMethodType adaptationMethod_
 method identifier More...
 
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_
 

Detailed Description

template<class GridType, class RestProlOperatorImp>
class Dune::Fem::AdaptationManager< GridType, RestProlOperatorImp >

This class manages the adaptation process including a load balancing after the adaptation step. This class is created by the AdaptationManager for each grid instance. See AdaptationManager for details.

Member Typedef Documentation

template<class GridType , class RestProlOperatorImp >
typedef GridType :: Traits :: LocalIdSet Dune::Fem::AdaptationManagerBase< GridType, RestProlOperatorImp >::LocalIdSet
inherited

Constructor & Destructor Documentation

template<class GridType , class RestProlOperatorImp >
Dune::Fem::AdaptationManager< GridType, RestProlOperatorImp >::AdaptationManager ( GridType &  grid,
RestProlOperatorImp &  rpOp,
int  balanceCounter,
const ParameterReader parameter = Parameter::container() 
)
inline

constructor of AdaptationManager The following optional parameters from the Dune::Parameter class are used

0 == none, 1 == generic, 2 == call back (only AlbertaGrid and ALUGrid)

fem.adaptation.method: 1 # default value

Parameters
gridGrid that adaptation is done for
rpOprestriction and prlongation operator that describes how the user data is projected to other grid levels
balanceCounterstart counter for balance cycle (default = 0)
template<class GridType , class RestProlOperatorImp >
Dune::Fem::AdaptationManager< GridType, RestProlOperatorImp >::AdaptationManager ( GridType &  grid,
RestProlOperatorImp &  rpOp,
const ParameterReader parameter = Parameter::container() 
)
inline
template<class GridType , class RestProlOperatorImp >
Dune::Fem::AdaptationManager< GridType, RestProlOperatorImp >::~AdaptationManager ( )
inline

destructor decreasing reference counter

Member Function Documentation

template<class GridType , class RestProlOperatorImp >
virtual void Dune::Fem::AdaptationManager< GridType, RestProlOperatorImp >::adapt ( )
inlinevirtual
template<class GridType , class RestProlOperatorImp >
virtual double Dune::Fem::AdaptationManagerBase< GridType, RestProlOperatorImp >::adaptationTime ( ) const
inlinevirtualinherited

time that last adaptation cycle took

Reimplemented from Dune::Fem::AdaptationManagerInterface.

template<class GridType >
virtual bool Dune::Fem::AdaptationMethod< GridType >::adaptive ( ) const
inlinevirtualinherited

returns true if adaptation manager as adaptation method different to NONE

Returns
true if adaptation method is not NONE, false otherwise

Reimplemented from Dune::Fem::AdaptationManagerInterface.

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

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

add discrete function to data inliner/xtractor list

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

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
inlinevirtualinherited

backup internal data

Implements Dune::Fem::PersistentObject.

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

template<class GridType , class RestProlOperatorImp >
virtual int Dune::Fem::AdaptationManager< GridType, RestProlOperatorImp >::balanceCounter ( ) const
inlinevirtual

return number of cycles since last application of load balance

Returns
number of cycles since last application of load balance

Reimplemented from Dune::Fem::AdaptationManagerBase< GridType, RestProlOperatorImp >.

template<class GridType >
int Dune::Fem::LoadBalancer< GridType >::getBalanceStep ( int  balanceCounter,
const ParameterReader parameter = Parameter::container() 
) const
inlineprotectedinherited
template<class GridType , class RestProlOperatorImp >
static DofManagerType& Dune::Fem::AdaptationManagerBase< GridType, RestProlOperatorImp >::getDofManager ( const GridType &  grid)
inlinestaticprotectedinherited
template<class GridType , class RestProlOperatorImp >
RestProlOperatorImp& Dune::Fem::AdaptationManagerBase< GridType, RestProlOperatorImp >::getRestProlOp ( )
inlineinherited

no public method, but has to be public, because all AdaptationManagers must be able to call this method and the template parameters are allways different

virtual void Dune::Fem::PersistentObject::insertSubData ( )
inlineprotectedvirtualinherited
template<class GridType , class RestProlOperatorImp >
virtual bool Dune::Fem::AdaptationManager< GridType, RestProlOperatorImp >::loadBalance ( )
inlinevirtual

call load balance, returns true if grid was changed

Returns
true if grid was changed, false otherwise

Reimplemented from Dune::Fem::AdaptationManagerBase< GridType, RestProlOperatorImp >.

template<class GridType , class RestProlOperatorImp >
virtual double Dune::Fem::AdaptationManager< GridType, RestProlOperatorImp >::loadBalanceTime ( ) const
inlinevirtual

time that last load balance cycle took

Reimplemented from Dune::Fem::LoadBalancer< GridType >.

template<class GridType >
virtual const char* Dune::Fem::AdaptationMethod< GridType >::methodName ( ) const
inlinevirtualinherited

returns name of adaptation method

Returns
name of adaptation method

Reimplemented from Dune::Fem::AdaptationManagerInterface.

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

retore internal data

Implements Dune::Fem::PersistentObject.

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

template<class DiscrOpType >
void Dune::Fem::ObjPointerStorage::saveObjPointer ( DiscrOpType *  discrOp)
inlineinherited

Store new generated DiscreteOperator Pointer.

References Dune::Fem::ObjPointer< ObjType >::next.

template<class DiscrOpType , class LocalOpType >
void Dune::Fem::ObjPointerStorage::saveObjPointer ( DiscrOpType *  discrOp,
LocalOpType *  lop 
)
inlineinherited

Store new generated DiscreteOperator Pointer and the LocalOperator pointer

Member Data Documentation

template<class GridType >
AdaptationMethodType Dune::Fem::AdaptationMethod< GridType >::adaptationMethod_
protectedinherited

method identifier

template<class GridType , class RestProlOperatorImp >
double Dune::Fem::AdaptationManagerBase< GridType, RestProlOperatorImp >::adaptTime_
protectedinherited

time that adaptation took

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

DofManager corresponding to grid.

template<class GridType , class RestProlOperatorImp >
DofManagerType& Dune::Fem::AdaptationManagerBase< GridType, RestProlOperatorImp >::dm_
protectedinherited

DofManager corresponding to grid.

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

corresponding grid

template<class GridType , class RestProlOperatorImp >
GridType& Dune::Fem::AdaptationManagerBase< GridType, RestProlOperatorImp >::grid_
protectedinherited

corresponding grid

template<class GridType >
std::set< const IsDiscreteFunction * > Dune::Fem::LoadBalancer< GridType >::listOfFcts_
protectedinherited
template<class GridType >
std::vector< LocalDataCollectorPairType > Dune::Fem::LoadBalancer< GridType >::localList_
protectedinherited
template<class GridType , class RestProlOperatorImp >
RestProlOperatorImp& Dune::Fem::AdaptationManagerBase< GridType, RestProlOperatorImp >::rpOp_
protectedinherited

Restriction and Prolongation Operator.

template<class GridType , class RestProlOperatorImp >
bool Dune::Fem::AdaptationManagerBase< GridType, RestProlOperatorImp >::wasChanged_
mutableprotectedinherited

flag for restriction


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