This functor can generate or check variable verlet lists using the typical pairwise traversal.
More...
|
| bool | allowsNewton3 () override |
| | Specifies whether the functor is capable of Newton3-like functors.
|
| |
| bool | allowsNonNewton3 () override |
| | Specifies whether the functor is capable of non-Newton3-like functors.
|
| |
| | AsBuildPairGeneratorFunctor (VerletNeighborListAsBuild< Particle_T > &neighborList, double cutoffskin) |
| | Constructor of the functor.
|
| |
| std::string | getName () override |
| | Returns name of functor.
|
| |
| bool | isRelevantForTuning () override |
| | Specifies whether the functor should be considered for the auto-tuning process.
|
| |
| void | AoSFunctor (Particle_T &i, Particle_T &j, bool newton3) override |
| | Adds the given pair to the neighbor list.
|
| |
| void | SoAFunctorSingle (SoAView< SoAArraysType > soa, bool newton3) override |
| | Adds all pairs of the SoA to the neighbor list.
|
| |
| void | SoAFunctorPair (SoAView< SoAArraysType > soa1, SoAView< SoAArraysType > soa2, bool) override |
| | Adds all pairs (p1, p2), p1 element soa1, p2 element soa2 to the neighbor list.
|
| |
| | PairwiseFunctor (double cutoff) |
| | Constructor.
|
| |
| virtual void | AoSFunctor (Particle_T &i, Particle_T &j, bool newton3) |
| | PairwiseFunctor for arrays of structures (AoS).
|
| |
| virtual void | SoAFunctorSingle (SoAView< SoAArraysType > soa, bool newton3) |
| | PairwiseFunctor for structure of arrays (SoA)
|
| |
| virtual void | SoAFunctorVerlet (SoAView< SoAArraysType > soa, const size_t indexFirst, const std::vector< size_t, AlignedAllocator< size_t > > &neighborList, bool newton3) |
| | PairwiseFunctor for structure of arrays (SoA) for neighbor lists.
|
| |
| virtual void | SoAFunctorPair (SoAView< SoAArraysType > soa1, SoAView< SoAArraysType > soa2, bool newton3) |
| | PairwiseFunctor for structure of arrays (SoA)
|
| |
| | Functor (double cutoff) |
| | Constructor.
|
| |
| virtual void | initTraversal () |
| | This function is called at the start of each traversal.
|
| |
| virtual void | endTraversal (bool newton3) |
| | This function is called at the end of each traversal.
|
| |
| template<class ParticleCell > |
| void | SoALoader (ParticleCell &cell, SoA< SoAArraysType > &soa, size_t offset, bool skipSoAResize) |
| | Copies the AoS data of the given cell in the given soa.
|
| |
| template<typename ParticleCell > |
| void | SoAExtractor (ParticleCell &cell, SoA< SoAArraysType > &soa, size_t offset) |
| | Copies the data stored in the soa back into the cell.
|
| |
| virtual bool | allowsNewton3 ()=0 |
| | Specifies whether the functor is capable of Newton3-like functors.
|
| |
| virtual bool | allowsNonNewton3 ()=0 |
| | Specifies whether the functor is capable of non-Newton3-like functors.
|
| |
| virtual bool | isRelevantForTuning ()=0 |
| | Specifies whether the functor should be considered for the auto-tuning process.
|
| |
| virtual std::string | getName ()=0 |
| | Returns name of functor.
|
| |
| double | getCutoff () const |
| | Getter for the functor's cutoff.
|
| |
| virtual size_t | getNumFLOPs () const |
| | Get the number of FLOPs.
|
| |
| virtual double | getHitRate () const |
| | Get the hit rate.
|
| |
|
| static constexpr auto | getNeededAttr () |
| | Get attributes needed for computation.
|
| |
| static constexpr auto | getNeededAttr (std::false_type) |
| | Get attributes needed for computation without N3 optimization.
|
| |
| static constexpr auto | getComputedAttr () |
| | Get attributes computed by this functor.
|
| |
| static constexpr std::array< typename Particle_T::AttributeNames, 0 > | getNeededAttr () |
| | Get attributes needed for computation.
|
| |
| static constexpr std::array< typename Particle_T::AttributeNames, 0 > | getNeededAttr (std::false_type) |
| | Get attributes needed for computation without N3 optimization.
|
| |
| static constexpr std::array< typename Particle_T::AttributeNames, 0 > | getComputedAttr () |
| | Get attributes computed by this functor.
|
| |
template<class Particle_T, bool callCheckInstead = false>
class autopas::internal::AsBuildPairGeneratorFunctor< Particle_T, callCheckInstead >
This functor can generate or check variable verlet lists using the typical pairwise traversal.
- Template Parameters
-
| Particle_T | The particle class. |
| callCheckInstead | If false, generate a neighbor list. If true, check the current for validity. Checking validity only works with the AoSFunctor(). |
template<class Particle_T , bool callCheckInstead = false>
Specifies whether the functor is capable of Newton3-like functors.
If the functor provides an interface to soa or aos functions that utilize Newton's third law of motion (actio = reactio) to reduce the computational complexity this function should return true. If this is not the case this function should return false.
- Returns
- true if and only if this functor provides an interface to Newton3-like functions.
Implements autopas::Functor< Particle_T, CRTP_T >.
template<class Particle_T , bool callCheckInstead = false>
Specifies whether the functor is capable of non-Newton3-like functors.
If the functor provides an interface to soa or aos functions that do not utilize Newton's third law of motion (actio = reactio) this function should return true. If this is not the case this function should return false.
- Returns
- true if and only if this functor provides an interface to functions that do not utilize Newton3.
Implements autopas::Functor< Particle_T, CRTP_T >.