|
| | LinkedCells (const std::array< double, 3 > &boxMin, const std::array< double, 3 > &boxMax, const double cutoff, const double skin, const unsigned int rebuildFrequency, const double cellSizeFactor=1.0, LoadEstimatorOption loadEstimator=LoadEstimatorOption::squaredParticlesPerCell) |
| | Constructor of the LinkedCells class.
|
| |
| ContainerOption | getContainerType () const override |
| | Get the ContainerType.
|
| |
| CellType | getParticleCellTypeEnum () const override |
| | Get the ParticleCell type as an Enum.
|
| |
| void | reserve (size_t numParticles, size_t numParticlesHaloEstimate) override |
| | Reserve memory for a given number of particles in the container and logic layers.
|
| |
| void | addParticleImpl (const ParticleType &p) override |
| | Adds a particle to the container.
|
| |
| void | addHaloParticleImpl (const ParticleType &haloParticle) override |
| | Adds a particle to the container that lies in the halo region of the container.
|
| |
| bool | updateHaloParticle (const ParticleType &haloParticle) override |
| | Update a halo particle of the container with the given haloParticle.
|
| |
| void | deleteHaloParticles () override |
| | Deletes all halo particles.
|
| |
| void | rebuildNeighborLists (TraversalInterface *traversal) override |
| | Rebuilds the neighbor lists for the next traversals.
|
| |
| BalancedTraversal::EstimatorFunction | getLoadEstimatorFunction () |
| | Generates the load estimation function depending on _loadEstimator.
|
| |
| void | computeInteractions (TraversalInterface *traversal) override |
| | Iterates over all particle multiples (e.g.
|
| |
| std::vector< ParticleType > | updateContainer (bool keepNeighborListsValid) override |
| | Updates the container.
|
| |
| TraversalSelectorInfo | getTraversalSelectorInfo () const override |
| | Generates a traversal selector info for this container.
|
| |
| std::tuple< const Particle_T *, size_t, size_t > | getParticle (size_t cellIndex, size_t particleIndex, IteratorBehavior iteratorBehavior, const std::array< double, 3 > &boxMin, const std::array< double, 3 > &boxMax) const override |
| | Fetch the pointer to a particle, identified via a cell and particle index.
|
| |
| std::tuple< const Particle_T *, size_t, size_t > | getParticle (size_t cellIndex, size_t particleIndex, IteratorBehavior iteratorBehavior) const override |
| | Fetch the pointer to a particle, identified via a cell and particle index.
|
| |
| template<bool regionIter> |
| std::tuple< const Particle_T *, size_t, size_t > | getParticleImpl (size_t cellIndex, size_t particleIndex, IteratorBehavior iteratorBehavior, const std::array< double, 3 > &boxMin, const std::array< double, 3 > &boxMax) const |
| | Container specific implementation for getParticle.
|
| |
| bool | deleteParticle (Particle_T &particle) override |
| | Deletes the given particle as long as this does not compromise the validity of the container.
|
| |
| bool | deleteParticle (size_t cellIndex, size_t particleIndex) override |
| | Deletes the particle at the given index positions as long as this does not compromise the validity of the container.
|
| |
| ContainerIterator< ParticleType, true, false > | begin (IteratorBehavior behavior=autopas::IteratorBehavior::ownedOrHalo, typename ContainerIterator< ParticleType, true, false >::ParticleVecType *additionalVectors=nullptr) override |
| | Iterate over all particles using for(auto iter = container.begin(); iter.isValid(); ++iter) .
|
| |
| ContainerIterator< ParticleType, false, false > | begin (IteratorBehavior behavior=autopas::IteratorBehavior::ownedOrHalo, typename ContainerIterator< ParticleType, false, false >::ParticleVecType *additionalVectors=nullptr) const override |
| | Iterate over all particles using for(auto iter = container.begin(); iter.isValid(); ++iter) .
|
| |
| template<typename Lambda > |
| void | forEach (Lambda forEachLambda, IteratorBehavior behavior=IteratorBehavior::ownedOrHalo) |
| | Execute code on all particles in this container as defined by a lambda function.
|
| |
| template<typename Lambda , typename A > |
| void | reduce (Lambda reduceLambda, A &result, IteratorBehavior behavior=IteratorBehavior::ownedOrHalo) |
| | Reduce properties of particles as defined by a lambda function.
|
| |
| ContainerIterator< ParticleType, true, true > | getRegionIterator (const std::array< double, 3 > &lowerCorner, const std::array< double, 3 > &higherCorner, IteratorBehavior behavior, typename ContainerIterator< ParticleType, true, true >::ParticleVecType *additionalVectors=nullptr) override |
| | Iterate over all particles in a specified region for(auto iter = container.getRegionIterator(lowCorner, highCorner);iter.isValid();++iter) .
|
| |
| ContainerIterator< ParticleType, false, true > | getRegionIterator (const std::array< double, 3 > &lowerCorner, const std::array< double, 3 > &higherCorner, IteratorBehavior behavior, typename ContainerIterator< ParticleType, false, true >::ParticleVecType *additionalVectors=nullptr) const override |
| | Iterate over all particles in a specified region for(auto iter = container.getRegionIterator(lowCorner, highCorner);iter.isValid();++iter) .
|
| |
| template<typename Lambda > |
| void | forEachInRegion (Lambda forEachLambda, const std::array< double, 3 > &lowerCorner, const std::array< double, 3 > &higherCorner, IteratorBehavior behavior) |
| | Execute code on all particles in this container in a certain region as defined by a lambda function.
|
| |
| template<typename Lambda , typename A > |
| void | reduceInRegion (Lambda reduceLambda, A &result, const std::array< double, 3 > &lowerCorner, const std::array< double, 3 > &higherCorner, IteratorBehavior behavior) |
| | Execute code on all particles in this container in a certain region as defined by a lambda function.
|
| |
| internal::CellBlock3D< ParticleCell > & | getCellBlock () |
| | Get the cell block, not supposed to be used except by verlet lists.
|
| |
| const internal::CellBlock3D< ParticleCell > & | getCellBlock () const |
| | Get the cell block, not supposed to be used except by verlet lists.
|
| |
| std::vector< ParticleCell > & | getCells () |
| | Returns a non-const reference to the cell data structure.
|
| |
Public Member Functions inherited from autopas::CellBasedParticleContainer< FullParticleCell< Particle_T > > |
| | CellBasedParticleContainer (const std::array< double, 3 > &boxMin, const std::array< double, 3 > &boxMax, const double cutoff, double skin, unsigned int rebuildFrequency) |
| | Constructor of CellBasedParticleContainer.
|
| |
| | CellBasedParticleContainer (const CellBasedParticleContainer &obj)=delete |
| | Delete the copy constructor to prevent unwanted copies.
|
| |
|
| ~CellBasedParticleContainer () override=default |
| | Destructor of CellBasedParticleContainer.
|
| |
| CellBasedParticleContainer & | operator= (const CellBasedParticleContainer &other)=delete |
| | Delete the copy assignment operator to prevent unwanted copies No particle container should ever be copied.
|
| |
| const std::array< double, 3 > & | getBoxMax () const final |
| | Get the upper corner of the container without halo.
|
| |
| const std::array< double, 3 > & | getBoxMin () const final |
| | Get the lower corner of the container without halo.
|
| |
| double | getCutoff () const final |
| | Return the cutoff of the container.
|
| |
| void | setCutoff (double cutoff) final |
| | Set the cutoff of the container.
|
| |
| double | getInteractionLength () const final |
| | Return the interaction length (cutoff+skin) of the container.
|
| |
| double | getVerletSkin () const final |
| | Returns the verlet Skin length.
|
| |
| void | deleteAllParticles () override |
| | Deletes all particles from the container.
|
| |
| size_t | getNumberOfParticles (IteratorBehavior behavior) const override |
| | Get the number of particles with respect to the specified IteratorBehavior.
|
| |
| size_t | size () const override |
| | Get the total number of particles saved in the container (owned + halo + dummy).
|
| |
| const std::vector< FullParticleCell< Particle_T > > & | getCells () const |
| | Get immutable vector of cells.
|
| |
Public Member Functions inherited from autopas::ParticleContainerInterface< ParticleCell::ParticleType > |
| virtual CellType | getParticleCellTypeEnum () const=0 |
| | Get the ParticleCell type as an Enum.
|
| |
| | ParticleContainerInterface (double skin) |
| | Constructor.
|
| |
| | ParticleContainerInterface (const ParticleContainerInterface &obj)=delete |
| | Delete the copy constructor to prevent unwanted copies.
|
| |
|
virtual | ~ParticleContainerInterface ()=default |
| | Destructor of ParticleContainerInterface.
|
| |
| ParticleContainerInterface & | operator= (const ParticleContainerInterface &other)=delete |
| | Delete the copy assignment operator to prevent unwanted copies.
|
| |
| virtual ContainerOption | getContainerType () const=0 |
| | Get the ContainerType.
|
| |
| virtual void | reserve (size_t numParticles, size_t numParticlesHaloEstimate)=0 |
| | Reserve memory for a given number of particles in the container and logic layers.
|
| |
| void | addParticle (const ParticleCell::ParticleType &p) |
| | Adds a particle to the container.
|
| |
| void | addHaloParticle (const ParticleCell::ParticleType &haloParticle) |
| | Adds a particle to the container that lies in the halo region of the container.
|
| |
| virtual bool | updateHaloParticle (const ParticleCell::ParticleType &haloParticle)=0 |
| | Update a halo particle of the container with the given haloParticle.
|
| |
| virtual void | rebuildNeighborLists (TraversalInterface *traversal)=0 |
| | Rebuilds the neighbor lists for the next traversals.
|
| |
| virtual void | deleteHaloParticles ()=0 |
| | Deletes all halo particles.
|
| |
| virtual void | deleteAllParticles ()=0 |
| | Deletes all particles.
|
| |
| virtual size_t | getNumberOfParticles (IteratorBehavior behavior=IteratorBehavior::owned) const=0 |
| | Get the number of particles with respect to the specified IteratorBehavior.
|
| |
| virtual size_t | size () const=0 |
| | Get the total number of particles saved in the container (owned + halo + dummy).
|
| |
| virtual ContainerIterator< ParticleType, true, false > | begin (IteratorBehavior behavior=autopas::IteratorBehavior::ownedOrHalo, typename ContainerIterator< ParticleType, true, false >::ParticleVecType *additionalVectors=nullptr)=0 |
| | Iterate over all particles using for(auto iter = container.begin(); iter.isValid(); ++iter) .
|
| |
| virtual ContainerIterator< ParticleType, false, false > | begin (IteratorBehavior behavior=autopas::IteratorBehavior::ownedOrHalo, typename ContainerIterator< ParticleType, false, false >::ParticleVecType *additionalVectors=nullptr) const=0 |
| | Iterate over all particles using for(auto iter = container.begin(); iter.isValid(); ++iter) .
|
| |
| virtual ContainerIterator< ParticleType, false, false > | cbegin (IteratorBehavior behavior=autopas::IteratorBehavior::ownedOrHalo, typename ContainerIterator< ParticleType, false, false >::ParticleVecType *additionalVectors=nullptr) const final |
| | Iterate over all particles using for(auto iter = container.begin(); iter.isValid(); ++iter) .
|
| |
| virtual ContainerIterator< ParticleType, true, true > | getRegionIterator (const std::array< double, 3 > &lowerCorner, const std::array< double, 3 > &higherCorner, IteratorBehavior behavior, typename ContainerIterator< ParticleType, true, true >::ParticleVecType *additionalVectors=nullptr)=0 |
| | Iterate over all particles in a specified region for(auto iter = container.getRegionIterator(lowCorner, highCorner);iter.isValid();++iter) .
|
| |
| virtual ContainerIterator< ParticleType, false, true > | getRegionIterator (const std::array< double, 3 > &lowerCorner, const std::array< double, 3 > &higherCorner, IteratorBehavior behavior, typename ContainerIterator< ParticleType, false, true >::ParticleVecType *additionalVectors=nullptr) const=0 |
| | Iterate over all particles in a specified region for(auto iter = container.getRegionIterator(lowCorner, highCorner);iter.isValid();++iter) .
|
| |
| constexpr bool | end () const |
| | Dummy to make range-based for loops work.
|
| |
| virtual void | computeInteractions (TraversalInterface *traversal)=0 |
| | Iterates over all particle multiples (e.g.
|
| |
| virtual const std::array< double, 3 > & | getBoxMax () const=0 |
| | Get the upper corner of the container without halo.
|
| |
| virtual const std::array< double, 3 > & | getBoxMin () const=0 |
| | Get the lower corner of the container without halo.
|
| |
| virtual double | getCutoff () const=0 |
| | Return the cutoff of the container.
|
| |
| virtual void | setCutoff (double cutoff)=0 |
| | Set the cutoff of the container.
|
| |
| virtual double | getVerletSkin () const=0 |
| | Return the verletSkin of the container verletSkin.
|
| |
| virtual size_t | getStepsSinceLastRebuild () const |
| | Return the number of time-steps since last neighbor list rebuild.
|
| |
| virtual void | setStepsSinceLastRebuild (size_t stepsSinceLastRebuild) |
| | Set the number of time-steps since last neighbor list rebuild.
|
| |
| virtual double | getInteractionLength () const=0 |
| | Return the interaction length (cutoff+skin) of the container.
|
| |
| virtual std::vector< ParticleType > | updateContainer (bool keepNeighborListsValid)=0 |
| | Updates the container.
|
| |
| virtual TraversalSelectorInfo | getTraversalSelectorInfo () const=0 |
| | Generates a traversal selector info for this container.
|
| |
| std::set< TraversalOption > | getAllTraversals (const InteractionTypeOption interactionType) const |
| | Generates a list of all traversals that are theoretically applicable to this container.
|
| |
| virtual std::tuple< const ParticleCell::ParticleType *, size_t, size_t > | getParticle (size_t cellIndex, size_t particleIndex, IteratorBehavior iteratorBehavior) const=0 |
| | Fetch the pointer to a particle, identified via a cell and particle index.
|
| |
| virtual std::tuple< const ParticleCell::ParticleType *, size_t, size_t > | getParticle (size_t cellIndex, size_t particleIndex, IteratorBehavior iteratorBehavior, const std::array< double, 3 > &boxMin, const std::array< double, 3 > &boxMax) const=0 |
| | Fetch the pointer to a particle, identified via a cell and particle index.
|
| |
| std::tuple< ParticleCell::ParticleType *, size_t, size_t > | getParticle (size_t cellIndex, size_t particleIndex, IteratorBehavior iteratorBehavior, const std::array< double, 3 > &boxMin, const std::array< double, 3 > &boxMax) |
| | Fetch the pointer to a particle, identified via a cell and particle index.
|
| |
| std::tuple< ParticleCell::ParticleType *, size_t, size_t > | getParticle (size_t cellIndex, size_t particleIndex, IteratorBehavior iteratorBehavior) |
| | Fetch the pointer to a particle, identified via a cell and particle index.
|
| |
| virtual bool | deleteParticle (ParticleCell::ParticleType &particle)=0 |
| | Deletes the given particle as long as this does not compromise the validity of the container.
|
| |
| virtual bool | deleteParticle (size_t cellIndex, size_t particleIndex)=0 |
| | Deletes the particle at the given index positions as long as this does not compromise the validity of the container.
|
| |