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

plb::MultiBlock2D Class Reference

#include <multiBlock2D.h>

Inheritance diagram for plb::MultiBlock2D:
Collaboration diagram for plb::MultiBlock2D:

List of all members.

Classes

class  ProcessorStorage2D

Public Types

typedef std::pair
< MultiBlock2D
*, modif::ModifT
BlockAndModif

Public Member Functions

 MultiBlock2D (MultiBlockManagement2D const &multiBlockManagement_, BlockCommunicator2D *blockCommunicator_, CombinedStatistics *combinedStatistics_)
 MultiBlock2D (plint nx, plint ny, plint envelopeWidth)
 MultiBlock2D (MultiBlock2D const &rhs)
 MultiBlock2D (MultiBlock2D const &rhs, Box2D subDomain, bool crop)
void swap (MultiBlock2D &rhs)
virtual ~MultiBlock2D ()
id_t getId () const
virtual int getStaticId () const =0
virtual MultiBlock2Dclone () const =0
virtual MultiBlock2Dclone (MultiBlockManagement2D const &newManagement) const =0
void initialize ()
 Initialize block content by executing internal processors once.
virtual Box2D getBoundingBox () const
plint getNx () const
 Get number of cells in x-direction.
plint getNy () const
 Get number of cells in y-direction.
void executeInternalProcessors ()
 Execute all internal dataProcessors at positive or zero level.
void executeInternalProcessors (plint level)
 Execute all internal dataProcessors at a given level.
void subscribeProcessor (plint level, std::vector< MultiBlock2D * > modifiedBlocks, std::vector< modif::ModifT > typeOfModification, bool includesEnvelope)
void storeProcessor (DataProcessorGenerator2D const &generator, std::vector< MultiBlock2D * > multiBlocks, plint level)
std::vector
< ProcessorStorage2D > const & 
getStoredProcessors () const
MultiBlockManagement2D const & getMultiBlockManagement () const
LocalMultiBlockInfo2D const & getLocalInfo () const
SparseBlockStructure2D const & getSparseBlockStructure () const
BlockStatisticsgetInternalStatistics ()
BlockStatistics const & getInternalStatistics () const
 Get a constant handle to internal statistics.
StatSubscriberinternalStatSubscription ()
 Get object to subscribe new internal statistics.
void evaluateStatistics ()
 Copy running statistics to public statistics, and reset running stats.
CombinedStatistics const & getCombinedStatistics () const
void toggleInternalStatistics (bool statisticsOn_)
bool isInternalStatisticsOn () const
PeriodicitySwitch2D const & periodicity () const
PeriodicitySwitch2Dperiodicity ()
modif::ModifT getInternalTypeOfModification () const
void setInternalTypeOfModification (modif::ModifT internalModifT_)
void setRefinementLevel (plint newLevel)
virtual AtomicBlock2DgetComponent (plint blockId)=0
virtual AtomicBlock2D const & getComponent (plint blockId) const =0
virtual plint sizeOfCell () const =0
virtual plint getCellDim () const =0
BlockCommunicator2D const & getBlockCommunicator () const
virtual void copyReceive (MultiBlock2D const &fromBlock, Box2D const &fromDomain, Box2D const &toDomain, modif::ModifT whichData=modif::dataStructure)=0
void duplicateOverlaps (modif::ModifT whichData)
void signalPeriodicity ()
virtual DataSerializergetBlockSerializer (Box2D const &domain, IndexOrdering::OrderingT ordering) const
virtual DataUnSerializergetBlockUnSerializer (Box2D const &domain, IndexOrdering::OrderingT ordering)
void resetFlags ()
 Set all flags of the atomic-blocks to false (to be used by data processors).
virtual void getDynamicsDict (Box2D domain, std::map< std::string, int > &dict)
 Return a unique map for the IDs of dynamics objects present in the multi-block, if any.
virtual std::string getBlockName () const =0
 Get a string identifier for the type of block. E.g. "lattice2d".
virtual std::vector< std::string > getTypeInfo () const =0

Member Typedef Documentation


Constructor & Destructor Documentation

plb::MultiBlock2D::MultiBlock2D ( MultiBlockManagement2D const &  multiBlockManagement_,
BlockCommunicator2D blockCommunicator_,
CombinedStatistics combinedStatistics_ 
)
plb::MultiBlock2D::MultiBlock2D ( plint  nx,
plint  ny,
plint  envelopeWidth 
)
plb::MultiBlock2D::MultiBlock2D ( MultiBlock2D const &  rhs  ) 
plb::MultiBlock2D::MultiBlock2D ( MultiBlock2D const &  rhs,
Box2D  subDomain,
bool  crop 
)
plb::MultiBlock2D::~MultiBlock2D (  )  [virtual]

Member Function Documentation

virtual void plb::MultiBlock2D::copyReceive ( MultiBlock2D const &  fromBlock,
Box2D const &  fromDomain,
Box2D const &  toDomain,
modif::ModifT  whichData = modif::dataStructure 
) [pure virtual]
void plb::MultiBlock2D::executeInternalProcessors ( plint  level  ) 

Execute all internal dataProcessors at a given level.

References plb::AtomicBlock2D::executeInternalProcessors(), plb::LocalMultiBlockInfo2D::getBlocks(), getComponent(), and getLocalInfo().

void plb::MultiBlock2D::executeInternalProcessors (  ) 
virtual std::string plb::MultiBlock2D::getBlockName (  )  const [pure virtual]
DataSerializer * plb::MultiBlock2D::getBlockSerializer ( Box2D const &  domain,
IndexOrdering::OrderingT  ordering 
) const [virtual]

Implements plb::Block2D.

DataUnSerializer * plb::MultiBlock2D::getBlockUnSerializer ( Box2D const &  domain,
IndexOrdering::OrderingT  ordering 
) [virtual]

Implements plb::Block2D.

Box2D plb::MultiBlock2D::getBoundingBox (  )  const [virtual]

Implements plb::Block2D.

References plb::MultiBlockManagement2D::getBoundingBox().

Referenced by plb::add(), plb::addInPlace(), plb::align(), plb::apply(), plb::MultiNTensorField2D< T >::clone(), plb::MultiTensorField2D< T, nDim >::clone(), plb::MultiScalarField2D< T >::clone(), plb::MultiBlockLattice2D< T, Descriptor >::clone(), plb::clone(), plb::coarsen(), plb::MultiBlockFastUnSerializer2D::commitData(), plb::computeAbsoluteValue(), plb::computeAllPopulations(), plb::computeAverage(), plb::computeAverageDensity(), plb::computeAverageEnergy(), plb::computeAverageRhoBar(), plb::computeBoundedAverage(), plb::computeBoundedSum(), plb::computeBulkStrainRate(), plb::computeBulkVorticity(), plb::computeDensity(), plb::computeDeviatoricStress(), plb::computeEquilibrium(), plb::computeGradientNorm(), plb::computeKineticEnergy(), plb::computeLog(), plb::computeMax(), plb::computeMin(), plb::computeNorm(), plb::computeNormSqr(), plb::computeOmega(), plb::computePackedRhoBarJ(), plb::computePoissonRHS(), plb::computePopulation(), plb::computeRhoBar(), plb::computeSoundSpeed(), plb::computeSparseManagement(), plb::computeSqrt(), plb::computeStrainRate(), plb::computeStrainRateFromStress(), plb::computeSum(), plb::computeSymmetricTensorNorm(), plb::computeSymmetricTensorNormSqr(), plb::computeSymmetricTensorTrace(), plb::computeTemperature(), plb::computeVelocity(), plb::computeVelocityComponent(), plb::computeVelocityNorm(), plb::computeVorticity(), plb::computeXderivative(), plb::computeYderivative(), plb::copyConvert(), plb::copyEntireCells(), plb::count(), plb::defineDynamics(), plb::divide(), plb::divideInPlace(), plb::evaluate(), plb::except(), plb::extend(), plb::extractBottomMostDynamics(), plb::extractComponent(), plb::extractDynamicsChain(), plb::extractTopMostDynamics(), plb::fullMultiGrid(), plb::greaterThan(), plb::lessThan(), plb::multiGridVCycle(), plb::multiply(), plb::multiplyInPlace(), plb::parallelIO::readXmlProcessors(), plb::recomposeFromFlowVariables(), plb::redistribute(), plb::refine(), plb::reparallelize(), plb::OnLatticeBoundaryCondition2D< T, Descriptor >::setPressureConditionOnBlockBoundaries(), plb::OnLatticeBoundaryCondition2D< T, Descriptor >::setVelocityConditionOnBlockBoundaries(), plb::simpleMultiGrid(), plb::subtract(), plb::subtractInPlace(), plb::transferBlockLatticeLocal(), plb::transferDataProcessors(), plb::transferNTensorFieldLocal(), plb::transferScalarFieldLocal(), plb::transferTensorFieldLocal(), and plb::parallelIO::writeOneBlockXmlSpec().

virtual AtomicBlock2D const& plb::MultiBlock2D::getComponent ( plint  blockId  )  const [pure virtual]
void plb::MultiBlock2D::getDynamicsDict ( Box2D  domain,
std::map< std::string, int > &  dict 
) [virtual]

Return a unique map for the IDs of dynamics objects present in the multi-block, if any.

Reimplemented in plb::MultiBlockLattice2D< T, Descriptor >.

id_t plb::MultiBlock2D::getId (  )  const
BlockStatistics const & plb::MultiBlock2D::getInternalStatistics (  )  const

Get a constant handle to internal statistics.

modif::ModifT plb::MultiBlock2D::getInternalTypeOfModification (  )  const

Returns: which kind of data is modified by level-0 processors and by dynamics objects.

SparseBlockStructure2D const & plb::MultiBlock2D::getSparseBlockStructure (  )  const
std::vector< MultiBlock2D::ProcessorStorage2D > const & plb::MultiBlock2D::getStoredProcessors (  )  const
virtual std::vector<std::string> plb::MultiBlock2D::getTypeInfo (  )  const [pure virtual]

Get one or two string identifiers for the template parameters of the block. E.g. "double" and "d2q9"

Implemented in plb::MultiBlockLattice2D< T, Descriptor >, plb::MultiContainerBlock2D, plb::MultiScalarField2D< T >, plb::MultiTensorField2D< T, nDim >, and plb::MultiNTensorField2D< T >.

Referenced by plb::parallelIO::writeOneBlockXmlSpec().

void plb::MultiBlock2D::initialize (  ) 

Initialize block content by executing internal processors once.

References executeInternalProcessors().

bool plb::MultiBlock2D::isInternalStatisticsOn (  )  const

Referenced by evaluateStatistics().

PeriodicitySwitch2D & plb::MultiBlock2D::periodicity (  ) 
void plb::MultiBlock2D::resetFlags (  ) 

Set all flags of the atomic-blocks to false (to be used by data processors).

References plb::LocalMultiBlockInfo2D::getBlocks(), getComponent(), getLocalInfo(), and plb::AtomicBlock2D::setFlag().

void plb::MultiBlock2D::setInternalTypeOfModification ( modif::ModifT  internalModifT_  ) 

Specify which kind of data is modifified by level-0 processors and by dynamics objects.

void plb::MultiBlock2D::setRefinementLevel ( plint  newLevel  ) 
void plb::MultiBlock2D::storeProcessor ( DataProcessorGenerator2D const &  generator,
std::vector< MultiBlock2D * >  multiBlocks,
plint  level 
)
void plb::MultiBlock2D::subscribeProcessor ( plint  level,
std::vector< MultiBlock2D * >  modifiedBlocks,
std::vector< modif::ModifT typeOfModification,
bool  includesEnvelope 
)

After adding an internal processor to the atomic-blocks, subscribe it in the multi-block to guarantee it will be executed.

void plb::MultiBlock2D::swap ( MultiBlock2D rhs  ) 
void plb::MultiBlock2D::toggleInternalStatistics ( bool  statisticsOn_  ) 

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