|
Container to store the pointers to all objects that one creates in a simulation. More...
#include <BaseHandler.h>
Public Member Functions | |
BaseHandler () | |
Default BaseHandler constructor, it creates an empty BaseHandler and assigns DPMBase_ to a null pointer. More... | |
BaseHandler (const BaseHandler< T > &BH) | |
Constructor that copies the objects of the given handler into itself and sets other variables to 0/nullptr. More... | |
virtual | ~BaseHandler () |
Destructor, it destructs the BaseHandler and all Object it contains. More... | |
void | copyContentsFromOtherHandler (const BaseHandler< T > &BH) |
Function that copies the contents (vector of pointers, maxObject_, nextId_, DPMBase_) from one handler (container) to the other. More... | |
template<typename U > | |
std::enable_if<!std::is_pointer< U >::value, U * >::type | copyAndAddObject (const U &object) |
Creates a copy of a Object and adds it to the BaseHandler. More... | |
template<typename U > | |
std::enable_if< std::is_pointer< U >::value, U >::type | copyAndAddObject (const U object) |
Creates a copy of a Object and adds it to the BaseHandler. More... | |
template<typename U > | |
std::enable_if<!std::is_pointer< U >::value, U * >::type | copyAndAddGhostObject (const U &object) |
Creates a copy of a Object and adds it to the BaseHandler. This is one locally for inserting mpi particles, they avoid the global check if the particle can actually be inserted, because the mpi domain already knows that is the case. More... | |
template<typename U > | |
std::enable_if< std::is_pointer< U >::value, U >::type | copyAndAddGhostObject (const U object) |
Creates a copy of a Object and adds it to the BaseHandler. This is one locally for inserting mpi particles, they avoid the global check if the particle can actually be inserted, because the mpi domain already knows that is the case. More... | |
virtual void | addExistingObject (T *O) |
Adds an existing object to the BaseHandler without changing the id of the object. More... | |
virtual void | addObject (T *object) |
Adds a new Object to the BaseHandler. More... | |
virtual void | addGhostObject (T *O) |
Adds a new Object to the BaseHandler. called by the to avoid increasing the id. More... | |
void | removeIf (const std::function< bool(T *)> cond) |
virtual void | removeObject (unsigned const int index) |
Removes an Object from the BaseHandler. More... | |
void | removeLastObject () |
Removes the last Object from the BaseHandler. More... | |
virtual void | clear () |
Empties the whole BaseHandler by removing all Objects and setting all other variables to 0. More... | |
virtual void | readAndAddObject (std::istream &is)=0 |
Reads Object into the BaseHandler from restart data. More... | |
void | read (std::istream &is) |
Reads all objects from restart data. More... | |
T * | getObjectById (const unsigned int id) |
Gets a pointer to the Object at the specified index in the BaseHandler. More... | |
std::vector< T * > | getObjectsById (const unsigned int id) |
Gets a vector of pointers to the objects with the specific id. More... | |
T * | getObject (const unsigned int id) |
Gets a pointer to the Object at the specified index in the BaseHandler. More... | |
const T * | getObject (const unsigned int id) const |
Gets a constant pointer to the Object at the specified index in the BaseHandler. More... | |
T * | getLastObject () |
Gets a pointer to the last Object in this BaseHandler. More... | |
const T * | getLastObject () const |
Gets a constant pointer to the last Object in this BaseHandler. More... | |
virtual unsigned int | getNumberOfObjects () const |
Gets the number of real Object in this BaseHandler. (i.e. no mpi or periodic particles) More... | |
unsigned int | getSize () const |
Gets the size of the particleHandler (including mpi and periodic particles) More... | |
unsigned int | getStorageCapacity () const |
Gets the storage capacity of this BaseHandler. More... | |
void | setStorageCapacity (const unsigned int N) |
Sets the storage capacity of this BaseHandler. More... | |
void | resize (const unsigned int N, const T &obj) |
Resizes the container to contain N elements. More... | |
const std::vector< T * >::const_iterator | begin () const |
Gets the begin of the const_iterator over all Object in this BaseHandler. More... | |
const std::vector< T * >::iterator | begin () |
Gets the begin of the iterator over all BaseBoundary in this BaseHandler. More... | |
const std::vector< T * >::const_iterator | end () const |
Gets the end of the const_iterator over all BaseBoundary in this BaseHandler. More... | |
const std::vector< T * >::iterator | end () |
Gets the end of the iterator over all BaseBoundary in this BaseHandler. More... | |
void | setDPMBase (DPMBase *DPMBase) |
Sets the problem that is solved using this handler. More... | |
void | setId (T *object, unsigned int id) |
void | increaseId () |
unsigned int | getNextId () |
void | setNextId (unsigned int id) |
DPMBase * | getDPMBase () |
Gets the problem that is solved using this handler. More... | |
DPMBase * | getDPMBase () const |
Gets the problem that is solved using this handler and does not change the class. More... | |
virtual std::string | getName () const =0 |
Gets the name of this handler. More... | |
virtual void | writeVTK () const |
now empty function for writing VTK files. More... | |
unsigned | getNextGroupId () |
Should be called each time you assign a groupId. Returns the value of nextGroupId_ and increases nextGroupId_ by one. More... | |
Protected Attributes | |
std::vector< T * > | objects_ |
The actual list of Object pointers. More... | |
Private Attributes | |
unsigned int | maxObjects_ |
An integer to keep track of the largest number of objects ever stored in this BaseHandler. More... | |
unsigned int | nextId_ |
identifier for next object created More... | |
unsigned | nextGroupId_ = 1 |
value of the next BaseObject::groupId_. Value increased by one each time a groupId is assigned. Default group is 0 More... | |
DPMBase * | DPMBase_ |
A pointer back to the DPMBase class. More... | |
Container to store the pointers to all objects that one creates in a simulation.
The BaseHandler allows one to create a container to store all pointer objects of a templated type T It is implemented by a (protected) vector of pointers to objects of type T. Once the container is created, the BaseHandler also provides the provision to manipulate the pointers i.e. by accessing, adding, deleting and few more operations by using its member methods.
BaseHandler< T >::BaseHandler |
Default BaseHandler constructor, it creates an empty BaseHandler and assigns DPMBase_ to a null pointer.
BaseHandler< T >::BaseHandler | ( | const BaseHandler< T > & | BH | ) |
Constructor that copies the objects of the given handler into itself and sets other variables to 0/nullptr.
[in] | BH | A reference to the BaseHandler that has to be copied. |
This is not a copy constructor! It only copies the vector objects_ from the given handler, and sets all other variables to 0/nullptr.
|
virtual |
|
virtual |
Adds an existing object to the BaseHandler without changing the id of the object.
[in] | object | A point to an existing object which already has an id given |
Referenced by ParticleHandler::addExistingObject().
|
virtual |
Adds a new Object to the BaseHandler. called by the to avoid increasing the id.
Referenced by ParticleHandler::addGhostObject().
|
virtual |
Adds a new Object to the BaseHandler.
[in] | object | A pointer to the object that must be added. |
Referenced by BoundaryHandler::addObject(), CGHandler::addObject(), InteractionHandler::addObject(), ParticleHandler::addObject(), WallHandler::addObject(), DomainHandler::addObject(), and SpeciesHandler::addObject().
const std::vector< T * >::iterator BaseHandler< T >::begin |
Gets the begin of the iterator over all BaseBoundary in this BaseHandler.
const std::vector< T * >::const_iterator BaseHandler< T >::begin |
Gets the begin of the const_iterator over all Object in this BaseHandler.
Referenced by BaseCluster::actionsAfterSolve(), multiParticleT1::actionsAfterTimeStep(), BaseCluster::applyCentralForce(), AngledPeriodicBoundary::checkBoundaryAfterParticlesMove(), CircularPeriodicBoundary::checkBoundaryAfterParticlesMove(), ConstantMassFlowMaserBoundary::checkBoundaryAfterParticlesMove(), FluxBoundary::checkBoundaryAfterParticlesMove(), HeaterBoundary::checkBoundaryAfterParticlesMove(), LeesEdwardsBoundary::checkBoundaryAfterParticlesMove(), PeriodicBoundary::checkBoundaryAfterParticlesMove(), TimeDependentPeriodicBoundary::checkBoundaryAfterParticlesMove(), DPMBase::computeInternalForces(), ScalingTestInitialConditionsRelax::continueSolve(), Funnel::create_funnel(), BaseCluster::createAdjacencyMatrix(), BaseCluster::dampVelocities(), DPMBase::getRotationalEnergy(), DPMBase::importParticlesAs(), HGridOptimiser::initialise(), ChuteWithPeriodicInflow::integrateBeforeForceComputation(), main(), BaseCluster::makeDataAnalysis(), ChuteBottom::makeRoughBottom(), CurvyChute::recreateBottom(), BaseCluster::writeToOverlFile(), and SphericalParticleVtkWriter::writeVTK().
|
virtual |
Empties the whole BaseHandler by removing all Objects and setting all other variables to 0.
Delete all objects stored in objects_ and set the maximum number of objects that have been in this container to 0, and set the Id of the next object that will be added to 0.
Reimplemented in SpeciesHandler, and ParticleHandler.
Referenced by MaserRepeatedOutInMPI2Test::actionsAfterTimeStep(), ShiftingConstantMassFlowMaserBoundarySelfTest::actionsAfterTimeStep(), ShiftingMaserBoundarySelfTest::actionsAfterTimeStep(), PolydisperseInsertionBoundarySelfTest::actionsAfterTimeStep(), ParticleHandler::clear(), SpeciesHandler::clear(), Slide::create_rough_wall(), Funnel::create_walls(), CGHandler::evaluateRestartFiles(), main(), FileReader::read(), DPMBase::read(), DPMBase::readNextFStatFile(), CSCWalls::saveWalls(), multiParticleT1::setupInitialConditions(), MpiPeriodicBoundaryUnitTest::setupInitialConditions(), PeriodicBounaryEnteringMPIDomainTest::setupInitialConditions(), FreeCooling2DinWallsDemo::setupInitialConditions(), FreeCooling3DinWallsDemo::setupInitialConditions(), HeaterBoundaryTest::setupInitialConditions(), StressStrainControl::setupInitialConditions(), AngleOfRepose::setupInitialConditions(), SilbertPeriodic::setupInitialConditions(), Chutebelt::setupInitialConditions(), my_problem_HGRID::setupInitialConditions(), HertzianBSHPInteractionTwoParticleElasticCollision::setupInitialConditions(), LiquidMigrationSelfTest::setupInitialConditions(), DPM::setupInitialConditions(), TwoBondedParticleElasticCollision::setupInitialConditions(), TwoParticleElasticCollisionInteraction::setupInitialConditions(), TwoParticleElasticCollision::setupInitialConditions(), GetDistanceAndNormalForTriangleWalls::setupInitialConditions(), DrumRot::setupInitialConditions(), RotatingDrum::setupInitialConditions(), ParticleWallInteraction::setupInitialConditions(), ArcWallUnitTest::setupInitialConditions(), MD_demo::setupInitialConditions(), MpiMaserChuteTest::setupInitialConditions(), MultiParticlesInsertion::setupInitialConditions(), and ChuteBottom::setupInitialConditions().
std::enable_if<!std::is_pointer< U >::value, U * >::type BaseHandler< T >::copyAndAddGhostObject | ( | const U & | object | ) |
Creates a copy of a Object and adds it to the BaseHandler. This is one locally for inserting mpi particles, they avoid the global check if the particle can actually be inserted, because the mpi domain already knows that is the case.
[in] | object | A reference to the BaseHandler of which the objects have to be copied. |
std::enable_if< std::is_pointer< U >::value, U >::type BaseHandler< T >::copyAndAddGhostObject | ( | const U | object | ) |
Creates a copy of a Object and adds it to the BaseHandler. This is one locally for inserting mpi particles, they avoid the global check if the particle can actually be inserted, because the mpi domain already knows that is the case.
[in] | object | A reference to the Object that has to be copied. |
std::enable_if<!std::is_pointer< U >::value, U * >::type BaseHandler< T >::copyAndAddObject | ( | const U & | object | ) |
Creates a copy of a Object and adds it to the BaseHandler.
[in] | object | A reference to the BaseHandler of which the objects have to be copied. |
References addObject().
Referenced by GranuHeap::actionsAfterTimeStep(), ShiftingConstantMassFlowMaserBoundarySelfTest::actionsAfterTimeStep(), ShiftingMaserBoundarySelfTest::actionsAfterTimeStep(), Chutebelt::actionsAfterTimeStep(), SmoothChute::actionsBeforeTimeStep(), Chutebelt::actionsOnRestart(), ChutePeriodic::add_flow_particles(), SilbertPeriodic::add_flow_particles(), NautaMixer::addBaseWall(), VerticalMixerStraightBlades::addBlades(), VerticalMixerAngledBlades::addBlades(), NautaMixer::addConeWall(), Chute::addFlowParticlesCompactly(), ChuteWithHopper::addHopper(), NautaMixer::addParticles(), NautaMixer::addParticlesAtWall(), ConstantMassFlowMaserBoundary::addParticleToMaser(), SubcriticalMaserBoundary::addParticleToMaser(), VerticalMixerAngledBlades::addPrettyBlades(), NautaMixer::addScrew(), NautaMixer::addSpeciesAndSetTimeStepAndSaveCount(), NautaMixer::addTopWall(), AngledPeriodicBoundarySecondUnitTest::AngledPeriodicBoundarySecondUnitTest(), AngledPeriodicBoundaryUnitTest::AngledPeriodicBoundaryUnitTest(), AngleOfRepose::AngleOfRepose(), AreaVTK::AreaVTK(), BouncingSuperQuadric::BouncingSuperQuadric(), BoundariesSelfTest::BoundariesSelfTest(), CGBasicSelfTest::CGBasicSelfTest(), ChuteWithPeriodicInflow::Check_and_Duplicate_Periodic_Particle(), InsertionBoundary::checkBoundaryBeforeTimeStep(), RandomClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), ChutePeriodicDemo::ChutePeriodicDemo(), ClosedCSCWalls::ClosedCSCWalls(), MercuryLogo::constructTextAsParticles(), Contact::Contact(), Funnel::create_funnel(), Slide::create_rough_wall(), Funnel::create_walls(), AngleOfRepose::createBaseSpecies(), SilbertPeriodic::createBaseSpecies(), Chute::createBottom(), CurvyChute::createBottom(), ParameterStudy1DDemo::createSpecies(), ParameterStudy2DDemo::createSpecies(), ParameterStudy3DDemo::createSpecies(), MercuryProblem::createTriangleWall(), Membrane::createVertexParticles(), CSCWalls::CSCWalls(), DPM::DPM(), FluxAndPeriodicBoundarySelfTest::FluxAndPeriodicBoundarySelfTest(), FluxBoundarySelfTest::FluxBoundarySelfTest(), ForceLawsMPI2Test::ForceLawsMPI2Test(), GranuDrum::GranuDrum(), GranuHeap::GranuHeap(), Hertzian2DUnitTest::Hertzian2DUnitTest(), HertzianSinterForceUnitTest::HertzianSinterForceUnitTest(), DPMBase::importParticlesAs(), inflowFromPeriodic::inflowFromPeriodic(), InitialConditions< SpeciesType >::InitialConditions(), MembraneDemo::initializeSpecies(), MembraneSelfTest::initializeSpecies(), InsertionBoundaryMPI2Test::InsertionBoundaryMPI2Test(), InsertionBoundarySelfTest::InsertionBoundarySelfTest(), HorizontalMixer::introduceParticlesAtWall(), ContactDetectionIntersectionOfWallsTest::introduceParticlesAtWall(), HorizontalMixer::introduceParticlesInDomain(), HorizontalMixer::introduceSingleParticle(), LawinenBox::LawinenBox(), LeesEdwardsDemo::LeesEdwardsDemo(), LiquidMigrationMPI2Test::LiquidMigrationMPI2Test(), load(), main(), MarbleRun::MarbleRun(), MaserRepeatedOutInMPI2Test::MaserRepeatedOutInMPI2Test(), MercuryCGSelfTest::MercuryCGSelfTest(), MinimalExampleDrum::MinimalExampleDrum(), MovingIntersectionOfWallsUnitTest_Basic::MovingIntersectionOfWallsUnitTest_Basic(), MovingWall::MovingWall(), MultiParticlesInsertion::MultiParticlesInsertion(), ParticleBeam::ParticleBeam(), ParticleCreation::ParticleCreation(), ParticleInclusion::ParticleInclusion(), BaseCluster::particleInsertionSuccessful(), ParticleParticleCollision::ParticleParticleCollision(), PlasticForceUnitTest::PlasticForceUnitTest(), protectiveWall::protectiveWall(), FileReader::read(), DPMBase::readNextDataFile(), DPMBase::readNextFStatFile(), DPMBase::readParAndIniFiles(), regimeForceUnitTest::regimeForceUnitTest(), CGHandler::restart(), runFreeFall(), Cstatic2d::set_particle_properties(), Cstatic3D::set_particle_properties(), ContractionWithPeriodicInflow::set_symmetric_contraction(), ChuteWithPeriodicInflowAndContraction::set_symmetric_contraction(), ChuteWithContraction::set_symmetric_contraction(), Slide::set_Walls(), setCGHandler(), AxisymmetricWallSelfTest::setGeometry(), MercuryOS::setMaterialProperties(), HorizontalMixer::setOuterWalls(), HorizontalMixerWalls::setOuterWalls(), HorizontalMixer::setScrewCore(), HorizontalMixerWalls::setScrewCore(), HorizontalMixer::setScrewWalls(), BaseCluster::setSpecies(), Calibration::setSpecies(), Material::setSpecies(), AxisymmetricWallSelfTest::setSpeciesAndTimeStep(), MercuryProblem::setSpeciesProperties(), ChutePeriodic::setup(), ExtremeOverlapUnitTest::setupInitialConditions(), ExtremeOverlapVolumeUnitTest::setupInitialConditions(), T_protectiveWall::setupInitialConditions(), LawinenBox::setupInitialConditions(), ClosedCSCWalls::setupInitialConditions(), CSCInit::setupInitialConditions(), CSCWalls::setupInitialConditions(), ChutePeriodic::setupInitialConditions(), MercuryLogo::setupInitialConditions(), SmoothChute::setupInitialConditions(), multiParticleT1::setupInitialConditions(), NozzleDemo::setupInitialConditions(), RotatingDrumWet::setupInitialConditions(), VerticalMixer::setupInitialConditions(), MembraneDemo::setupInitialConditions(), Binary::setupInitialConditions(), my_problem::setupInitialConditions(), Chain::setupInitialConditions(), ForceLawsMPI2Test::setupInitialConditions(), InsertionBoundaryMPI2Test::setupInitialConditions(), LiquidMigrationMPI2Test::setupInitialConditions(), MaserRepeatedOutInMPI2Test::setupInitialConditions(), PeriodicBounaryEnteringMPIDomainTest::setupInitialConditions(), SubcriticalMaserBoundaryTESTMPI2Test::setupInitialConditions(), TwoByTwoMPIDomainMPI4Test::setupInitialConditions(), CubicCell::setupInitialConditions(), FreeCooling2DinWalls::setupInitialConditions(), FreeCooling2DinWallsDemo::setupInitialConditions(), FreeCooling3DDemoProblem::setupInitialConditions(), FreeCooling3DinWallsDemo::setupInitialConditions(), FreeCoolingDemoProblem::setupInitialConditions(), HeaterBoundaryTest::setupInitialConditions(), HourGlass2D::setupInitialConditions(), HourGlass::setupInitialConditions(), LeesEdwardsDemo::setupInitialConditions(), MinimalExampleDrum::setupInitialConditions(), ParameterStudy1DDemo::setupInitialConditions(), ParameterStudy2DDemo::setupInitialConditions(), ParameterStudy3DDemo::setupInitialConditions(), StressStrainControl::setupInitialConditions(), ShiftingConstantMassFlowMaserBoundarySelfTest::setupInitialConditions(), ShiftingMaserBoundarySelfTest::setupInitialConditions(), TimeDependentPeriodicBoundary3DSelfTest::setupInitialConditions(), TimeDependentPeriodicBoundaryTest::setupInitialConditions(), FiveParticles::setupInitialConditions(), Cstatic2d::setupInitialConditions(), Cstatic3D::setupInitialConditions(), AngleOfRepose::setupInitialConditions(), SilbertPeriodic::setupInitialConditions(), GetDistanceAndNormalForIntersectionOfWalls::setupInitialConditions(), GetDistanceAndNormalForScrew::setupInitialConditions(), GetDistanceAndNormalForTriangleWall::setupInitialConditions(), MyCoil::setupInitialConditions(), Nurbs::setupInitialConditions(), Polygon::setupInitialConditions(), Drum::setupInitialConditions(), HertzSelfTest::setupInitialConditions(), MindlinSelfTest::setupInitialConditions(), Penetration::setupInitialConditions(), Silo::setupInitialConditions(), Chutebelt::setupInitialConditions(), ConstantMassFlowMaserBoundaryMixedSpeciesSelfTest::setupInitialConditions(), ConstantMassFlowMaserSelfTest::setupInitialConditions(), CubeDeletionBoundarySelfTest::setupInitialConditions(), DeletionBoundarySelfTest::setupInitialConditions(), DistributionSelfTest::setupInitialConditions(), DistributionToPSDSelfTest::setupInitialConditions(), InsertionBoundarySelfTest::setupInitialConditions(), LeesEdwardsSelfTest::setupInitialConditions(), MultiplePSDSelfTest::setupInitialConditions(), NozzleSelfTest::setupInitialConditions(), clumpTest::setupInitialConditions(), PolydisperseInsertionBoundarySelfTest::setupInitialConditions(), PSDManualInsertionSelfTest::setupInitialConditions(), PSDSelfTest::setupInitialConditions(), SubcriticalMaserBoundarySelfTest::setupInitialConditions(), CGBasicSelfTest::setupInitialConditions(), CGHandlerSelfTest::setupInitialConditions(), CGStaticBalanceSelfTest::setupInitialConditions(), NewtonsCradleSelftest::setupInitialConditions(), NewtonsCradleSelfTest::setupInitialConditions(), SquarePacking::setupInitialConditions(), DPM::setupInitialConditions(), ParticleCreation::setupInitialConditions(), ChargedBondedInteractionSelfTest::setupInitialConditions(), ParticleParticleCollision::setupInitialConditions(), WallParticleCollision::setupInitialConditions(), my_problem_HGRID::setupInitialConditions(), FreeFallInteractionSelfTest::setupInitialConditions(), FreeFallSelfTest::setupInitialConditions(), HertzianBSHPInteractionTwoParticleElasticCollision::setupInitialConditions(), LiquidMigrationSelfTest::setupInitialConditions(), ObliqueImpactSelfTest::setupInitialConditions(), TwoBondedParticleElasticCollision::setupInitialConditions(), TwoParticleElasticCollisionInteraction::setupInitialConditions(), TwoParticleElasticCollision::setupInitialConditions(), CoilSelfTest::setupInitialConditions(), ContactDetectionIntersectionOfWallsTest::setupInitialConditions(), GetDistanceAndNormalForTriangleWalls::setupInitialConditions(), MembraneSelfTest::setupInitialConditions(), RollingOverTriangleWalls::setupInitialConditions(), TriangulatedScrewSelfTest::setupInitialConditions(), TriangulatedStepSelfTest::setupInitialConditions(), TriangulatedStepWallSelfTest::setupInitialConditions(), TriangulatedWallSelfTest::setupInitialConditions(), UnionOfWalls::setupInitialConditions(), DrumRot::setupInitialConditions(), RotatingDrum::setupInitialConditions(), ScalingTestInitialConditionsRelax::setupInitialConditions(), ScalingTestRun::setupInitialConditions(), Contact::setupInitialConditions(), Wall::setupInitialConditions(), BouncingSuperQuadric::setupInitialConditions(), EllipsoidsBouncingOnWallDemo::setupInitialConditions(), EllipticalSuperQuadricCollision::setupInitialConditions(), GranularCollapse::setupInitialConditions(), SlidingSpheresUnitTest::setupInitialConditions(), SphericalSuperQuadricCollision::setupInitialConditions(), ContactDetectionNormalSpheresTest::setupInitialConditions(), ContactDetectionRotatedSpheresTest::setupInitialConditions(), ShapesDemo::setupInitialConditions(), VisualisationTest::setupInitialConditions(), MercuryProblem::setupInitialConditions(), protectiveWall::setupInitialConditions(), Tutorial11::setupInitialConditions(), Tutorial12::setupInitialConditions(), Tutorial1::setupInitialConditions(), Tutorial2::setupInitialConditions(), Tutorial3::setupInitialConditions(), Tutorial4::setupInitialConditions(), Tutorial5::setupInitialConditions(), Tutorial6::setupInitialConditions(), Tutorial7::setupInitialConditions(), Tutorial8::setupInitialConditions(), Tutorial9::setupInitialConditions(), ParticleParticleInteraction::setupInitialConditions(), ParticleParticleInteractionWithPlasticForces::setupInitialConditions(), ParticleWallInteraction::setupInitialConditions(), AngledPeriodicBoundarySecondUnitTest::setupInitialConditions(), AngledPeriodicBoundaryUnitTest::setupInitialConditions(), ArcWallUnitTest::setupInitialConditions(), Packing::setupInitialConditions(), CreateDataAndFStatFiles::setupInitialConditions(), ChargedBondedParticleUnitTest::setupInitialConditions(), DrivenParticleClass::setupInitialConditions(), EnergyUnitTest::setupInitialConditions(), EvaporationAndHeatTest::setupInitialConditions(), ExtremeOverlapWithWallsUnitTest::setupInitialConditions(), RandomClusterInsertionBoundarySelfTest::setupInitialConditions(), FreeFallHertzMindlinUnitTest::setupInitialConditions(), FreeFall::setupInitialConditions(), FullRestartTest::setupInitialConditions(), HertzContactRestitutionUnitTest::setupInitialConditions(), HertzianSinterForceUnitTest::setupInitialConditions(), MD_demo::setupInitialConditions(), InclinedPlane::setupInitialConditions(), MpiMaserChuteTest::setupInitialConditions(), MovingIntersectionOfWallsUnitTest_Basic::setupInitialConditions(), MovingWalls::setupInitialConditions(), MultiParticlesInsertion::setupInitialConditions(), MpiPeriodicBoundaryUnitTest::setupInitialConditions(), PeriodicWalls::setupInitialConditions(), PeriodicWallsWithSlidingFrictionUnitTest::setupInitialConditions(), PlasticForceUnitTest::setupInitialConditions(), SaveCountUnitTest::setupInitialConditions(), SeparateFilesSelfTest::setupInitialConditions(), SinterForceUnitTest::setupInitialConditions(), SpeciesTest::setupInitialConditions(), TangentialSpringEnergyConservationUnitTest::setupInitialConditions(), TangentialSpringUnitTest::setupInitialConditions(), WallSpecies::setupInitialConditions(), AreaVTK::setupInitialConditions(), Chute::setupInitialConditions(), ChuteBottom::setupInitialConditions(), ChuteWithHopper::setupInitialConditions(), ContactDetectionWithWallTester::setupParticleAndWall(), ContactDetectionTester::setupParticles(), Chute::setupSideWalls(), Siegen::Siegen(), SilbertPeriodic::SilbertPeriodic(), SingleParticle< SpeciesType >::SingleParticle(), SinterPair::SinterPair(), Slide::Slide(), StressStrainControl::StressStrainControl(), FlowFrontChute::stretch(), SubcriticalMaserBoundaryTESTMPI2Test::SubcriticalMaserBoundaryTESTMPI2Test(), T_protectiveWall::T_protectiveWall(), TangentialSpringEnergyConservationUnitTest::TangentialSpringEnergyConservationUnitTest(), InertiaTensorTester::test(), VolumeTest::test(), Packing::test(), TimeDependentPeriodicBoundary3DSelfTest::TimeDependentPeriodicBoundary3DSelfTest(), TimeDependentPeriodicBoundaryTest::TimeDependentPeriodicBoundaryTest(), TriangulatedScrewSelfTest::TriangulatedScrewSelfTest(), TriangulatedStepSelfTest::TriangulatedStepSelfTest(), TriangulatedWallSelfTest::TriangulatedWallSelfTest(), TwoByTwoMPIDomainMPI4Test::TwoByTwoMPIDomainMPI4Test(), viscoElasticUnitTest::viscoElasticUnitTest(), and Wall::Wall().
std::enable_if< std::is_pointer< U >::value, U >::type BaseHandler< T >::copyAndAddObject | ( | const U | object | ) |
Creates a copy of a Object and adds it to the BaseHandler.
[in] | object | A reference to the Object that has to be copied. |
void BaseHandler< T >::copyContentsFromOtherHandler | ( | const BaseHandler< T > & | BH | ) |
Function that copies the contents (vector of pointers, maxObject_, nextId_, DPMBase_) from one handler (container) to the other.
[in] | BH | A reference to the BaseHandler of which the objects have to be copied. |
References addObject(), and BaseHandler< T >::objects_.
const std::vector< T * >::iterator BaseHandler< T >::end |
Gets the end of the iterator over all BaseBoundary in this BaseHandler.
const std::vector< T * >::const_iterator BaseHandler< T >::end |
Gets the end of the const_iterator over all BaseBoundary in this BaseHandler.
Referenced by BaseCluster::actionsAfterSolve(), multiParticleT1::actionsAfterTimeStep(), BaseCluster::applyCentralForce(), AngledPeriodicBoundary::checkBoundaryAfterParticlesMove(), CircularPeriodicBoundary::checkBoundaryAfterParticlesMove(), ConstantMassFlowMaserBoundary::checkBoundaryAfterParticlesMove(), FluxBoundary::checkBoundaryAfterParticlesMove(), HeaterBoundary::checkBoundaryAfterParticlesMove(), LeesEdwardsBoundary::checkBoundaryAfterParticlesMove(), PeriodicBoundary::checkBoundaryAfterParticlesMove(), TimeDependentPeriodicBoundary::checkBoundaryAfterParticlesMove(), ScalingTestInitialConditionsRelax::continueSolve(), Funnel::create_funnel(), BaseCluster::createAdjacencyMatrix(), BaseCluster::dampVelocities(), DPMBase::getRotationalEnergy(), DPMBase::importParticlesAs(), HGridOptimiser::initialise(), ChuteWithPeriodicInflow::integrateBeforeForceComputation(), main(), BaseCluster::makeDataAnalysis(), ChuteBottom::makeRoughBottom(), CurvyChute::recreateBottom(), BaseCluster::writeToOverlFile(), and SphericalParticleVtkWriter::writeVTK().
DPMBase * BaseHandler< T >::getDPMBase |
Gets the problem that is solved using this handler.
Referenced by HeatFluidCoupledSpecies< NormalForceSpecies >::actionsAfterTimeStep(), DropletBoundary::actionsBeforeTimeLoop(), ConstantMassFlowMaserBoundary::activateMaser(), SubcriticalMaserBoundary::activateMaser(), SubcriticalMaserBoundaryTEST::activateMaser(), StressStrainControlBoundary::activateStrainRateControl(), BaseWall::addParticlesAtWall(), ConstantMassFlowMaserBoundary::addParticleToMaser(), SubcriticalMaserBoundary::addParticleToMaser(), CGHandler::CGHandler(), DeletionBoundary::checkBoundaryAfterParticleMoved(), HeaterBoundary::checkBoundaryAfterParticleMoved(), DropletBoundary::checkBoundaryAfterParticlesMove(), PeriodicBoundary::checkBoundaryAfterParticlesMove(), TimeDependentPeriodicBoundary::checkBoundaryAfterParticlesMove(), FrictionInteraction::computeFrictionForce(), MindlinInteraction::computeFrictionForce(), MindlinRollingTorsionInteraction::computeFrictionForce(), SinterInteraction::computeNormalForce(), SinterLinInteraction::computeNormalForce(), HertzianSinterInteraction::computeSinterForce(), SlidingFrictionInteraction::computeSlidingSpring(), SlidingFrictionInteraction::computeSlidingSpringSuperQuadric(), StressStrainControlBoundary::computeStrainRate(), StressStrainControlBoundary::computeStressError(), WearableNurbsWall::computeWear(), WearableTriangleMeshWall::computeWear(), WearableTriangulatedWall::computeWear(), copyDataFromMPIParticleToParticle(), SubcriticalMaserBoundaryTEST::copyExtraParticles(), PeriodicBoundary::createGhostParticle(), TimeDependentPeriodicBoundary::createGhostParticle(), InfiniteWall::createVTK(), StressStrainControlBoundary::determineStressControlledShearBoundaries(), SubcriticalMaserBoundaryTEST::extendBottom(), Domain::finaliseBoundaryDataTransmission(), BaseInteraction::gatherContactStatistics(), WallDetailsVTKWriter::generateFileName(), LeesEdwardsBoundary::getCurrentShift(), LeesEdwardsBoundary::getCurrentVelocity(), HorizontalBaseScrew::getDistanceAndNormal(), NurbsWall::getDistanceAndNormal(), Screw::getDistanceAndNormal(), IntersectionOfWalls::getDistanceAndNormal(), BaseParticle::getParticleDimensions(), BaseParticle::getPeriodicComplexity(), ParticleSpecies::getVolumeFromRadius(), BaseParticle::integrateBeforeForceComputation(), ClumpParticle::integrateBeforeForceComputation(), CGHandler::operator=(), WallHandler::operator=(), ParticleHandler::ParticleHandler(), Domain::performBoundaryDataTransmission(), Domain::processReceivedBoundaryParticleData(), Domain::processReceivedInteractionData(), ConstantMassFlowMaserBoundary::read(), InsertionBoundary::read(), SubcriticalMaserBoundary::read(), BaseWall::renderWall(), MeshTriangle::retrieveVertexParticles(), Screw::rotate(), StressStrainControlBoundary::set(), Domain::setBounds(), ParticleSpecies::setDensity(), MeshTriangle::setHandler(), BaseParticle::setIndSpecies(), BaseParticle::setPeriodicComplexity(), Domain::setRange(), BaseParticle::setSpecies(), BaseWall::setSpecies(), ShearBoxBoundary::shiftHorizontalPosition(), LeesEdwardsBoundary::shiftVerticalPosition(), SpeciesHandler::SpeciesHandler(), StressStrainControlBoundary::updateDomainSize(), Domain::updateParticlePosition(), Domain::updateParticles(), WallHandler::WallHandler(), LeesEdwardsBoundary::write(), BaseInteraction::writeInteraction(), AxisymmetricIntersectionOfWalls::writeVTK(), HorizontalBaseScrew::writeVTK(), IntersectionOfWalls::writeVTK(), ScrewsymmetricIntersectionOfWalls::writeVTK(), SphericalParticleVtkWriter::writeVTKAngularVelocity(), and BaseInteraction::~BaseInteraction().
DPMBase * BaseHandler< T >::getDPMBase |
Gets the problem that is solved using this handler and does not change the class.
T * BaseHandler< T >::getLastObject |
Gets a pointer to the last Object in this BaseHandler.
Referenced by DPM::actionsAfterSolve(), ForceLawsMPI2Test::actionsAfterSolve(), HourGlass2D::actionsAfterTimeStep(), HourGlass::actionsAfterTimeStep(), ShiftingConstantMassFlowMaserBoundarySelfTest::actionsAfterTimeStep(), ShiftingMaserBoundarySelfTest::actionsAfterTimeStep(), DPM::actionsAfterTimeStep(), GranularCollapse::actionsAfterTimeStep(), MercuryProblem::actionsAfterTimeStep(), Tutorial11::actionsAfterTimeStep(), DropletBoundary::actionsBeforeTimeLoop(), DPM::actionsBeforeTimeStep(), ForceLawsMPI2Test::actionsBeforeTimeStep(), ConstantRestitutionSelfTest::actionsBeforeTimeStep(), SilbertPeriodic::add_flow_particles(), NautaMixer::addBaseWall(), NautaMixer::addConeWall(), ChuteWithPeriodicInflow::AddContinuingBottom(), addObject(), NautaMixer::addScrew(), NautaMixer::addTopWall(), ChuteWithPeriodicInflow::Check_and_Duplicate_Periodic_Particle(), ChuteWithContraction::ChuteWithContraction(), ChuteWithPeriodicInflowAndContinuingBottom::ChuteWithPeriodicInflowAndContinuingBottom(), ChuteWithPeriodicInflowAndContraction::ChuteWithPeriodicInflowAndContraction(), ChuteWithPeriodicInflowAndVariableBottom::ChuteWithPeriodicInflowAndVariableBottom(), commandLineCG(), ScalingTestInitialConditionsRelax::continueSolve(), ContractionWithPeriodicInflow::ContractionWithPeriodicInflow(), LeesEdwardsBoundary::createVerticalPeriodicParticle(), ShearBoxBoundary::createVerticalPeriodicParticle(), ChuteWithPeriodicInflow::ExtendInWidth(), DPMBase::fillDomainWithParticles(), ChuteWithPeriodicInflow::integrateBeforeForceComputation(), MarbleRun::loadBigSeesaw(), MarbleRun::loadSmallSeesaw(), MarbleRun::loadSTLFile(), main(), MercuryCGSelfTest::MercuryCGSelfTest(), MovingWalls::MovingWalls(), ParticleBeam::ParticleBeam(), ShearStage::printTime(), ForceLawsMPI2Test::printTime(), ParticleInclusion::printTime(), CubeDeletionBoundarySelfTest::printTime(), DeletionBoundarySelfTest::printTime(), SinterPair::printTime(), EvaporationAndHeatTest::printTime(), Domain::processReceivedBoundaryParticleData(), PeriodicBoundaryHandler::processReceivedGhostParticleData(), DPMBase::readNextFStatFile(), AxisymmetricWallSelfTest::setGeometry(), LawinenBox::setupInitialConditions(), ForceLawsMPI2Test::setupInitialConditions(), InsertionBoundaryMPI2Test::setupInitialConditions(), LiquidMigrationMPI2Test::setupInitialConditions(), MaserRepeatedOutInMPI2Test::setupInitialConditions(), SubcriticalMaserBoundaryTESTMPI2Test::setupInitialConditions(), TwoByTwoMPIDomainMPI4Test::setupInitialConditions(), ShiftingConstantMassFlowMaserBoundarySelfTest::setupInitialConditions(), ShiftingMaserBoundarySelfTest::setupInitialConditions(), MyCoil::setupInitialConditions(), Nurbs::setupInitialConditions(), Polygon::setupInitialConditions(), Silo::setupInitialConditions(), SubcriticalMaserBoundarySelfTest::setupInitialConditions(), CGBasicSelfTest::setupInitialConditions(), CGHandlerSelfTest::setupInitialConditions(), CGStaticBalanceSelfTest::setupInitialConditions(), FreeFallInteractionSelfTest::setupInitialConditions(), AxisymmetricWallSelfTest::setupInitialConditions(), TriangulatedScrewSelfTest::setupInitialConditions(), TriangulatedStepSelfTest::setupInitialConditions(), TriangulatedWallSelfTest::setupInitialConditions(), SphericalIndenter::setupInitialConditions(), ScalingTestRun::setupInitialConditions(), ShapesDemo::setupInitialConditions(), MercuryProblem::setupInitialConditions(), ShearStage::ShearStage(), StressStrainControl::StressStrainControl(), Penetration::writeEneTimeStep(), SingleParticle< SpeciesType >::writeEneTimeStep(), SlidingFrictionUnitTest::writeEneTimeStep(), ParticleVtkWriter::writeExtraFields(), and InteractionVTKWriter::writeVTKPointData().
const T * BaseHandler< T >::getLastObject |
Gets a constant pointer to the last Object in this BaseHandler.
|
pure virtual |
Gets the name of this handler.
Implemented in SpeciesHandler, PeriodicBoundaryHandler, ParticleHandler, InteractionHandler, WallHandler, DomainHandler, CGHandler, and BoundaryHandler.
|
inline |
Should be called each time you assign a groupId. Returns the value of nextGroupId_ and increases nextGroupId_ by one.
References BaseHandler< T >::nextGroupId_.
Referenced by FixedClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), and RandomClusterInsertionBoundary::checkBoundaryBeforeTimeStep().
|
inline |
References BaseHandler< T >::nextId_.
Referenced by PeriodicBoundaryHandler::updateMaserParticle(), and PeriodicBoundaryHandler::updateParticleStatus().
|
virtual |
Gets the number of real Object in this BaseHandler. (i.e. no mpi or periodic particles)
Reimplemented in ParticleHandler.
Referenced by Contact::actionsAfterSolve(), TwoByTwoMPIDomainMPI4Test::actionsAfterTimeStep(), LeesEdwardsDemo::actionsAfterTimeStep(), TimeDependentPeriodicBoundary3DSelfTest::actionsAfterTimeStep(), TimeDependentPeriodicBoundaryTest::actionsAfterTimeStep(), DPMBase::checkSettings(), ChuteWithContraction::ChuteWithContraction(), ChuteWithPeriodicInflowAndContraction::ChuteWithPeriodicInflowAndContraction(), ClosedCSCRestart::ClosedCSCRestart(), ClosedCSCRun::ClosedCSCRun(), DPMBase::computeAllForces(), ContractionWithPeriodicInflow::ContractionWithPeriodicInflow(), SilbertPeriodic::create_inflow_particle(), DPMBase::decompose(), CGHandler::evaluateDataFiles(), CGHandler::evaluateRestartFiles(), Sintering::getMeanPlasticOverlap(), ChuteWithPeriodicInflow::loadPeriodicBox(), main(), LiquidMigrationSelfTest::outputXBallsData(), RotatingDrumWet::printTime(), FileReader::read(), Funnel::read(), DPMBase::readNextFStatFile(), CGHandler::restart(), save(), LawinenBox::setupInitialConditions(), SilbertPeriodic::setupInitialConditions(), Chute::setupInitialConditions(), DPMBase::write(), SingleParticle< SpeciesType >::writeEneTimeStep(), and InteractionVTKWriter::writeVTK().
T * BaseHandler< T >::getObject | ( | const unsigned int | index | ) |
Gets a pointer to the Object at the specified index in the BaseHandler.
[in] | index | the index of the requested Object. |
References getName(), and logger.
Referenced by SphericalSuperQuadricCollision::actionsAfterSolve(), SpeciesTest::actionsAfterSolve(), RotatingDrumWet::actionsAfterTimeStep(), T_protectiveWall::actionsAfterTimeStep(), BouncingSuperQuadric::actionsAfterTimeStep(), SlidingSpheresUnitTest::actionsAfterTimeStep(), SphericalSuperQuadricCollision::actionsAfterTimeStep(), ContactDetectionNormalSpheresTest::actionsAfterTimeStep(), ContactDetectionRotatedSpheresTest::actionsAfterTimeStep(), protectiveWall::actionsAfterTimeStep(), DrivenParticleClass::actionsAfterTimeStep(), Slide::actionsBeforeTimeLoop(), LawinenBox::actionsBeforeTimeStep(), SmoothChute::actionsBeforeTimeStep(), AngleOfRepose::actionsBeforeTimeStep(), Slide::actionsBeforeTimeStep(), Chutebelt::actionsBeforeTimeStep(), DrumRot::actionsBeforeTimeStep(), RotatingDrum::actionsBeforeTimeStep(), Chutebelt::actionsOnRestart(), DrumRot::actionsOnRestart(), SilbertPeriodic::add_flow_particles(), ChuteWithPeriodicInflow::AddContinuingBottom(), ChuteWithHopper::addHopper(), NautaMixer::addParticles(), NautaMixer::addParticlesAtWall(), statistics_while_running< T >::auto_set_domain(), statistics_while_running< T >::auto_set_z(), BaseCluster::calculateTimeStep(), ChuteWithPeriodicInflow::Check_and_Duplicate_Periodic_Particle(), DeletionBoundary::checkBoundaryAfterParticlesMove(), FixedClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), RandomClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), ChuteWithContraction::ChuteWithContraction(), ChuteWithPeriodicInflowAndContinuingBottom::ChuteWithPeriodicInflowAndContinuingBottom(), ChuteWithPeriodicInflowAndContraction::ChuteWithPeriodicInflowAndContraction(), ChuteWithPeriodicInflowAndVariableBottom::ChuteWithPeriodicInflowAndVariableBottom(), ChuteWithPeriodicInflow::cleanChute(), Funnel::cleanChute(), Chute::cleanChute(), ClosedCSCRestart::ClosedCSCRestart(), ClosedCSCRun::ClosedCSCRun(), DPMBase::computeAllForces(), Mercury3Dclump::computeAllForces(), BaseCluster::computeInternalStructure(), ContractionWithPeriodicInflow::ContractionWithPeriodicInflow(), copyDataFromMPIParticleToParticle(), ChutePeriodic::create_inflow_particle(), FlowRule::create_inflow_particle(), SilbertPeriodic::create_inflow_particle(), Slide::create_rough_wall(), AngleOfRepose::createBaseSpecies(), SilbertPeriodic::createBaseSpecies(), Chute::createBottom(), InteractionHandler::createEmptyInteraction(), Chute::createFlowParticle(), AngledPeriodicBoundary::createPeriodicParticles(), CircularPeriodicBoundary::createPeriodicParticles(), ConstantMassFlowMaserBoundary::createPeriodicParticles(), LeesEdwardsBoundary::createPeriodicParticles(), PeriodicBoundary::createPeriodicParticles(), SubcriticalMaserBoundary::createPeriodicParticles(), TimeDependentPeriodicBoundary::createPeriodicParticles(), MercuryProblem::createTriangleWall(), CSCInit::CSCInit(), InteractionHandler::deleteEmptyInteraction(), ChuteWithPeriodicInflow::ExtendInWidth(), FlowRule::getDensityVariation(), ParticleParticleCollision::getRelativeVelocity(), WallParticleCollision::getRelativeVelocity(), GranuDrum::GranuDrum(), GranuHeap::GranuHeap(), DPMBase::importParticlesAs(), Indenter::Indenter(), inflowFromPeriodic::inflowFromPeriodic(), MPIContainer::initialiseMercuryMPITypes(), DPMBase::integrateAfterForceComputation(), ChuteWithPeriodicInflow::integrateBeforeForceComputation(), DPMBase::integrateBeforeForceComputation(), inflowFromPeriodic::integrateBeforeForceComputation(), HorizontalMixer::introduceParticlesAtWall(), ContactDetectionIntersectionOfWallsTest::introduceParticlesAtWall(), HorizontalMixer::introduceParticlesInDomain(), HorizontalMixer::introduceSingleParticle(), LawinenBox::LawinenBox(), main(), BaseCluster::makeDataAnalysis(), ChuteBottom::makeRoughBottom(), MercuryCGSelfTest::MercuryCGSelfTest(), MovingWall::MovingWall(), DPMBase::outputXBallsData(), ChuteWithPeriodicInflow::outputXBallsDataParticlee(), ParticleCreation::ParticleCreation(), BaseCluster::particleInsertionSuccessful(), LawinenBox::printTime(), ChuteWithPeriodicInflow::printTime(), EvaporationAndHeatTest::printTime(), FileReader::read(), ConstantMassFlowMaserBoundary::read(), InsertionBoundary::read(), SubcriticalMaserBoundary::read(), DPMBase::readNextDataFile(), DPMBase::readNextFStatFile(), DPMBase::readParAndIniFiles(), DPMBase::removeDuplicatePeriodicParticles(), CSCWalls::saveWalls(), Slide::set_Walls(), FlowRule::setDensityVariation(), DPMBase::setFixedParticles(), BaseParticle::setHandler(), BaseWall::setHandler(), BaseParticle::setIndSpecies(), BaseWall::setIndSpecies(), BaseSpecies::setInteractionDistance(), BaseCluster::setSpecies(), BaseInteractable::setSpecies(), ExtremeOverlapUnitTest::setupInitialConditions(), ExtremeOverlapVolumeUnitTest::setupInitialConditions(), SmoothChute::setupInitialConditions(), multiParticleT1::setupInitialConditions(), free_cooling::setupInitialConditions(), restart::setupInitialConditions(), HorizontalMixer::setupInitialConditions(), NozzleDemo::setupInitialConditions(), my_problem::setupInitialConditions(), MaserRepeatedOutInMPI2Test::setupInitialConditions(), PeriodicBounaryEnteringMPIDomainTest::setupInitialConditions(), CubicCell::setupInitialConditions(), FreeCooling2DinWalls::setupInitialConditions(), FreeCooling2DinWallsDemo::setupInitialConditions(), FreeCooling3DDemoProblem::setupInitialConditions(), FreeCooling3DinWallsDemo::setupInitialConditions(), FreeCoolingDemoProblem::setupInitialConditions(), HeaterBoundaryTest::setupInitialConditions(), HourGlass2D::setupInitialConditions(), HourGlass::setupInitialConditions(), LeesEdwardsDemo::setupInitialConditions(), MinimalExampleDrum::setupInitialConditions(), ParameterStudy1DDemo::setupInitialConditions(), ParameterStudy2DDemo::setupInitialConditions(), ParameterStudy3DDemo::setupInitialConditions(), StressStrainControl::setupInitialConditions(), TimeDependentPeriodicBoundary3DSelfTest::setupInitialConditions(), TimeDependentPeriodicBoundaryTest::setupInitialConditions(), FiveParticles::setupInitialConditions(), Cstatic2d::setupInitialConditions(), Cstatic3D::setupInitialConditions(), AngleOfRepose::setupInitialConditions(), SilbertPeriodic::setupInitialConditions(), statistics_while_running< T >::setupInitialConditions(), Chutebelt::setupInitialConditions(), ConstantMassFlowMaserBoundaryMixedSpeciesSelfTest::setupInitialConditions(), ConstantMassFlowMaserSelfTest::setupInitialConditions(), DistributionSelfTest::setupInitialConditions(), DistributionToPSDSelfTest::setupInitialConditions(), InsertionBoundarySelfTest::setupInitialConditions(), LeesEdwardsSelfTest::setupInitialConditions(), MultiplePSDSelfTest::setupInitialConditions(), NozzleSelfTest::setupInitialConditions(), clumpTest::setupInitialConditions(), PolydisperseInsertionBoundarySelfTest::setupInitialConditions(), PSDManualInsertionSelfTest::setupInitialConditions(), PSDSelfTest::setupInitialConditions(), NewtonsCradleSelftest::setupInitialConditions(), NewtonsCradleSelfTest::setupInitialConditions(), SquarePacking::setupInitialConditions(), DPM::setupInitialConditions(), ChargedBondedInteractionSelfTest::setupInitialConditions(), ParticleParticleCollision::setupInitialConditions(), WallParticleCollision::setupInitialConditions(), my_problem_HGRID::setupInitialConditions(), FreeFallSelfTest::setupInitialConditions(), HertzianBSHPInteractionTwoParticleElasticCollision::setupInitialConditions(), LiquidMigrationSelfTest::setupInitialConditions(), ObliqueImpactSelfTest::setupInitialConditions(), TwoBondedParticleElasticCollision::setupInitialConditions(), TwoParticleElasticCollisionInteraction::setupInitialConditions(), TwoParticleElasticCollision::setupInitialConditions(), CoilSelfTest::setupInitialConditions(), ContactDetectionIntersectionOfWallsTest::setupInitialConditions(), GetDistanceAndNormalForTriangleWalls::setupInitialConditions(), ScalingTestRun::setupInitialConditions(), Contact::setupInitialConditions(), Wall::setupInitialConditions(), BouncingSuperQuadric::setupInitialConditions(), EllipsoidsBouncingOnWallDemo::setupInitialConditions(), EllipticalSuperQuadricCollision::setupInitialConditions(), SlidingSpheresUnitTest::setupInitialConditions(), SphericalSuperQuadricCollision::setupInitialConditions(), ContactDetectionNormalSpheresTest::setupInitialConditions(), ContactDetectionRotatedSpheresTest::setupInitialConditions(), VisualisationTest::setupInitialConditions(), MercuryProblem::setupInitialConditions(), Tutorial11::setupInitialConditions(), Tutorial12::setupInitialConditions(), Tutorial1::setupInitialConditions(), Tutorial2::setupInitialConditions(), Tutorial3::setupInitialConditions(), Tutorial4::setupInitialConditions(), Tutorial5::setupInitialConditions(), Tutorial6::setupInitialConditions(), Tutorial7::setupInitialConditions(), Tutorial8::setupInitialConditions(), Tutorial9::setupInitialConditions(), ParticleParticleInteraction::setupInitialConditions(), ParticleParticleInteractionWithPlasticForces::setupInitialConditions(), ParticleWallInteraction::setupInitialConditions(), AngledPeriodicBoundarySecondUnitTest::setupInitialConditions(), AngledPeriodicBoundaryUnitTest::setupInitialConditions(), Packing::setupInitialConditions(), CreateDataAndFStatFiles::setupInitialConditions(), ChargedBondedParticleUnitTest::setupInitialConditions(), DrivenParticleClass::setupInitialConditions(), EnergyUnitTest::setupInitialConditions(), ExtremeOverlapWithWallsUnitTest::setupInitialConditions(), RandomClusterInsertionBoundarySelfTest::setupInitialConditions(), FreeFallHertzMindlinUnitTest::setupInitialConditions(), FreeFall::setupInitialConditions(), FullRestartTest::setupInitialConditions(), HertzContactRestitutionUnitTest::setupInitialConditions(), HertzianSinterForceUnitTest::setupInitialConditions(), MD_demo::setupInitialConditions(), InclinedPlane::setupInitialConditions(), MpiMaserChuteTest::setupInitialConditions(), MovingIntersectionOfWallsUnitTest_Basic::setupInitialConditions(), MovingWalls::setupInitialConditions(), MovingWallTangential::setupInitialConditions(), MultiParticlesInsertion::setupInitialConditions(), MpiPeriodicBoundaryUnitTest::setupInitialConditions(), PeriodicWalls::setupInitialConditions(), PeriodicWallsWithSlidingFrictionUnitTest::setupInitialConditions(), PlasticForceUnitTest::setupInitialConditions(), SeparateFilesSelfTest::setupInitialConditions(), SinterForceUnitTest::setupInitialConditions(), SpeciesTest::setupInitialConditions(), TangentialSpringEnergyConservationUnitTest::setupInitialConditions(), TangentialSpringUnitTest::setupInitialConditions(), WallSpecies::setupInitialConditions(), Chute::setupInitialConditions(), ChuteBottom::setupInitialConditions(), ChuteWithHopper::setupInitialConditions(), ContactDetectionWithWallTester::setupParticleAndWall(), ContactDetectionTester::setupParticles(), Chute::setupSideWalls(), Sintering::Sintering(), Slide::Slide(), statistics_while_running< T >::statistics_while_running(), FlowFrontChute::stretch(), ContactDetectionNormalSpheresTest::test(), HertzContactRestitutionUnitTest::test(), testCGHandler(), Domain::updateParticles(), DPMBase::write(), LawinenBox::writeEneTimeStep(), Slide::writeEneTimeStep(), SingleParticle< SpeciesType >::writeEneTimeStep(), and BaseCluster::writeToOverlFile().
const T * BaseHandler< T >::getObject | ( | const unsigned int | index | ) | const |
T * BaseHandler< T >::getObjectById | ( | const unsigned int | id | ) |
Gets a pointer to the Object at the specified index in the BaseHandler.
[in] | id | The id of the requested Object. |
References ERROR, getName(), and logger.
Referenced by HertzianBSHPInteractionTwoParticleElasticCollision::actionsAfterSolve(), Membrane::buildMesh(), MeshTriangle::checkInteractions(), Membrane::initializeEdgeBendingQuantities(), PeriodicBoundaryHandler::processLocalInteractionData(), PeriodicBoundaryHandler::processReceivedInteractionData(), Domain::processReceivedInteractionData(), FileReader::read(), Membrane::read(), MembraneDemo::read(), MembraneSelfTest::read(), MeshTriangle::retrieveVertexParticles(), and Membrane::saveVertexPositions().
std::vector< T * > BaseHandler< T >::getObjectsById | ( | const unsigned int | id | ) |
Gets a vector of pointers to the objects with the specific id.
Gets all the objects with the id from the handler. This is especially useful in parallel where ghost particles of a real particle have the same id
[in] | id | The id of the requested objects. |
References ERROR, getName(), and logger.
Referenced by InteractionHandler::readAndAddObject().
unsigned int BaseHandler< T >::getSize |
Gets the size of the particleHandler (including mpi and periodic particles)
Referenced by ForceLawsMPI2Test::actionsAfterSolve(), RotatingDrumWet::actionsAfterTimeStep(), PolydisperseInsertionBoundarySelfTest::actionsAfterTimeStep(), ForceLawsMPI2Test::actionsBeforeTimeStep(), ConstantRestitutionSelfTest::actionsBeforeTimeStep(), ChutePeriodic::add_flow_particles(), Chute::addFlowParticlesCompactly(), BaseWall::addParticlesAtWall(), DeletionBoundary::checkBoundaryAfterParticlesMove(), FixedClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), RandomClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), DPMBase::computeAllForces(), Mercury3Dclump::computeAllForces(), BaseCluster::createAdjacencyMatrix(), AngledPeriodicBoundary::createPeriodicParticles(), CircularPeriodicBoundary::createPeriodicParticles(), ConstantMassFlowMaserBoundary::createPeriodicParticles(), LeesEdwardsBoundary::createPeriodicParticles(), PeriodicBoundary::createPeriodicParticles(), SubcriticalMaserBoundary::createPeriodicParticles(), TimeDependentPeriodicBoundary::createPeriodicParticles(), DPMBase::decompose(), DPMBase::deleteGhostParticles(), CGHandler::evaluateDataFiles(), CGHandler::evaluateRestartFiles(), DPMBase::fillDomainWithParticles(), MercuryBase::getHGridTargetMaxInteractionRadius(), MercuryBase::getHGridTargetMinInteractionRadius(), MercuryBase::getHGridTargetNumberOfBuckets(), BaseParticle::getPeriodicComplexity(), WallVTKWriter::getVTKData(), GranuHeap::GranuHeap(), MercuryBase::hGridNeedsRebuilding(), DPMBase::importParticlesAs(), HGridOptimiser::initialise(), DPMBase::insertGhostParticle(), DPMBase::integrateAfterForceComputation(), DPMBase::integrateBeforeForceComputation(), main(), BaseCluster::makeDataAnalysis(), BaseCluster::makeGnuplotFile(), DPMBase::mpiInsertParticleCheck(), DPMBase::outputXBallsData(), LiquidMigrationMPI2Test::outputXBallsData(), NozzleDemo::printTime(), ForceLawsMPI2Test::printTime(), CubeDeletionBoundarySelfTest::printTime(), DeletionBoundarySelfTest::printTime(), DistributionSelfTest::printTime(), DistributionToPSDSelfTest::printTime(), InsertionBoundarySelfTest::printTime(), MultiplePSDSelfTest::printTime(), NozzleSelfTest::printTime(), PolydisperseInsertionBoundarySelfTest::printTime(), PSDManualInsertionSelfTest::printTime(), PSDSelfTest::printTime(), RandomClusterInsertionBoundarySelfTest::printTime(), MultiParticlesInsertion::printTime(), BaseCluster::printTime(), DPMBase::readNextDataFile(), DPMBase::removeDuplicatePeriodicParticles(), CGHandler::restart(), DPMBase::setFixedParticles(), AxisymmetricWallSelfTest::setGeometry(), ParticleSpecies::setMaxInteractionDistance(), BaseParticle::setPeriodicComplexity(), StressStrainControl::setupInitialConditions(), Drum::setupInitialConditions(), Penetration::setupInitialConditions(), Silo::setupInitialConditions(), PSDSelfTest::setupInitialConditions(), MpiPeriodicBoundaryUnitTest::setupInitialConditions(), my_problem::setupInitialConditions(), my_problem_HGRID::setupInitialConditions(), BaseCluster::setupInitialConditions(), FlowFrontChute::stretch(), DPMBase::write(), BaseCluster::writeAmatFile(), ParticleVtkWriter::writeExtraFields(), SuperQuadricParticleVtkWriter::writeVTK(), and InteractionVTKWriter::writeVTKPointData().
unsigned int BaseHandler< T >::getStorageCapacity |
Gets the storage capacity of this BaseHandler.
Referenced by ChuteWithPeriodicInflow::integrateBeforeForceComputation(), and SilbertPeriodic::setupInitialConditions().
|
inline |
References BaseHandler< T >::nextId_.
Referenced by ParticleHandler::addObject(), and PeriodicBoundaryHandler::updateMaserParticle().
void BaseHandler< T >::read | ( | std::istream & | is | ) |
Reads all objects from restart data.
[in] | is | The input stream from which the information is read. |
References helpers::getLineFromStringStream(), getName(), constants::i, logger, and VERBOSE.
Referenced by DPMBase::read(), and DPMBase::readOld().
|
pure virtual |
Reads Object into the BaseHandler from restart data.
[in] | is | The input stream from which the information is read. |
Implemented in SpeciesHandler, PeriodicBoundaryHandler, ParticleHandler, InteractionHandler, WallHandler, DomainHandler, CGHandler, and BoundaryHandler.
void BaseHandler< T >::removeIf | ( | const std::function< bool(T *)> | cond | ) |
References constants::i.
void BaseHandler< T >::removeLastObject |
Removes the last Object from the BaseHandler.
References getName(), logger, and WARN.
Referenced by GranuHeap::actionsAfterTimeStep(), GranularCollapse::actionsAfterTimeStep(), and ParticleHandler::removeLastObject().
|
virtual |
Removes an Object from the BaseHandler.
This methods removes an object. This methods invalidates ANY iterators to objects in this container. This method may shuffle the order of objects in this container.
[in] | index | An unsigned integer that gives the id of the Object that has to be removed. |
Reimplemented in SpeciesHandler, and ParticleHandler.
References getName(), and logger.
Referenced by T_protectiveWall::actionsAfterTimeStep(), LeesEdwardsDemo::actionsAfterTimeStep(), TimeDependentPeriodicBoundary3DSelfTest::actionsAfterTimeStep(), TimeDependentPeriodicBoundaryTest::actionsAfterTimeStep(), Chutebelt::actionsAfterTimeStep(), BoundariesSelfTest::actionsAfterTimeStep(), protectiveWall::actionsAfterTimeStep(), TriangleMeshWall::getInteractionWith(), SuperQuadricParticle::getInteractionWithSuperQuad(), BaseInteraction::removeFromHandler(), ParticleHandler::removeGhostObject(), ParticleHandler::removeObject(), SpeciesHandler::removeObject(), and InteractionHandler::removeObjectKeepingPeriodics().
void BaseHandler< T >::resize | ( | const unsigned int | N, |
const T & | obj | ||
) |
Resizes the container to contain N elements.
If the current size is greater than count, the container is reduced to its first count elements. If the current size is less than count, additional elements are appended and initialized with copies of obj.
[in] | N | Container resized to contain N elements. |
[in] | obj | additional elements are appended and initialized with copies of obj. |
void BaseHandler< T >::setDPMBase | ( | DPMBase * | DPMBase | ) |
Sets the problem that is solved using this handler.
[in] | DPMBase | A pointer to a DPMBase, which is the superclass for all problem descriptions. |
Referenced by DPMBase::constructor(), DPMBase::decompose(), and DPMBase::DPMBase().
|
inline |
This function sets the id and ensures that nextId is a bigger value than id.
References BaseHandler< T >::nextId_.
|
inline |
References BaseHandler< T >::nextId_.
Referenced by PeriodicBoundaryHandler::updateParticleStatus().
void BaseHandler< T >::setStorageCapacity | ( | const unsigned int | N | ) |
Sets the storage capacity of this BaseHandler.
[in] | N | The storage capacity the BaseHandler will have |
Referenced by ChutePeriodic::add_flow_particles(), SilbertPeriodic::add_flow_particles(), ChuteWithPeriodicInflow::AddContinuingBottom(), Chute::addFlowParticlesCompactly(), ContractionWithPeriodicInflow::ContractionWithPeriodicInflow(), ChuteWithPeriodicInflow::ExtendInWidth(), ChuteWithPeriodicInflow::integrateBeforeForceComputation(), FileReader::read(), DPMBase::read(), DPMBase::readNextDataFile(), LawinenBox::setupInitialConditions(), AngleOfRepose::setupInitialConditions(), SilbertPeriodic::setupInitialConditions(), Packing::setupInitialConditions(), MD_demo::setupInitialConditions(), and ChuteBottom::setupInitialConditions().
|
inlinevirtual |
now empty function for writing VTK files.
|
private |
A pointer back to the DPMBase class.
Please note that this pointer back to the DPMBase class is a "shared" pointer and should not be deallocated by this class.
|
private |
An integer to keep track of the largest number of objects ever stored in this BaseHandler.
|
private |
value of the next BaseObject::groupId_. Value increased by one each time a groupId is assigned. Default group is 0
Referenced by BaseHandler< T >::getNextGroupId().
|
private |
identifier for next object created
Referenced by BaseHandler< T >::getNextId(), BaseHandler< T >::increaseId(), BaseHandler< T >::setId(), and BaseHandler< T >::setNextId().
|
protected |
The actual list of Object pointers.
The list of Object pointers. This handler is responsible for the memory-deallocation of these objects.
Referenced by BaseHandler< T >::copyContentsFromOtherHandler().