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

plb::MultiBlock3D Class Reference

#include <multiBlock3D.h>

Inheritance diagram for plb::MultiBlock3D:
Collaboration diagram for plb::MultiBlock3D:

List of all members.

Classes

class  ProcessorStorage3D

Public Types

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

Public Member Functions

 MultiBlock3D (MultiBlockManagement3D const &multiBlockManagement_, BlockCommunicator3D *blockCommunicator_, CombinedStatistics *combinedStatistics_)
 MultiBlock3D (plint nx, plint ny, plint nz, plint envelopeWidth)
 MultiBlock3D (MultiBlock3D const &rhs)
 MultiBlock3D (MultiBlock3D const &rhs, Box3D subDomain, bool crop)
void swap (MultiBlock3D &rhs)
virtual ~MultiBlock3D ()
id_t getId () const
virtual int getStaticId () const =0
virtual MultiBlock3Dclone () const =0
virtual MultiBlock3Dclone (MultiBlockManagement3D const &newManagement) const =0
void initialize ()
 Initialize block content by executing internal processors once.
virtual Box3D getBoundingBox () const
plint getNx () const
 Get number of cells in x-direction.
plint getNy () const
 Get number of cells in y-direction.
plint getNz () const
 Get number of cells in z-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< MultiBlock3D * > modifiedBlocks, std::vector< modif::ModifT > typeOfModification, bool includesEnvelope)
void storeProcessor (DataProcessorGenerator3D const &generator, std::vector< MultiBlock3D * > multiBlocks, plint level)
std::vector
< ProcessorStorage3D > const & 
getStoredProcessors () const
MultiBlockManagement3D const & getMultiBlockManagement () const
void setCoProcessors (std::map< plint, int > const &coProcessors)
LocalMultiBlockInfo3D const & getLocalInfo () const
SparseBlockStructure3D 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
PeriodicitySwitch3D const & periodicity () const
PeriodicitySwitch3Dperiodicity ()
modif::ModifT getInternalTypeOfModification () const
void setInternalTypeOfModification (modif::ModifT internalModifT_)
void setRefinementLevel (plint newLevel)
virtual AtomicBlock3DgetComponent (plint blockId)=0
virtual AtomicBlock3D const & getComponent (plint blockId) const =0
virtual plint sizeOfCell () const =0
virtual plint getCellDim () const =0
BlockCommunicator3D const & getBlockCommunicator () const
virtual void copyReceive (MultiBlock3D const &fromBlock, Box3D const &fromDomain, Box3D const &toDomain, modif::ModifT whichData=modif::dataStructure)=0
void duplicateOverlaps (modif::ModifT whichData)
void signalPeriodicity ()
virtual DataSerializergetBlockSerializer (Box3D const &domain, IndexOrdering::OrderingT ordering) const
virtual DataUnSerializergetBlockUnSerializer (Box3D 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 (Box3D 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. "lattice3d".
virtual std::vector< std::string > getTypeInfo () const =0

Member Typedef Documentation


Constructor & Destructor Documentation

plb::MultiBlock3D::MultiBlock3D ( MultiBlockManagement3D const &  multiBlockManagement_,
BlockCommunicator3D blockCommunicator_,
CombinedStatistics combinedStatistics_ 
)
plb::MultiBlock3D::MultiBlock3D ( plint  nx,
plint  ny,
plint  nz,
plint  envelopeWidth 
)
plb::MultiBlock3D::MultiBlock3D ( MultiBlock3D const &  rhs  ) 
plb::MultiBlock3D::MultiBlock3D ( MultiBlock3D const &  rhs,
Box3D  subDomain,
bool  crop 
)
plb::MultiBlock3D::~MultiBlock3D (  )  [virtual]

Member Function Documentation

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

Execute all internal dataProcessors at a given level.

References plb::AtomicBlock3D::executeInternalProcessors(), plb::LocalMultiBlockInfo3D::getBlocks(), getComponent(), and getLocalInfo().

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

Implements plb::Block3D.

Referenced by plb::ImageWriter< T >::writePpm().

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

Implements plb::Block3D.

Box3D plb::MultiBlock3D::getBoundingBox (  )  const [virtual]

Implements plb::Block3D.

References plb::MultiBlockManagement3D::getBoundingBox().

Referenced by plb::add(), plb::addInPlace(), plb::align(), plb::analyticalIniVolumeFraction(), plb::OffLatticeBoundaryCondition3D< T, Descriptor, BoundaryType >::apply(), plb::apply(), plb::MultiNTensorField3D< T >::clone(), plb::MultiTensorField3D< T, nDim >::clone(), plb::MultiScalarField3D< T >::clone(), plb::MultiBlockLattice3D< T, Descriptor >::clone(), plb::clone(), plb::coarsen(), plb::MultiBlockFastUnSerializer3D::commitData(), plb::computeAbsoluteValue(), plb::computeAllPopulations(), plb::computeAllPopulationsFromTensorField(), plb::computeAverage(), plb::computeAverageDensity(), plb::computeAverageEnergy(), plb::computeAverageRhoBar(), plb::computeBoundedAverage(), plb::computeBoundedSum(), plb::computeBulkDivergence(), plb::computeBulkGradient(), plb::computeBulkStrainRate(), plb::computeBulkVorticity(), plb::computeDensity(), plb::computeDeviatoricStress(), plb::computeEquilibrium(), plb::computeGradient(), plb::computeGradientNorm(), plb::computeKineticEnergy(), plb::computeMax(), plb::computeMin(), plb::computeNorm(), plb::computeNormSqr(), plb::computeOmega(), plb::computePackedRhoBarJ(), plb::computePeriodicGradientNorm(), plb::computePeriodicPoissonRHS(), plb::computePoissonRHS(), plb::computePopulation(), plb::computeQcriterion(), plb::computeRhoBar(), 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::computeXperiodicDerivative(), plb::computeYderivative(), plb::computeYperiodicDerivative(), plb::computeZderivative(), plb::computeZperiodicDerivative(), plb::copyConvert(), plb::copyEntireCells(), plb::count(), plb::defineDynamics(), plb::densitySingleProbes(), plb::divide(), plb::divideInPlace(), plb::evaluate(), plb::except(), plb::extend(), plb::extractBottomMostDynamics(), plb::extractComponent(), plb::extractDynamicsChain(), plb::extractTopMostDynamics(), plb::OffLatticeBoundaryCondition3D< T, Descriptor, BoundaryType >::getForceOnObject(), plb::greaterThan(), plb::identifyBlocksWithPureDynamics(), plb::initializeInterfaceLists3D(), plb::OffLatticeBoundaryCondition3D< T, Descriptor, BoundaryType >::insert(), plb::interpolatePopulations(), plb::lbmSmoothen(), plb::lessThan(), plb::multiply(), plb::multiplyInPlace(), plb::OffLatticeBoundaryCondition3D< T, Descriptor, BoundaryType >::OffLatticeBoundaryCondition3D(), plb::parallelIO::readXmlProcessors(), plb::recomposeFromFlowVariables(), plb::redistribute(), plb::refine(), plb::VoxelizedDomain3D< T >::reparallelize(), plb::reparallelize(), plb::revoxelize(), plb::setOuterNLDboundaryDynamics(), plb::OnLatticeBoundaryCondition3D< T, Descriptor >::setPressureConditionOnBlockBoundaries(), plb::OnLatticeBoundaryCondition3D< T, Descriptor >::setVelocityConditionOnBlockBoundaries(), plb::storeTrianglesOnEdges(), plb::subtract(), plb::subtractInPlace(), plb::transferBlockLatticeLocal(), plb::transferDataProcessors(), plb::transferNTensorFieldLocal(), plb::transferScalarFieldLocal(), plb::transferTensorFieldLocal(), plb::velocitySingleProbes(), plb::vorticitySingleProbes(), plb::VtkImageOutput3D< T >::writeData(), plb::parallelIO::writeOneBlockXmlSpec(), and plb::ImageWriter< T >::writePpm().

void plb::MultiBlock3D::getDynamicsDict ( Box3D  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::MultiBlockLattice3D< T, Descriptor >.

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

Get a constant handle to internal statistics.

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

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

MultiBlockManagement3D const & plb::MultiBlock3D::getMultiBlockManagement (  )  const

Referenced by plb::MultiProcessing3D< OriginalGenerator, MutableGenerator >::adjustCoordinates(), plb::align(), plb::coarsen(), plb::MultiBlockLattice3D< T, Descriptor >::collide(), plb::MultiBlockLattice3D< T, Descriptor >::collideAndStream(), plb::computeSparseManagement(), plb::SerialBlockCommunicator3D::duplicateOverlaps(), plb::except(), plb::extend(), plb::generateIntersectMultiBlockLattice(), plb::generateIntersectMultiNTensorField(), plb::generateIntersectMultiScalarField(), plb::generateIntersectMultiTensorField(), plb::generateJoinMultiBlockLattice(), plb::generateJoinMultiNTensorField(), plb::generateJoinMultiScalarField(), plb::generateJoinMultiTensorField(), plb::generateMultiBlockLattice(), plb::generateMultiNTensorField(), plb::generateMultiNTensorField3D(), plb::generateMultiScalarField(), plb::generateMultiTensorField(), plb::MultiNTensorField3D< T >::get(), plb::MultiTensorField3D< T, nDim >::get(), plb::MultiScalarField3D< T >::get(), plb::MultiBlockLattice3D< T, Descriptor >::get(), plb::VoxelizedDomain3D< T >::getMultiBlockManagement(), plb::identifyBlocksWithPureDynamics(), plb::initiateCoProcessors(), plb::isoSurfaceMarchingCube(), plb::redistribute(), plb::refine(), plb::VoxelizedDomain3D< T >::reparallelize(), plb::reparallelize(), plb::MultiBlockLattice3D< T, Descriptor >::specifyStatisticsStatus(), plb::MultiBlockLattice3D< T, Descriptor >::stream(), plb::transferFromCoProcessors(), plb::transferToCoProcessors(), and plb::parallelIO::writeOneBlockXmlSpec().

SparseBlockStructure3D const & plb::MultiBlock3D::getSparseBlockStructure (  )  const
std::vector< MultiBlock3D::ProcessorStorage3D > const & plb::MultiBlock3D::getStoredProcessors (  )  const
virtual std::vector<std::string> plb::MultiBlock3D::getTypeInfo (  )  const [pure virtual]
void plb::MultiBlock3D::initialize (  ) 

Initialize block content by executing internal processors once.

References executeInternalProcessors().

bool plb::MultiBlock3D::isInternalStatisticsOn (  )  const

Referenced by evaluateStatistics().

PeriodicitySwitch3D & plb::MultiBlock3D::periodicity (  ) 
void plb::MultiBlock3D::resetFlags (  ) 

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

References plb::LocalMultiBlockInfo3D::getBlocks(), getComponent(), getLocalInfo(), and plb::AtomicBlock3D::setFlag().

void plb::MultiBlock3D::setCoProcessors ( std::map< plint, int > const &  coProcessors  ) 
void plb::MultiBlock3D::setInternalTypeOfModification ( modif::ModifT  internalModifT_  ) 

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

void plb::MultiBlock3D::setRefinementLevel ( plint  newLevel  ) 
void plb::MultiBlock3D::storeProcessor ( DataProcessorGenerator3D const &  generator,
std::vector< MultiBlock3D * >  multiBlocks,
plint  level 
)
void plb::MultiBlock3D::subscribeProcessor ( plint  level,
std::vector< MultiBlock3D * >  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::MultiBlock3D::swap ( MultiBlock3D rhs  ) 
void plb::MultiBlock3D::toggleInternalStatistics ( bool  statisticsOn_  ) 

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