$treeview $search $mathjax
|
Palabos
Version 1.1
$projectbrief
|
$projectbrief
|
$searchbox |
#include <multiBlock2D.h>


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 MultiBlock2D * | clone () const =0 |
| virtual MultiBlock2D * | clone (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 |
| BlockStatistics & | getInternalStatistics () |
| BlockStatistics const & | getInternalStatistics () const |
| Get a constant handle to internal statistics. | |
| StatSubscriber & | internalStatSubscription () |
| 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 |
| PeriodicitySwitch2D & | periodicity () |
| modif::ModifT | getInternalTypeOfModification () const |
| void | setInternalTypeOfModification (modif::ModifT internalModifT_) |
| void | setRefinementLevel (plint newLevel) |
| virtual AtomicBlock2D & | getComponent (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 DataSerializer * | getBlockSerializer (Box2D const &domain, IndexOrdering::OrderingT ordering) const |
| virtual DataUnSerializer * | getBlockUnSerializer (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 |
| typedef std::pair<MultiBlock2D*, modif::ModifT> plb::MultiBlock2D::BlockAndModif |
| plb::MultiBlock2D::MultiBlock2D | ( | MultiBlockManagement2D const & | multiBlockManagement_, | |
| BlockCommunicator2D * | blockCommunicator_, | |||
| CombinedStatistics * | combinedStatistics_ | |||
| ) |
References plb::MultiBlockRegistration2D::announce(), and plb::multiBlockRegistration2D().
References plb::MultiBlockRegistration2D::announce(), and plb::multiBlockRegistration2D().
| plb::MultiBlock2D::MultiBlock2D | ( | MultiBlock2D const & | rhs | ) |
References plb::MultiBlockRegistration2D::announce(), and plb::multiBlockRegistration2D().
| plb::MultiBlock2D::MultiBlock2D | ( | MultiBlock2D const & | rhs, | |
| Box2D | subDomain, | |||
| bool | crop | |||
| ) |
References plb::MultiBlockRegistration2D::announce(), and plb::multiBlockRegistration2D().
| plb::MultiBlock2D::~MultiBlock2D | ( | ) | [virtual] |
References plb::multiBlockRegistration2D(), and plb::MultiBlockRegistration2D::release().
| virtual MultiBlock2D* plb::MultiBlock2D::clone | ( | MultiBlockManagement2D const & | newManagement | ) | const [pure virtual] |
| virtual MultiBlock2D* plb::MultiBlock2D::clone | ( | ) | const [pure virtual] |
| virtual void plb::MultiBlock2D::copyReceive | ( | MultiBlock2D const & | fromBlock, | |
| Box2D const & | fromDomain, | |||
| Box2D const & | toDomain, | |||
| modif::ModifT | whichData = modif::dataStructure | |||
| ) | [pure virtual] |
| void plb::MultiBlock2D::duplicateOverlaps | ( | modif::ModifT | whichData | ) |
| void plb::MultiBlock2D::evaluateStatistics | ( | ) |
Copy running statistics to public statistics, and reset running stats.
References plb::AtomicBlock2D::evaluateStatistics(), plb::LocalMultiBlockInfo2D::getBlocks(), getComponent(), getLocalInfo(), and isInternalStatisticsOn().
Referenced by plb::MultiBlockLattice2D< T, Descriptor >::collideAndStream(), plb::MultiBlockLattice2D< T, Descriptor >::MultiBlockLattice2D(), and plb::MultiBlockLattice2D< T, Descriptor >::stream().
| 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 | ( | ) |
Execute all internal dataProcessors at positive or zero level.
References duplicateOverlaps(), and plb::global::profiler().
Referenced by plb::MultiBlockLattice2D< T, Descriptor >::collideAndStream(), plb::MultiGrid2D::executeInternalProcessors(), initialize(), and plb::MultiBlockLattice2D< T, Descriptor >::stream().
| BlockCommunicator2D const & plb::MultiBlock2D::getBlockCommunicator | ( | ) | const |
Referenced by plb::align(), plb::MultiNTensorField2D< T >::clone(), plb::MultiTensorField2D< T, nDim >::clone(), plb::MultiScalarField2D< T >::clone(), plb::MultiBlockLattice2D< T, Descriptor >::clone(), 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::generateMultiScalarField(), plb::generateMultiTensorField(), plb::redistribute(), plb::reparallelize(), and signalPeriodicity().
| virtual std::string plb::MultiBlock2D::getBlockName | ( | ) | const [pure virtual] |
Get a string identifier for the type of block. E.g. "lattice2d".
Implemented in plb::MultiBlockLattice2D< T, Descriptor >, plb::MultiContainerBlock2D, plb::MultiScalarField2D< T >, plb::MultiTensorField2D< T, nDim >, and plb::MultiNTensorField2D< T >.
Referenced by plb::parallelIO::writeOneBlockXmlSpec().
| 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 plint plb::MultiBlock2D::getCellDim | ( | ) | const [pure virtual] |
| CombinedStatistics const & plb::MultiBlock2D::getCombinedStatistics | ( | ) | const |
Referenced by plb::align(), plb::MultiNTensorField2D< T >::clone(), plb::MultiTensorField2D< T, nDim >::clone(), plb::MultiScalarField2D< T >::clone(), plb::MultiBlockLattice2D< T, Descriptor >::clone(), 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::generateMultiScalarField(), plb::generateMultiTensorField(), plb::redistribute(), and plb::reparallelize().
| virtual AtomicBlock2D const& plb::MultiBlock2D::getComponent | ( | plint | blockId | ) | const [pure virtual] |
| virtual AtomicBlock2D& plb::MultiBlock2D::getComponent | ( | plint | blockId | ) | [pure virtual] |
Implemented in plb::MultiBlockLattice2D< T, Descriptor >, plb::MultiContainerBlock2D, plb::MultiScalarField2D< T >, plb::MultiTensorField2D< T, nDim >, and plb::MultiNTensorField2D< T >.
Referenced by plb::MultiBlockFastUnSerializer2D::commitData(), evaluateStatistics(), executeInternalProcessors(), resetFlags(), plb::MultiStatSubscriber2D::subscribeAverage(), plb::MultiStatSubscriber2D::subscribeIntSum(), plb::MultiStatSubscriber2D::subscribeMax(), and plb::MultiStatSubscriber2D::subscribeSum().
| 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 |
Referenced by plb::MultiBlockRegistration2D::release(), and plb::transferDataProcessors().
| BlockStatistics const & plb::MultiBlock2D::getInternalStatistics | ( | ) | const |
Get a constant handle to internal statistics.
| BlockStatistics & plb::MultiBlock2D::getInternalStatistics | ( | ) |
Get a handle to internal statistics. Don't use this to subscribe new statistics. Use the method internalStatSubscription() instead.
Referenced by plb::getStoredAverageDensity(), plb::getStoredAverageEnergy(), plb::getStoredMaxVelocity(), plb::MultiStatSubscriber2D::subscribeAverage(), plb::MultiStatSubscriber2D::subscribeIntSum(), plb::MultiStatSubscriber2D::subscribeMax(), and plb::MultiStatSubscriber2D::subscribeSum().
| modif::ModifT plb::MultiBlock2D::getInternalTypeOfModification | ( | ) | const |
Returns: which kind of data is modified by level-0 processors and by dynamics objects.
| LocalMultiBlockInfo2D const & plb::MultiBlock2D::getLocalInfo | ( | ) | const |
References plb::MultiBlockManagement2D::getLocalInfo().
Referenced by evaluateStatistics(), executeInternalProcessors(), resetFlags(), plb::MultiStatSubscriber2D::subscribeAverage(), plb::MultiStatSubscriber2D::subscribeIntSum(), plb::MultiStatSubscriber2D::subscribeMax(), and plb::MultiStatSubscriber2D::subscribeSum().
| MultiBlockManagement2D const & plb::MultiBlock2D::getMultiBlockManagement | ( | ) | const |
Referenced by plb::MultiProcessing2D< OriginalGenerator, MutableGenerator >::adjustCoordinates(), plb::align(), plb::coarsen(), plb::MultiBlockLattice2D< T, Descriptor >::collide(), plb::MultiBlockLattice2D< T, Descriptor >::collideAndStream(), plb::computeSparseManagement(), plb::SerialBlockCommunicator2D::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::generateMultiScalarField(), plb::generateMultiTensorField(), plb::MultiNTensorField2D< T >::get(), plb::MultiTensorField2D< T, nDim >::get(), plb::MultiScalarField2D< T >::get(), plb::MultiBlockLattice2D< T, Descriptor >::get(), plb::redistribute(), plb::refine(), plb::reparallelize(), plb::MultiBlockLattice2D< T, Descriptor >::specifyStatisticsStatus(), plb::MultiBlockLattice2D< T, Descriptor >::stream(), and plb::parallelIO::writeOneBlockXmlSpec().
| plint plb::MultiBlock2D::getNx | ( | ) | const |
Get number of cells in x-direction.
References plb::MultiBlockManagement2D::getBoundingBox(), and plb::Box2D::getNx().
Referenced by plb::MultiNTensorField2D< T >::get(), plb::MultiTensorField2D< T, nDim >::get(), plb::MultiScalarField2D< T >::get(), plb::OnLatticeAdvectionDiffusionBoundaryCondition2D< T, Descriptor >::setTemperatureConditionOnBlockBoundaries(), plb::simpleMultiGrid(), plb::MultiProcessing2D< OriginalGenerator, MutableGenerator >::subdivideGenerator(), plb::VtkStructuredImageOutput2D< T >::writeData(), plb::VtkImageOutput2D< T >::writeData(), and plb::ImageWriter< T >::writePpm().
| plint plb::MultiBlock2D::getNy | ( | ) | const |
Get number of cells in y-direction.
References plb::MultiBlockManagement2D::getBoundingBox(), and plb::Box2D::getNy().
Referenced by plb::MultiNTensorField2D< T >::get(), plb::MultiTensorField2D< T, nDim >::get(), plb::MultiScalarField2D< T >::get(), plb::OnLatticeAdvectionDiffusionBoundaryCondition2D< T, Descriptor >::setTemperatureConditionOnBlockBoundaries(), plb::simpleMultiGrid(), plb::MultiProcessing2D< OriginalGenerator, MutableGenerator >::subdivideGenerator(), plb::VtkStructuredImageOutput2D< T >::writeData(), plb::VtkImageOutput2D< T >::writeData(), and plb::ImageWriter< T >::writePpm().
| SparseBlockStructure2D const & plb::MultiBlock2D::getSparseBlockStructure | ( | ) | const |
| virtual int plb::MultiBlock2D::getStaticId | ( | ) | const [pure virtual] |
| std::vector< MultiBlock2D::ProcessorStorage2D > const & plb::MultiBlock2D::getStoredProcessors | ( | ) | const |
Referenced by plb::transferDataProcessors().
| 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().
| StatSubscriber & plb::MultiBlock2D::internalStatSubscription | ( | ) |
Get object to subscribe new internal statistics.
Referenced by plb::MultiGridStatSubscriber2D::subscribeAverage(), plb::MultiGridStatSubscriber2D::subscribeIntSum(), plb::MultiGridStatSubscriber2D::subscribeMax(), and plb::MultiGridStatSubscriber2D::subscribeSum().
| bool plb::MultiBlock2D::isInternalStatisticsOn | ( | ) | const |
Referenced by evaluateStatistics().
| PeriodicitySwitch2D & plb::MultiBlock2D::periodicity | ( | ) |
| PeriodicitySwitch2D const & plb::MultiBlock2D::periodicity | ( | ) | const |
Referenced by plb::align(), plb::clone(), plb::defaultGenerateMultiNTensorField2D(), plb::SerialBlockCommunicator2D::duplicateOverlaps(), plb::except(), plb::extend(), plb::generateIntersectMultiNTensorField(), plb::generateJoinMultiNTensorField(), plb::generateMultiNTensorField(), plb::generateMultiNTensorField2D(), plb::generateNTensorFieldFromBlockLattice2D(), plb::generateNTensorFieldFromNTensor2D(), plb::reparallelize(), plb::MultiGrid2D::signalPeriodicity(), and plb::MultiProcessing2D< OriginalGenerator, MutableGenerator >::subdivideGenerator().
| 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::signalPeriodicity | ( | ) |
| virtual plint plb::MultiBlock2D::sizeOfCell | ( | ) | const [pure virtual] |
Implemented in plb::MultiBlockLattice2D< T, Descriptor >, plb::MultiContainerBlock2D, plb::MultiScalarField2D< T >, plb::MultiTensorField2D< T, nDim >, and plb::MultiNTensorField2D< T >.
Referenced by plb::MultiBlockFastUnSerializer2D::getNextDataBuffer(), plb::MultiBlockUnSerializer2D::getNextDataBuffer(), plb::MultiBlockSerializer2D::getNextDataBuffer(), plb::MultiBlockFastUnSerializer2D::getSize(), plb::MultiBlockFastSerializer2D::getSize(), plb::MultiBlockUnSerializer2D::getSize(), and plb::MultiBlockSerializer2D::getSize().
| 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 | ) |
References plb::MultiBlockManagement2D::swap().
| void plb::MultiBlock2D::toggleInternalStatistics | ( | bool | statisticsOn_ | ) |
1.6.3
1.6.3