AutoPas  3.0.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor > Class Template Reference

Traversal for VarVerletLists with VerletNeighborListAsBuild as neighbor list. More...

#include <VVLAsBuildTraversal.h>

Inheritance diagram for autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >:
Inheritance graph
[legend]
Collaboration diagram for autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >:
Collaboration graph
[legend]

Public Member Functions

 VVLAsBuildTraversal (PairwiseFunctor *pairwiseFunctor, DataLayoutOption dataLayout, bool useNewton3)
 The Constructor of VVLAsBuildTraversal.
 
void initTraversal () override
 Initializes the traversal.
 
void endTraversal () override
 Finalizes the traversal.
 
void traverseParticles () override
 Traverse the particles by pairs, triplets etc.
 
bool isApplicable () const override
 Checks if the traversal is applicable to the current state of the domain.
 
TraversalOption getTraversalType () const override
 Return a enum representing the name of the traversal class.
 
- Public Member Functions inherited from autopas::VVLTraversalInterface< VerletNeighborListAsBuild< Particle_T > >
 VVLTraversalInterface ()=default
 Constructor of VVLTraversalInterface.
 
virtual ~VVLTraversalInterface ()=default
 Virtual default destructor.
 
virtual void setNeighborListToTraverse (VerletNeighborListAsBuild< Particle_T > &neighborList)
 Sets the neighbor list to traverse.
 
- 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 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.
 

Additional Inherited Members

- Protected Attributes inherited from autopas::VVLTraversalInterface< VerletNeighborListAsBuild< Particle_T > >
VerletNeighborListAsBuild< Particle_T > * _neighborList
 The neighbor list 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.
 

Detailed Description

template<class ParticleCell, class Particle_T, class PairwiseFunctor>
class autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >

Traversal for VarVerletLists with VerletNeighborListAsBuild as neighbor list.

Every particle pair will be processed by the same thread in the same color as during the build of the neighbor list.

Template Parameters
ParticleCell
Particle_TThe particle type used by the neighbor list.
PairwiseFunctorThe type of the functor to use for the iteration.

Constructor & Destructor Documentation

◆ VVLAsBuildTraversal()

template<class ParticleCell , class Particle_T , class PairwiseFunctor >
autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >::VVLAsBuildTraversal ( PairwiseFunctor pairwiseFunctor,
DataLayoutOption  dataLayout,
bool  useNewton3 
)
inlineexplicit

The Constructor of VVLAsBuildTraversal.

Parameters
pairwiseFunctorThe functor to use for the iteration.
dataLayoutThe data layout to use.
useNewton3Whether or not this traversal uses newton 3.

Member Function Documentation

◆ endTraversal()

template<class ParticleCell , class Particle_T , class PairwiseFunctor >
void autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >::endTraversal ( )
inlineoverridevirtual

Finalizes the traversal.

Should be called after traverse().

Implements autopas::TraversalInterface.

◆ getTraversalType()

template<class ParticleCell , class Particle_T , class PairwiseFunctor >
TraversalOption autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >::getTraversalType ( ) const
inlineoverridevirtual

Return a enum representing the name of the traversal class.

Returns
Enum representing traversal.

Implements autopas::TraversalInterface.

◆ initTraversal()

template<class ParticleCell , class Particle_T , class PairwiseFunctor >
void autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >::initTraversal ( )
inlineoverridevirtual

Initializes the traversal.

Should be called before traverse().

Implements autopas::TraversalInterface.

◆ isApplicable()

template<class ParticleCell , class Particle_T , class PairwiseFunctor >
bool autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >::isApplicable ( ) const
inlineoverridevirtual

Checks if the traversal is applicable to the current state of the domain.

Returns
true iff the traversal can be applied.

Implements autopas::TraversalInterface.

◆ traverseParticles()

template<class ParticleCell , class Particle_T , class PairwiseFunctor >
void autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >::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: