AutoPas  3.0.0
Loading...
Searching...
No Matches
VerletNeighborListInterface.h
Go to the documentation of this file.
1
8#pragma once
9
10#include <vector>
11
14
15namespace autopas {
20template <class Particle_T>
22 public:
26 virtual ~VerletNeighborListInterface() = default;
27
32 [[nodiscard]] virtual ContainerOption getContainerType() const = 0;
33
39 virtual void buildAoSNeighborList(LinkedCells<Particle_T> &linkedCells, bool useNewton3) = 0;
40
49 virtual bool checkNeighborListValidity(bool useNewton3, double cutoff) = 0;
50
54 virtual void generateSoAFromAoS() = 0;
55
60 virtual bool isSoAListValid() const = 0;
61
66 virtual long getNumberOfNeighborPairs() const = 0;
67};
68
69} // namespace autopas
LinkedCells class.
Definition: LinkedCells.h:40
Interface for neighbor lists used by VarVerletLists.
Definition: VerletNeighborListInterface.h:21
virtual void generateSoAFromAoS()=0
Generates the SoA from the AoS.
virtual ContainerOption getContainerType() const =0
Returns the ContainerOption this neighbor list is for.
virtual bool isSoAListValid() const =0
Returns whether the SoA is build and up to date with the AoS.
virtual void buildAoSNeighborList(LinkedCells< Particle_T > &linkedCells, bool useNewton3)=0
Builds the neighbor list from a LinkedCells object.
virtual long getNumberOfNeighborPairs() const =0
Returns the number of neighbor pairs in the list.
virtual bool checkNeighborListValidity(bool useNewton3, double cutoff)=0
Checks if the neighbor list contains all pairs that is should.
virtual ~VerletNeighborListInterface()=default
virtual default destructor
This is the main namespace of AutoPas.
Definition: AutoPasDecl.h:32