AutoPas  3.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
autopas::VLCTraversalInterface< Particle_T, NeighborList > Class Template Reference

This class provides the Traversal Interface for the verlet lists cells container. More...

#include <VLCTraversalInterface.h>

Inheritance diagram for autopas::VLCTraversalInterface< Particle_T, NeighborList >:
Inheritance graph
[legend]
Collaboration diagram for autopas::VLCTraversalInterface< Particle_T, NeighborList >:
Collaboration graph
[legend]

Public Member Functions

 VLCTraversalInterface (ContainerOption typeOfList)
 Constructor of the VLCTraversalInterface.
 
virtual void setVerletList (NeighborList &verlet)
 Sets the verlet list for the traversal to iterate over.
 

Protected Member Functions

template<class PairwiseFunctor >
void processCellLists (NeighborList &neighborLists, unsigned long cellIndex, PairwiseFunctor *pairwiseFunctor, DataLayoutOption dataLayout, bool useNewton3)
 Iterate over all neighbor lists list of a given cell.
 
template<class PairwiseFunctor >
void loadSoA (PairwiseFunctor *pairwiseFunctor, NeighborList &neighborLists)
 Load the SoA from the respective neighbor list.
 
template<class PairwiseFunctor >
void extractSoA (PairwiseFunctor *pairwiseFunctor, NeighborList &neighborLists)
 Extract the SoA from the respective neighbor list.
 

Protected Attributes

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.
 

Detailed Description

template<class Particle_T, class NeighborList>
class autopas::VLCTraversalInterface< Particle_T, NeighborList >

This class provides the Traversal Interface for the verlet lists cells container.

This class handles traversals through the cell structures with neighbor lists. Derived classes handle the order through which the cells are traversed.

The container only accepts traversals in its computeInteractions() method that implement this interface.

Constructor & Destructor Documentation

◆ VLCTraversalInterface()

template<class Particle_T , class NeighborList >
autopas::VLCTraversalInterface< Particle_T, NeighborList >::VLCTraversalInterface ( ContainerOption  typeOfList)
inline

Constructor of the VLCTraversalInterface.

Parameters
typeOfListindicates the type of neighbor list as an enum value, currently only used for getTraversalType

Member Function Documentation

◆ extractSoA()

template<class Particle_T , class NeighborList >
template<class PairwiseFunctor >
void autopas::VLCTraversalInterface< Particle_T, NeighborList >::extractSoA ( PairwiseFunctor pairwiseFunctor,
NeighborList &  neighborLists 
)
inlineprotected

Extract the SoA from the respective neighbor list.

Template Parameters
pairwiseFunctor
Parameters
pairwiseFunctor
neighborLists

◆ loadSoA()

template<class Particle_T , class NeighborList >
template<class PairwiseFunctor >
void autopas::VLCTraversalInterface< Particle_T, NeighborList >::loadSoA ( PairwiseFunctor pairwiseFunctor,
NeighborList &  neighborLists 
)
inlineprotected

Load the SoA from the respective neighbor list.

Template Parameters
pairwiseFunctor
Parameters
pairwiseFunctor
neighborLists

◆ processCellLists()

template<class Particle_T , class NeighborList >
template<class PairwiseFunctor >
void autopas::VLCTraversalInterface< Particle_T, NeighborList >::processCellLists ( NeighborList &  neighborLists,
unsigned long  cellIndex,
PairwiseFunctor pairwiseFunctor,
DataLayoutOption  dataLayout,
bool  useNewton3 
)
inlineprotected

Iterate over all neighbor lists list of a given cell.

Template Parameters
PairwiseFunctor
Parameters
neighborListsA suitable neighbor list.
cellIndex
pairwiseFunctor
dataLayout
useNewton3

◆ setVerletList()

template<class Particle_T , class NeighborList >
virtual void autopas::VLCTraversalInterface< Particle_T, NeighborList >::setVerletList ( NeighborList &  verlet)
inlinevirtual

Sets the verlet list for the traversal to iterate over.

Parameters
verletThe verlet list to iterate over.

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