21template <
class Particle>
22class VerletListHelpers;
65template <
class Particle_T,
class CRTP_T>
91 virtual void AoSFunctor(Particle_T &i, Particle_T &j,
bool newton3) {
122 std::span<const size_t> neighborList,
bool newton3) {
154 if constexpr (not CRTP_T::supportsSoASorting) {
156 "SoAFunctorPairSorted() called on functor {} which has supportsSoASorting=false.",
typeid(CRTP_T).name());
159 "Functor {} has supportsSoASorting=true but does not implement SoAFunctorPairSorted().",
160 typeid(CRTP_T).name());
172 return vecPattern == VectorizationPatternOption::p1xVec;
Functor base class.
Definition: Functor.h:41
virtual std::string getName()=0
Returns name of functor.
PairwiseFunctor class.
Definition: PairwiseFunctor.h:66
virtual void AoSFunctor(Particle_T &i, Particle_T &j, bool newton3)
PairwiseFunctor for arrays of structures (AoS).
Definition: PairwiseFunctor.h:91
bool isVecPatternAllowed(const VectorizationPatternOption::Value vecPattern) override
Specifies whether the functor is capable of using the specified Vectorization Pattern in the SoA func...
Definition: PairwiseFunctor.h:171
virtual void SoAFunctorPair(SoAView< SoAArraysType > soa1, SoAView< SoAArraysType > soa2, bool newton3)
PairwiseFunctor for structure of arrays (SoA)
Definition: PairwiseFunctor.h:137
virtual void SoAFunctorVerlet(SoAView< SoAArraysType > soa, const size_t indexFirst, std::span< const size_t > neighborList, bool newton3)
PairwiseFunctor for structure of arrays (SoA) for neighbor lists.
Definition: PairwiseFunctor.h:121
PairwiseFunctor(double cutoff)
Constructor.
Definition: PairwiseFunctor.h:77
virtual void SoAFunctorSingle(SoAView< SoAArraysType > soa, bool newton3)
PairwiseFunctor for structure of arrays (SoA)
Definition: PairwiseFunctor.h:105
typename Particle_T::SoAArraysType SoAArraysType
Structure of the SoAs defined by the particle.
Definition: PairwiseFunctor.h:71
virtual void SoAFunctorPairSorted(SoAView< SoAArraysType > soa1, SoAView< SoAArraysType > soa2, const SoASortingData &sortingData, bool newton3)
SoAFunctorPair on pre-sorted, pre-packed SoA views.
Definition: PairwiseFunctor.h:152
View on a fixed part of a SoA between a start index and an end index.
Definition: SoAView.h:25
static void exception(const Exception e)
Handle an exception derived by std::exception.
Definition: ExceptionHandler.h:64
This is the main namespace of AutoPas.
Definition: AutoPasDecl.h:34
Precomputed index bounds for iterating a pre-sorted pair of SoA buffers, soa1 as the outer (i) loop a...
Definition: PairwiseFunctor.h:33
size_t endI
Exclusive upper bound index into soa1 that can interact with soa2, skipping soa1 particles too far ab...
Definition: PairwiseFunctor.h:43
const std::vector< size_t > & minIndex
Per-i (soa1) inclusive lower bound index into soa2, skipping soa2 particles too far below particle i.
Definition: PairwiseFunctor.h:54
const std::vector< size_t > & maxIndex
Per-i (soa1) exclusive upper bound index into soa2, skipping soa2 particles too far above particle i.
Definition: PairwiseFunctor.h:48
size_t startI
First index into soa1 that can interact with soa2, skipping soa1 particles too far below.
Definition: PairwiseFunctor.h:37