Traversal for VerletClusterLists. More...
#include <VCLClusterIterationTraversal.h>
Public Member Functions | |
VCLClusterIterationTraversal (PairwiseFunctor *pairwiseFunctor, size_t clusterSize, DataLayoutOption dataLayout, bool useNewton3) | |
Constructor of the VCLClusterIterationTraversal. | |
TraversalOption | getTraversalType () const override |
Return a enum representing the name of the traversal class. | |
bool | isApplicable () const override |
Checks if the traversal is applicable to the current state of the domain. | |
void | initTraversal () override |
Initializes the traversal. | |
void | endTraversal () override |
Finalizes the traversal. | |
void | traverseParticles () override |
Traverse the particles by pairs, triplets etc. | |
![]() | |
virtual | ~TraversalInterface ()=default |
Destructor of TraversalInterface. | |
TraversalInterface (DataLayoutOption dataLayout, bool useNewton3) | |
Constructor of the TraversalInterface. | |
virtual TraversalOption | getTraversalType () const =0 |
Return a enum representing the name of the traversal class. | |
virtual bool | isApplicable () const =0 |
Checks if the traversal is applicable to the current state of the domain. | |
virtual void | initTraversal ()=0 |
Initializes the traversal. | |
virtual void | traverseParticles ()=0 |
Traverse the particles by pairs, triplets etc. | |
virtual void | endTraversal ()=0 |
Finalizes the traversal. | |
bool | getUseNewton3 () const |
Return whether the traversal uses newton 3. | |
DataLayoutOption | getDataLayout () const |
Return the data layout option. | |
![]() | |
virtual | ~VCLTraversalInterface ()=default |
virtual default destructor. | |
virtual void | setClusterLists (VerletClusterLists< ParticleCell::ParticleType > &verletClusterLists) |
Sets the cluster list for the traversal to iterate over. | |
virtual void | setTowers (std::vector< internal::ClusterTower< ParticleCell::ParticleType > > &towers) |
Sets the towers of the cluster list for the traversal to iterate over. | |
virtual bool | needsStaticClusterThreadPartition () |
Returns whether this traversal needs the static cluster thread partiton of the cluster list. | |
Additional Inherited Members | |
![]() | |
DataLayoutOption | _dataLayout |
The datalayout used by this traversal. | |
bool | _useNewton3 |
If this traversal makes use of newton3. | |
![]() | |
VerletClusterLists< ParticleCell::ParticleType > * | _verletClusterLists |
The cluster list to iterate over. | |
std::vector< internal::ClusterTower< ParticleCell::ParticleType > > * | _towers |
The towers of the cluster list to iterate over. | |
Traversal for VerletClusterLists.
Does not support newton 3.
ParticleCell | |
PairwiseFunctor | The type of the functor. |
|
inlineexplicit |
Constructor of the VCLClusterIterationTraversal.
pairwiseFunctor | The functor to use for the traversal. |
clusterSize | Number of particles per cluster. |
dataLayout | The data layout to use. Currently, only AoS is supported. |
useNewton3 | If newton 3 should be used. Currently, only false is supported. |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Return a enum representing the name of the traversal class.
Implements autopas::TraversalInterface.
|
inlineoverridevirtual |
Initializes the traversal.
Should be called before traverse().
Implements autopas::TraversalInterface.
|
inlineoverridevirtual |
Checks if the traversal is applicable to the current state of the domain.
Implements autopas::TraversalInterface.
|
inlineoverridevirtual |
Traverse the particles by pairs, triplets etc.
as determined by the Functor type.
Implements autopas::TraversalInterface.