|
| | CellBasedParticleContainer (const std::array< double, 3 > &boxMin, const std::array< double, 3 > &boxMax, const double cutoff, const double skin, const size_t sortingThreshold) |
| | Constructor of CellBasedParticleContainer.
|
| |
|
| ~CellBasedParticleContainer () override=default |
| | Destructor of CellBasedParticleContainer.
|
| |
| | CellBasedParticleContainer (const CellBasedParticleContainer &obj)=delete |
| | Delete the copy constructor to prevent unwanted copies.
|
| |
| 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< ParticleCellType > & | getCells () const |
| | Get immutable vector of cells.
|
| |
Public Member Functions inherited from autopas::ParticleContainerInterface< ParticleCell_T::ParticleType > |
| | 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_T::ParticleType &p) |
| | Adds a particle to the container.
|
| |
| void | addHaloParticle (const ParticleCell_T::ParticleType &haloParticle) |
| | Adds a particle to the container that lies in the halo region of the container.
|
| |
| virtual bool | updateHaloParticle (const ParticleCell_T::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< ParticleCell_T::ParticleType, true, false > | begin (IteratorBehavior behavior=IteratorBehavior::ownedOrHalo, typename ContainerIterator< ParticleCell_T::ParticleType, true, false >::ParticleVecType *additionalVectors=nullptr)=0 |
| | Iterate over all particles using for(auto iter = container.begin(); iter.isValid(); ++iter) .
|
| |
| virtual ContainerIterator< ParticleCell_T::ParticleType, false, false > | begin (IteratorBehavior behavior=IteratorBehavior::ownedOrHalo, typename ContainerIterator< ParticleCell_T::ParticleType, false, false >::ParticleVecType *additionalVectors=nullptr) const=0 |
| | Iterate over all particles using for(auto iter = container.begin(); iter.isValid(); ++iter) .
|
| |
| ContainerIterator< ParticleCell_T::ParticleType, false, false > | cbegin (IteratorBehavior behavior=IteratorBehavior::ownedOrHalo, typename ContainerIterator< ParticleCell_T::ParticleType, false, false >::ParticleVecType *additionalVectors=nullptr) const |
| | Iterate over all particles using for(auto iter = container.begin(); iter.isValid(); ++iter) .
|
| |
| virtual ContainerIterator< ParticleCell_T::ParticleType, true, true > | getRegionIterator (const std::array< double, 3 > &lowerCorner, const std::array< double, 3 > &higherCorner, IteratorBehavior behavior, typename ContainerIterator< ParticleCell_T::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< ParticleCell_T::ParticleType, false, true > | getRegionIterator (const std::array< double, 3 > &lowerCorner, const std::array< double, 3 > &higherCorner, IteratorBehavior behavior, typename ContainerIterator< ParticleCell_T::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< ParticleCell_T::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_T::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_T::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_T::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_T::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_T::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.
|
| |
template<class ParticleCell_T>
class autopas::CellBasedParticleContainer< ParticleCell_T >
The CellBasedParticleContainer class stores particles in some object and provides methods to iterate over its particles.
- Template Parameters
-
| ParticleCell_T | Class for the particle cells |