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

Handles pairwise interactions involving particle buffers (particles not yet inserted into the main container). More...

#include <RemainderPairwiseInteractionHandler.h>

Public Member Functions

 RemainderPairwiseInteractionHandler (std::vector< std::vector< std::vector< std::unique_ptr< std::mutex > > > > &spatialLocks)
 Constructor for RemainderPairwiseInteractionHandler.
 
template<bool newton3, class ContainerType , class PairwiseFunctor >
void computeRemainderInteractions (PairwiseFunctor *f, ContainerType &container, std::vector< FullParticleCell< Particle_T > > &particleBuffers, std::vector< FullParticleCell< Particle_T > > &haloParticleBuffers, bool useSoA)
 Performs the interactions ParticleContainer::computeInteractions() did not cover.
 

Detailed Description

template<typename Particle_T>
class autopas::RemainderPairwiseInteractionHandler< Particle_T >

Handles pairwise interactions involving particle buffers (particles not yet inserted into the main container).

This includes Buffer <-> Container and Buffer <-> Buffer interactions.

Template Parameters
Particle_T

Constructor & Destructor Documentation

◆ RemainderPairwiseInteractionHandler()

template<typename Particle_T >
autopas::RemainderPairwiseInteractionHandler< Particle_T >::RemainderPairwiseInteractionHandler ( std::vector< std::vector< std::vector< std::unique_ptr< std::mutex > > > > &  spatialLocks)
inlineexplicit

Constructor for RemainderPairwiseInteractionHandler.

Parameters
spatialLocksDomain locks passed by LogicHandler

Member Function Documentation

◆ computeRemainderInteractions()

template<typename Particle_T >
template<bool newton3, class ContainerType , class PairwiseFunctor >
void autopas::RemainderPairwiseInteractionHandler< Particle_T >::computeRemainderInteractions ( PairwiseFunctor f,
ContainerType &  container,
std::vector< FullParticleCell< Particle_T > > &  particleBuffers,
std::vector< FullParticleCell< Particle_T > > &  haloParticleBuffers,
bool  useSoA 
)
inline

Performs the interactions ParticleContainer::computeInteractions() did not cover.

These interactions are:

  • particleBuffer <-> container
  • haloParticleBuffer -> container
  • particleBuffer <-> particleBuffer
  • haloParticleBuffer -> particleBuffer
Note
Buffers need to have at least one (potentially itself empty) cell. They must not be an empty vector of cells.
Template Parameters
newton3
ContainerTypeType of the particle container.
PairwiseFunctor
Parameters
f
containerReference the container. Preferably pass the container with the actual static type.
particleBuffersvector of particle buffers. These particles' force vectors will be updated.
haloParticleBuffersvector of halo particle buffers. These particles' force vectors will not necessarily be updated.
useSoAUse SoAFunctor calls instead of AoSFunctor calls wherever it makes sense.

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