AutoPas  3.0.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
autopas::VerletNeighborListInterface< Particle_T > Class Template Referenceabstract

Interface for neighbor lists used by VarVerletLists. More...

#include <VerletNeighborListInterface.h>

Inheritance diagram for autopas::VerletNeighborListInterface< Particle_T >:
Inheritance graph
[legend]

Public Member Functions

virtual ~VerletNeighborListInterface ()=default
 virtual default destructor
 
virtual ContainerOption getContainerType () const =0
 Returns the ContainerOption this neighbor list is for.
 
virtual void buildAoSNeighborList (LinkedCells< Particle_T > &linkedCells, bool useNewton3)=0
 Builds the neighbor list from a LinkedCells object.
 
virtual bool checkNeighborListValidity (bool useNewton3, double cutoff)=0
 Checks if the neighbor list contains all pairs that is should.
 
virtual void generateSoAFromAoS ()=0
 Generates the SoA from the AoS.
 
virtual bool isSoAListValid () const =0
 Returns whether the SoA is build and up to date with the AoS.
 
virtual long getNumberOfNeighborPairs () const =0
 Returns the number of neighbor pairs in the list.
 

Detailed Description

template<class Particle_T>
class autopas::VerletNeighborListInterface< Particle_T >

Interface for neighbor lists used by VarVerletLists.

Template Parameters
Particle_TThe particle type this neighbor list uses.

Member Function Documentation

◆ buildAoSNeighborList()

template<class Particle_T >
virtual void autopas::VerletNeighborListInterface< Particle_T >::buildAoSNeighborList ( LinkedCells< Particle_T > &  linkedCells,
bool  useNewton3 
)
pure virtual

Builds the neighbor list from a LinkedCells object.

This only builds the AoS.

Parameters
linkedCellsThe linked cells to use for building the neighbor list.
useNewton3If true, use newton 3 for the neighbor list.

Implemented in autopas::VerletNeighborListAsBuild< Particle_T >.

◆ checkNeighborListValidity()

template<class Particle_T >
virtual bool autopas::VerletNeighborListInterface< Particle_T >::checkNeighborListValidity ( bool  useNewton3,
double  cutoff 
)
pure virtual

Checks if the neighbor list contains all pairs that is should.

This is very costly, comparable to rebuilding it.

Parameters
useNewton3If the neighbor list should use newton 3.
cutoffThe cutoff. Two particles that are further away than this distance are not considered.
Returns
If the current neighbor list is valid.

Implemented in autopas::VerletNeighborListAsBuild< Particle_T >.

◆ generateSoAFromAoS()

template<class Particle_T >
virtual void autopas::VerletNeighborListInterface< Particle_T >::generateSoAFromAoS ( )
pure virtual

Generates the SoA from the AoS.

See also
buildAoSNeighborList()

Implemented in autopas::VerletNeighborListAsBuild< Particle_T >.

◆ getContainerType()

template<class Particle_T >
virtual ContainerOption autopas::VerletNeighborListInterface< Particle_T >::getContainerType ( ) const
pure virtual

Returns the ContainerOption this neighbor list is for.

Returns
the ContainerOption this neighbor list is for.

Implemented in autopas::VerletNeighborListAsBuild< Particle_T >.

◆ getNumberOfNeighborPairs()

template<class Particle_T >
virtual long autopas::VerletNeighborListInterface< Particle_T >::getNumberOfNeighborPairs ( ) const
pure virtual

Returns the number of neighbor pairs in the list.

Returns
the number of neighbor pairs in the list.

Implemented in autopas::VerletNeighborListAsBuild< Particle_T >.

◆ isSoAListValid()

template<class Particle_T >
virtual bool autopas::VerletNeighborListInterface< Particle_T >::isSoAListValid ( ) const
pure virtual

Returns whether the SoA is build and up to date with the AoS.

Returns
True, if the SoA is up to date with the AoS, false otherwise.

Implemented in autopas::VerletNeighborListAsBuild< Particle_T >.


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