This sum defines the traversal typically used by the DirectSum container. More...
#include <DSSequentialTraversal.h>


Public Member Functions | |
| DSSequentialTraversal (Functor &functor, double cutoff, DataLayoutOption dataLayout, bool useNewton3) | |
| Constructor for the DirectSum traversal. | |
| TraversalOption | getTraversalType () const override |
| Return a enum representing the name of the traversal class. | |
| bool | isApplicableToDomain () 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. | |
| void | setAoSSortingThreshold (size_t aosSortingThreshold) override |
| Set the aos-sorting-threshold for traversals that use the CellFunctor If the sum of the number of particles in two cells is greater or equal to that value, the CellFunctor creates a sorted view of the particles to avoid unnecessary distance checks. | |
| void | setSoASortingThreshold (size_t soaSortingThreshold) override |
| Set the SoA sorting-threshold for traversals that use the CellFunctor. | |
Public Member Functions inherited from autopas::CellTraversal< ParticleCell > | |
| CellTraversal (const std::array< unsigned long, 3 > &dims) | |
| Constructor of CellTraversal. | |
| virtual | ~CellTraversal ()=default |
| Destructor of CellTraversal. | |
| virtual void | setCellsToTraverse (std::vector< ParticleCell > &cells) |
| Sets the cells to iterate over. | |
| virtual void | setAoSSortingThreshold (size_t aosSortingThreshold)=0 |
| Set the aos-sorting-threshold for traversals that use the CellFunctor If the sum of the number of particles in two cells is greater or equal to that value, the CellFunctor creates a sorted view of the particles to avoid unnecessary distance checks. | |
| virtual void | setSoASortingThreshold (size_t soaSortingThreshold)=0 |
| Set the SoA sorting-threshold for traversals that use the CellFunctor. | |
Public Member Functions inherited from autopas::TraversalInterface | |
| 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 | isApplicableToDomain () 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. | |
Additional Inherited Members | |
Protected Attributes inherited from autopas::CellTraversal< ParticleCell > | |
| std::array< unsigned long, 3 > | _cellsPerDimension |
| The dimensions of the cellblock. | |
| std::vector< ParticleCell > * | _cells |
| The cells to traverse. | |
Protected Attributes inherited from autopas::TraversalInterface | |
| DataLayoutOption | _dataLayout |
| The datalayout used by this traversal. | |
| bool | _useNewton3 |
| If this traversal makes use of newton3. | |
This sum defines the traversal typically used by the DirectSum container.
| ParticleCell | the type of cells |
| Functor | The functor that defines the interaction of particles. |
|
inlineexplicit |
Constructor for the DirectSum traversal.
| functor | The functor that defines the interaction of particles. |
| cutoff | cutoff (this is enough for the directsum traversal, please don't use the interaction length here.) |
| dataLayout | The data layout with which this traversal should be initialized. |
| useNewton3 | Parameter to specify whether the traversal makes use of newton3 or not. |
|
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.
This is designed to only return false if the traversal is inapplicable for domain-related issues. Domain-independent factors in a traversal being inapplicable should be handled by Configuration::hasCompatibleValues.
Implements autopas::TraversalInterface.
|
inlineoverridevirtual |
Set the aos-sorting-threshold for traversals that use the CellFunctor If the sum of the number of particles in two cells is greater or equal to that value, the CellFunctor creates a sorted view of the particles to avoid unnecessary distance checks.
| aosSortingThreshold | Sum of the number of particles in two cells from which sorting should be enabled |
Implements autopas::CellTraversal< ParticleCell >.
|
inlineoverridevirtual |
Set the SoA sorting-threshold for traversals that use the CellFunctor.
If the sum of the SoA buffer sizes of two cells exceeds this value, the SoA path uses SoAFunctorPairSorted. Traversals that hold a CellFunctor should forward to it; others should explicitly override with an empty body.
Implements autopas::CellTraversal< ParticleCell >.
|
overridevirtual |
Traverse the particles by pairs, triplets etc.
as determined by the Functor type.
Implements autopas::TraversalInterface.