AutoPas  3.0.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
autopas::VLListIterationC27Traversal< ParticleCell_T, PairwiseFunctor_T > Class Template Reference

This class provides a colored Traversal for the verlet lists container. More...

#include <VLListIterationC27Traversal.h>

Inheritance diagram for autopas::VLListIterationC27Traversal< ParticleCell_T, PairwiseFunctor_T >:
Inheritance graph
[legend]
Collaboration diagram for autopas::VLListIterationC27Traversal< ParticleCell_T, PairwiseFunctor_T >:
Collaboration graph
[legend]

Public Member Functions

 VLListIterationC27Traversal (PairwiseFunctor_T &pairwiseFunctor, DataLayoutOption dataLayout, bool useNewton3, const std::array< unsigned long, 3 > &cellsPerDim)
 Constructor for colored Verlet Traversal.
 
TraversalOption getTraversalType () const override
 Return a enum representing the name of the traversal class.
 
bool isApplicableToDomain () const override
 VL List iteration C27 is always applicable to the domain.
 
void initTraversal () override
 Initializes the traversal.
 
void endTraversal () override
 Finalizes the traversal.
 
void traverseParticles () override
 Traverse the particles by pairs, triplets etc.
 
- 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.
 
- Public Member Functions inherited from autopas::VLTraversalInterface< ParticleCell_T >
virtual ~VLTraversalInterface ()=default
 Destructor.
 
virtual void setCellsAndNeighborLists (std::vector< ParticleCell_T > &cells, VerletListHelpers< ParticleType >::NeighborListCRS &neighborList, const std::unordered_map< const ParticleType *, size_t > &particleToIndex, const std::vector< ParticleType * > &indexToParticle)
 Sets the information the traversal needs for the iteration.
 

Additional Inherited Members

- Protected Attributes inherited from autopas::TraversalInterface
DataLayoutOption _dataLayout
 The datalayout used by this traversal.
 
bool _useNewton3
 If this traversal makes use of newton3.
 
- Protected Attributes inherited from autopas::VLTraversalInterface< ParticleCell_T >
std::vector< ParticleCell_T > * _cells
 The cells of the underlying linked cells container of the verlet lists container.
 
VerletListHelpers< ParticleType >::NeighborListCRS * _neighborList
 The flat CRS neighbor list.
 
const std::unordered_map< const ParticleType *, size_t > * _particleToIndex
 Map from particle pointers to their dense SoA index.
 
const std::vector< ParticleType * > * _indexToParticle
 Vector mapping SoA indices to particle pointers.
 

Detailed Description

template<class ParticleCell_T, class PairwiseFunctor_T>
class autopas::VLListIterationC27Traversal< ParticleCell_T, PairwiseFunctor_T >

This class provides a colored Traversal for the verlet lists container.

Template Parameters
ParticleCell_Tthe type of cells
PairwiseFunctor_TThe functor that defines the interaction of two particles.

Constructor & Destructor Documentation

◆ VLListIterationC27Traversal()

template<class ParticleCell_T , class PairwiseFunctor_T >
autopas::VLListIterationC27Traversal< ParticleCell_T, PairwiseFunctor_T >::VLListIterationC27Traversal ( PairwiseFunctor_T &  pairwiseFunctor,
DataLayoutOption  dataLayout,
bool  useNewton3,
const std::array< unsigned long, 3 > &  cellsPerDim 
)
inlineexplicit

Constructor for colored Verlet Traversal.

Parameters
pairwiseFunctorFunctor to be used with this Traversal
dataLayout
useNewton3
cellsPerDimDimensions of the cell grid (needed for coloring)

Member Function Documentation

◆ endTraversal()

template<class ParticleCell_T , class PairwiseFunctor_T >
void autopas::VLListIterationC27Traversal< ParticleCell_T, PairwiseFunctor_T >::endTraversal ( )
inlineoverridevirtual

Finalizes the traversal.

Should be called after traverse().

Implements autopas::TraversalInterface.

◆ getTraversalType()

template<class ParticleCell_T , class PairwiseFunctor_T >
TraversalOption autopas::VLListIterationC27Traversal< ParticleCell_T, PairwiseFunctor_T >::getTraversalType ( ) const
inlineoverridevirtual

Return a enum representing the name of the traversal class.

Returns
Enum representing traversal.

Implements autopas::TraversalInterface.

◆ initTraversal()

template<class ParticleCell_T , class PairwiseFunctor_T >
void autopas::VLListIterationC27Traversal< ParticleCell_T, PairwiseFunctor_T >::initTraversal ( )
inlineoverridevirtual

Initializes the traversal.

Should be called before traverse().

Implements autopas::TraversalInterface.

◆ isApplicableToDomain()

template<class ParticleCell_T , class PairwiseFunctor_T >
bool autopas::VLListIterationC27Traversal< ParticleCell_T, PairwiseFunctor_T >::isApplicableToDomain ( ) const
inlineoverridevirtual

VL List iteration C27 is always applicable to the domain.

Returns
true

Implements autopas::TraversalInterface.

◆ traverseParticles()

template<class ParticleCell_T , class PairwiseFunctor_T >
void autopas::VLListIterationC27Traversal< ParticleCell_T, PairwiseFunctor_T >::traverseParticles ( )
inlineoverridevirtual

Traverse the particles by pairs, triplets etc.

as determined by the Functor type.

Implements autopas::TraversalInterface.


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