AutoPas  3.0.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
autopas::LCC04SoACellHandler< ParticleCell, PairwiseFunctor > Class Template Reference

This class provides the base for traversals using the c08 base step, but rather use 4 instead of 8 colors for domain coloring. More...

#include <LCC04SoACellHandler.h>

Inheritance diagram for autopas::LCC04SoACellHandler< ParticleCell, PairwiseFunctor >:
Inheritance graph
[legend]

Public Member Functions

 LCC04SoACellHandler (PairwiseFunctor *pairwiseFunctor, const std::array< unsigned long, 3 > &cellsPerDimension, double interactionLength, const std::array< double, 3 > &cellLength, DataLayoutOption dataLayout, bool useNewton3, const std::array< unsigned long, 3 > &overlap={1ul, 1ul, 1ul})
 Constructor of the c04 traversal with combined SoA buffers.
 
void processBaseCell (std::vector< ParticleCell > &cells, unsigned long x, unsigned long y, unsigned long z)
 Computes one interaction for each spacial direction based on the lower left frontal corner of a 2x2x2 block of cells.
 
void resizeBuffers ()
 Resize all buffers to match the current number of threads.
 

Detailed Description

template<class ParticleCell, class PairwiseFunctor>
class autopas::LCC04SoACellHandler< ParticleCell, PairwiseFunctor >

This class provides the base for traversals using the c08 base step, but rather use 4 instead of 8 colors for domain coloring.

Using 4 instead of 8 colors allows combination of SoA buffers.

The base step processBaseCell() computes one set of pairwise interactions between two cells for each spatial direction based on the baseIndex. After executing the base step on all cells all pairwise interactions for all cells are done.

Template Parameters
ParticleCellthe type of cells.
PairwiseFunctorThe functor that defines the interaction of two particles.

Constructor & Destructor Documentation

◆ LCC04SoACellHandler()

template<class ParticleCell , class PairwiseFunctor >
autopas::LCC04SoACellHandler< ParticleCell, PairwiseFunctor >::LCC04SoACellHandler ( PairwiseFunctor pairwiseFunctor,
const std::array< unsigned long, 3 > &  cellsPerDimension,
double  interactionLength,
const std::array< double, 3 > &  cellLength,
DataLayoutOption  dataLayout,
bool  useNewton3,
const std::array< unsigned long, 3 > &  overlap = {1ul, 1ul, 1ul} 
)
inlineexplicit

Constructor of the c04 traversal with combined SoA buffers.

Parameters
pairwiseFunctorThe functor that defines the interaction of two particles.
cellsPerDimensionThe number of cells per dimension.
interactionLengthInteraction length (cutoff + skin).
cellLengthcell length.
overlapnumber of overlapping cells in each direction as result from cutoff and cellLength.
dataLayoutThe data layout with which this traversal should be initialized.
useNewton3Parameter to specify whether the traversal makes use of newton3 or not.

Member Function Documentation

◆ processBaseCell()

template<class ParticleCell , class PairwiseFunctor >
void autopas::LCC04SoACellHandler< ParticleCell, PairwiseFunctor >::processBaseCell ( std::vector< ParticleCell > &  cells,
unsigned long  x,
unsigned long  y,
unsigned long  z 
)
inline

Computes one interaction for each spacial direction based on the lower left frontal corner of a 2x2x2 block of cells.

Parameters
cellsvector of all cells.
xcell index x-axis
ycell index y-axis
zcell index z-axis

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