$treeview $search $mathjax
Palabos  Version 1.1
$projectbrief
$projectbrief
$searchbox

plb::MultiGridLattice3D< T, Descriptor > Class Template Reference

#include <multiGridLattice3D.h>

Inheritance diagram for plb::MultiGridLattice3D< T, Descriptor >:
Collaboration diagram for plb::MultiGridLattice3D< T, Descriptor >:

List of all members.

Public Member Functions

 MultiGridLattice3D (MultiGridManagement3D management, std::vector< BlockCommunicator3D * > communicators_, std::vector< CombinedStatistics * > combinedStatistics_, Dynamics< T, Descriptor > *backgroundDynamics, plint behaviorLevel=0)
 MultiGridLattice3D (MultiGridManagement3D management, Dynamics< T, Descriptor > *backgroundDynamics, plint behaviorLevel=0)
 MultiGridLattice3D (MultiGridLattice3D< T, Descriptor > const &rhs)
 Copy constructor for the whole multi grid.
 MultiGridLattice3D (MultiGridLattice3D< T, Descriptor > const &rhs, Box3D subDomain, bool crop=true)
 Copy constructor for a subdomain of the multi grid.
 MultiGridLattice3D (MultiGrid3D const &rhs)
 MultiGridLattice3D (MultiGrid3D const &rhs, Box3D subDomain, bool crop=true)
MultiGridLattice3D< T,
Descriptor > & 
operator= (MultiGridLattice3D< T, Descriptor > const &rhs)
 ~MultiGridLattice3D ()
 Get rid properly of all the pointers in the class.
void initialize ()
 Create the couplings between lattices.
void createInterfaces ()
int getBlockId () const
MultiBlockLattice3D< T,
Descriptor > & 
getComponent (plint iBlock)
 Retrieve the lattices representing each a refinement level.
const MultiBlockLattice3D< T,
Descriptor > & 
getComponent (plint iBlock) const
 Retrieving the components of the multigrid.
virtual Cell< T, Descriptor > & get (plint iX, plint iY, plint iZ)
virtual Cell< T, Descriptor >
const & 
get (plint iX, plint iY, plint iZ) const
virtual void specifyStatisticsStatus (Box3D domain, bool status)
virtual void collide (Box3D domain)
virtual void collide ()
virtual void stream (Box3D domain)
virtual void stream ()
virtual void collideAndStream (Box3D domain)
 One iteration of the multigrid over a given domain (this domain reffers to the reference level).
virtual void collideAndStream ()
 One iteration of the entire multigrid.
virtual void incrementTime ()
TimeCountergetTimeCounter ()
TimeCounter const & getTimeCounter () const

template<typename T, template< typename U > class Descriptor>
class plb::MultiGridLattice3D< T, Descriptor >


Constructor & Destructor Documentation

template<typename T , template< typename U > class Descriptor>
plb::MultiGridLattice3D< T, Descriptor >::MultiGridLattice3D ( MultiGridManagement3D  management,
std::vector< BlockCommunicator3D * >  communicators_,
std::vector< CombinedStatistics * >  combinedStatistics_,
Dynamics< T, Descriptor > *  backgroundDynamics,
plint  behaviorLevel = 0 
) [inline]
template<typename T , template< typename U > class Descriptor>
plb::MultiGridLattice3D< T, Descriptor >::MultiGridLattice3D ( MultiGridLattice3D< T, Descriptor > const &  rhs  )  [inline]

Copy constructor for the whole multi grid.

References plb::MultiGrid3D::getNumLevels().

template<typename T , template< typename U > class Descriptor>
plb::MultiGridLattice3D< T, Descriptor >::MultiGridLattice3D ( MultiGridLattice3D< T, Descriptor > const &  rhs,
Box3D  subDomain,
bool  crop = true 
) [inline]
template<typename T , template< typename U > class Descriptor>
plb::MultiGridLattice3D< T, Descriptor >::MultiGridLattice3D ( MultiGrid3D const &  rhs,
Box3D  subDomain,
bool  crop = true 
) [inline]
template<typename T , template< typename U > class Descriptor>
plb::MultiGridLattice3D< T, Descriptor >::~MultiGridLattice3D (  )  [inline]

Get rid properly of all the pointers in the class.

References plb::MultiGrid3D::getNumLevels().


Member Function Documentation

template<typename T , template< typename U > class Descriptor>
void plb::MultiGridLattice3D< T, Descriptor >::collide (  )  [inline, virtual]
template<typename T , template< typename U > class Descriptor>
void plb::MultiGridLattice3D< T, Descriptor >::collide ( Box3D  domain  )  [inline, virtual]
template<typename T , template< typename U > class Descriptor>
void plb::MultiGridLattice3D< T, Descriptor >::collideAndStream (  )  [inline, virtual]

One iteration of the entire multigrid.

Implements plb::BlockLatticeBase3D< T, Descriptor >.

References plb::MultiGrid3D::evaluateStatistics().

template<typename T , template< typename U > class Descriptor>
void plb::MultiGridLattice3D< T, Descriptor >::collideAndStream ( Box3D  domain  )  [inline, virtual]

One iteration of the multigrid over a given domain (this domain reffers to the reference level).

Implements plb::BlockLatticeBase3D< T, Descriptor >.

References PLB_PRECONDITION, plb::util::roundToInt(), and plb::util::twoToThePower().

template<typename T , template< typename U > class Descriptor>
void plb::MultiGridLattice3D< T, Descriptor >::createInterfaces (  )  [inline]
template<typename T , template< typename U > class Descriptor>
Cell< T, Descriptor > const & plb::MultiGridLattice3D< T, Descriptor >::get ( plint  iX,
plint  iY,
plint  iZ 
) const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
Cell< T, Descriptor > & plb::MultiGridLattice3D< T, Descriptor >::get ( plint  iX,
plint  iY,
plint  iZ 
) [inline, virtual]
template<typename T , template< typename U > class Descriptor>
int plb::MultiGridLattice3D< T, Descriptor >::getBlockId (  )  const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
const MultiBlockLattice3D< T, Descriptor > & plb::MultiGridLattice3D< T, Descriptor >::getComponent ( plint  level  )  const [inline, virtual]

Retrieving the components of the multigrid.

Implements plb::MultiGrid3D.

References PLB_PRECONDITION.

template<typename T , template< typename U > class Descriptor>
MultiBlockLattice3D< T, Descriptor > & plb::MultiGridLattice3D< T, Descriptor >::getComponent ( plint  iBlock  )  [inline, virtual]

Retrieve the lattices representing each a refinement level.

Implements plb::MultiGrid3D.

References PLB_PRECONDITION.

template<typename T , template< typename U > class Descriptor>
TimeCounter const & plb::MultiGridLattice3D< T, Descriptor >::getTimeCounter (  )  const [inline]
template<typename T , template< typename U > class Descriptor>
TimeCounter & plb::MultiGridLattice3D< T, Descriptor >::getTimeCounter (  )  [inline]
template<typename T , template< typename U > class Descriptor>
void plb::MultiGridLattice3D< T, Descriptor >::incrementTime (  )  [inline, virtual]

This function does not have a sense in the multigrid case. It is therefore void but implemented to complain with the BlockLatticeBase3D interface

Implements plb::BlockLatticeBase3D< T, Descriptor >.

template<typename T , template< typename U > class Descriptor>
void plb::MultiGridLattice3D< T, Descriptor >::initialize (  )  [inline]

Create the couplings between lattices.

This method should be called to create the coupling among the internal multi-blocks of the multi-grid and initialize the different lattices and data processors.

Reimplemented from plb::MultiGrid3D.

References plb::applyProcessingFunctional(), plb::MultiGridLattice3D< T, Descriptor >::createInterfaces(), plb::MultiGridManagement3D::getFineInterface(), plb::MultiGrid3D::getMultiGridManagement(), and plb::multiply().

template<typename T , template< typename U > class Descriptor>
MultiGridLattice3D< T, Descriptor > & plb::MultiGridLattice3D< T, Descriptor >::operator= ( MultiGridLattice3D< T, Descriptor > const &  rhs  )  [inline]
template<typename T , template< typename U > class Descriptor>
void plb::MultiGridLattice3D< T, Descriptor >::specifyStatisticsStatus ( Box3D  domain,
bool  status 
) [inline, virtual]
template<typename T , template< typename U > class Descriptor>
void plb::MultiGridLattice3D< T, Descriptor >::stream (  )  [inline, virtual]
template<typename T , template< typename U > class Descriptor>
void plb::MultiGridLattice3D< T, Descriptor >::stream ( Box3D  domain  )  [inline, virtual]

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