AutoPas  3.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
autopas::CellTraversal< ParticleCell > Class Template Referenceabstract

A cell pair traversal. More...

#include <CellTraversal.h>

Inheritance diagram for autopas::CellTraversal< ParticleCell >:
Inheritance graph
[legend]

Public Member Functions

 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.
 

Protected Attributes

std::array< unsigned long, 3 > _cellsPerDimension
 The dimensions of the cellblock.
 
std::vector< ParticleCell > * _cells
 The cells to traverse.
 

Detailed Description

template<class ParticleCell>
class autopas::CellTraversal< ParticleCell >

A cell pair traversal.

This class handles traversals through the cell structures. Derived classes handle the order through which the cells are traversed and should additional inherit from TraversalInterface

Template Parameters
ParticleCelltype of cells.

Constructor & Destructor Documentation

◆ CellTraversal()

template<class ParticleCell >
autopas::CellTraversal< ParticleCell >::CellTraversal ( const std::array< unsigned long, 3 > &  dims)
inlineexplicit

Constructor of CellTraversal.

Parameters
dimsthe dimensions of the cellblock.

Member Function Documentation

◆ setCellsToTraverse()

template<class ParticleCell >
virtual void autopas::CellTraversal< ParticleCell >::setCellsToTraverse ( std::vector< ParticleCell > &  cells)
inlinevirtual

Sets the cells to iterate over.

Should always be called before initTraversal().

Parameters
cellsThe cells to iterate over.

◆ setSortingThreshold()

template<class ParticleCell >
virtual void autopas::CellTraversal< ParticleCell >::setSortingThreshold ( size_t  sortingThreshold)
pure virtual

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.

Parameters
sortingThresholdSum of the number of particles in two cells from which sorting should be enabled

Implemented in autopas::DSSequentialTraversal< ParticleCell, Functor >, autopas::LCC01Traversal< ParticleCell, Functor, combineSoA >, autopas::LCC04CombinedSoATraversal< ParticleCell, PairwiseFunctor >, autopas::LCC04HCPTraversal< ParticleCell, PairwiseFunctor >, autopas::LCC04Traversal< ParticleCell, PairwiseFunctor >, autopas::LCC08Traversal< ParticleCell, PairwiseFunctor >, autopas::LCC18Traversal< ParticleCell, PairwiseFunctor >, autopas::LCSlicedBalancedTraversal< ParticleCell, PairwiseFunctor >, autopas::LCSlicedC02Traversal< ParticleCell, PairwiseFunctor >, autopas::LCSlicedTraversal< ParticleCell, PairwiseFunctor >, autopas::OTC01Traversal< Particle_T, PairwiseFunctor >, autopas::OTC18Traversal< Particle_T, PairwiseFunctor >, autopas::VCLC06Traversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedBalancedTraversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedC02Traversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedTraversal< ParticleCell, PairwiseFunctor >, autopas::VLCC01Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCC08Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCC18Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCCellPairC08Traversal< ParticleCell, PairwiseFunctor >, autopas::VLCSlicedBalancedTraversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCSlicedC02Traversal< ParticleCell, PairwiseFunctor, NeighborList >, and autopas::VLCSlicedTraversal< ParticleCell, PairwiseFunctor, NeighborList >.

Member Data Documentation

◆ _cellsPerDimension

template<class ParticleCell >
std::array<unsigned long, 3> autopas::CellTraversal< ParticleCell >::_cellsPerDimension
protected

The dimensions of the cellblock.

The dimensions are the number of cells in x, y and z direction.


The documentation for this class was generated from the following file: