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

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

#include <RemainderTriwiseInteractionHandler.h>

Public Member Functions

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

Detailed Description

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

Handles triwise 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

◆ RemainderTriwiseInteractionHandler()

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

Constructor for RemainderTriwiseInteractionHandler.

Parameters
spatialLocksDomain locks passed by LogicHandler

Member Function Documentation

◆ computeRemainderInteractions()

template<typename Particle_T >
template<bool newton3, class ContainerType , class TriwiseFunctor >
void autopas::RemainderTriwiseInteractionHandler< Particle_T >::computeRemainderInteractions ( TriwiseFunctor f,
ContainerType &  container,
std::vector< FullParticleCell< Particle_T > > &  particleBuffers,
std::vector< FullParticleCell< Particle_T > > &  haloParticleBuffers 
)
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.
TriwiseFunctorFunctor type to use for the interactions.
Parameters
f
containerReference to 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.

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