|
| VLCC01Traversal (const std::array< unsigned long, 3 > &dims, PairwiseFunctor *pairwiseFunctor, double interactionLength, const std::array< double, 3 > &cellLength, DataLayoutOption dataLayout, bool useNewton3, ContainerOption::Value typeOfList) |
| Constructor of the c01 traversal.
|
|
void | traverseParticles () override |
| Traverse the particles by pairs, triplets etc.
|
|
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 | setSortingThreshold (size_t sortingThreshold) override |
| Set the 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.
|
|
| C01BasedTraversal (const std::array< unsigned long, 3 > &dims, PairwiseFunctor *functor, double interactionLength, const std::array< double, 3 > &cellLength, DataLayoutOption dataLayout, bool useNewton3) |
| Constructor of the c01 traversal.
|
|
void | initTraversal () override |
| load Data Layouts required for this Traversal if cells have been set through setCellsToTraverse().
|
|
void | endTraversal () override |
| write Data to AoS if cells have been set through setCellsToTraverse().
|
|
| 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 | setSortingThreshold (size_t sortingThreshold)=0 |
| Set the 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 | ~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.
|
|
| VLCTraversalInterface (ContainerOption typeOfList) |
| Constructor of the VLCTraversalInterface.
|
|
virtual void | setVerletList (NeighborList &verlet) |
| Sets the verlet list for the traversal to iterate over.
|
|
|
void | c01Traversal (LoopBody &&loopBody) |
| The main traversal of the C01Traversal.
|
|
| ColorBasedTraversal (const std::array< unsigned long, 3 > &dims, Functor *functor, const double interactionLength, const std::array< double, 3 > &cellLength, DataLayoutOption dataLayout, bool useNewton3) |
| Constructor of the ColorBasedTraversal.
|
|
| ~ColorBasedTraversal () override=default |
| Destructor of ColorBasedTraversal.
|
|
template<typename LoopBody > |
void | colorTraversal (LoopBody &&loopBody, const std::array< unsigned long, 3 > &end, const std::array< unsigned long, 3 > &stride, const std::array< unsigned long, 3 > &offset={0ul, 0ul, 0ul}) |
| The main traversal of the ColorBasedTraversal.
|
|
virtual void | notifyColorChange (unsigned long newColor) |
| This method is called when the color during the traversal has changed.
|
|
void | processCellLists (NeighborList &neighborLists, unsigned long cellIndex, PairwiseFunctor *pairwiseFunctor, DataLayoutOption dataLayout, bool useNewton3) |
| Iterate over all neighbor lists list of a given cell.
|
|
void | loadSoA (PairwiseFunctor *pairwiseFunctor, NeighborList &neighborLists) |
| Load the SoA from the respective neighbor list.
|
|
void | extractSoA (PairwiseFunctor *pairwiseFunctor, NeighborList &neighborLists) |
| Extract the SoA from the respective neighbor list.
|
|
const double | _interactionLength |
| Interaction length (cutoff + skin).
|
|
const std::array< double, 3 > | _cellLength |
| cell length in CellBlock3D.
|
|
std::array< unsigned long, 3 > | _overlap |
| overlap of interacting cells.
|
|
std::array< unsigned long, 3 > | _cellsPerDimension |
| The dimensions of the cellblock.
|
|
std::vector< ParticleCell > * | _cells |
| The cells to traverse.
|
|
DataLayoutOption | _dataLayout |
| The datalayout used by this traversal.
|
|
bool | _useNewton3 |
| If this traversal makes use of newton3.
|
|
NeighborList * | _verletList |
| The verlet list to iterate over.
|
|
SoA< typename Particle_T::SoAArraysType > * | _soa |
| Structure of arrays to be used if the data layout is SoA.
|
|
ContainerOption | _typeOfList |
| The type of neighbor list as an enum value.
|
|
template<class
ParticleCell, class
PairwiseFunctor, class NeighborList>
class autopas::VLCC01Traversal< ParticleCell, PairwiseFunctor, NeighborList >
This class provides the c01 traversal.
The traversal uses the c01 base step performed on every single cell. newton3 cannot be applied!
- Template Parameters
-
ParticleCell | the type of cells |
PairwiseFunctor | The functor that defines the interaction of two particles. |
NeighborList | type of the neighbor list |