ls1-MarDyn
ls1-MarDyn molecular dynamics code
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
NeutralTerritoryTraversal< CellTemplate > Class Template Reference

#include <NeutralTerritoryTraversal.h>

Inheritance diagram for NeutralTerritoryTraversal< CellTemplate >:
CellPairTraversals< CellTemplate >

Public Member Functions

 NeutralTerritoryTraversal (std::vector< CellTemplate > &cells, const std::array< unsigned long, 3 > &dims, double cellLength[3], double cutoff)
 
void rebuild (std::vector< CellTemplate > &cells, const std::array< unsigned long, 3 > &dims, double cellLength[3], double cutoff, CellPairTraversalData *data) override
 
void traverseCellPairs (CellProcessor &cellProcessor) override
 
void traverseCellPairsOuter (CellProcessor &cellProcessor) override
 
void traverseCellPairsInner (CellProcessor &cellProcessor, unsigned stage, unsigned stageCount) override
 
bool requiresForceExchange () const override
 
unsigned maxCellsInCutoff () const override
 
- Public Member Functions inherited from CellPairTraversals< CellTemplate >
 CellPairTraversals (std::vector< CellTemplate > &cells, const std::array< unsigned long, 3 > &dims)
 

Protected Member Functions

void processBaseCell (CellProcessor &cellProcessor, unsigned long baseIndex) const
 

Protected Attributes

std::vector< std::pair< long, long > > _cellPairOffsets
 
std::vector< std::pair< std::array< long, 3 >, std::array< long, 3 > > > _offsets3D
 
- Protected Attributes inherited from CellPairTraversals< CellTemplate >
std::vector< CellTemplate > * _cells
 
std::array< unsigned long, 3 > _dims
 

Detailed Description

template<class CellTemplate>
class NeutralTerritoryTraversal< CellTemplate >

This is the traversal corresponding to the neutral territory zonal method scheme. Interactions occur between cells of the plate and cells of the tower. Algorithm description in: D. E. Shaw: A Fast, Scalable Method for the Parallel Evaluation of Distance-Limited Pairwise Particle Interactions. Description of implementation in: S. Seckler: Algorithm and Performance Engineering for HPC Particle Simulations

Template Parameters
CellTemplate

Member Function Documentation

◆ maxCellsInCutoff()

template<class CellTemplate >
unsigned NeutralTerritoryTraversal< CellTemplate >::maxCellsInCutoff ( ) const
inlineoverridevirtual

◆ rebuild()

template<class CellTemplate >
void NeutralTerritoryTraversal< CellTemplate >::rebuild ( std::vector< CellTemplate > &  cells,
const std::array< unsigned long, 3 > &  dims,
double  cellLength[3],
double  cutoff,
CellPairTraversalData data 
)
inlineoverridevirtual

Reset all necessary data.

Reimplemented from CellPairTraversals< CellTemplate >.

◆ requiresForceExchange()

template<class CellTemplate >
bool NeutralTerritoryTraversal< CellTemplate >::requiresForceExchange ( ) const
inlineoverridevirtual

◆ traverseCellPairs()

template<class CellTemplate >
void NeutralTerritoryTraversal< CellTemplate >::traverseCellPairs ( CellProcessor cellProcessor)
overridevirtual

◆ traverseCellPairsInner()

template<class CellTemplate >
void NeutralTerritoryTraversal< CellTemplate >::traverseCellPairsInner ( CellProcessor cellProcessor,
unsigned  stage,
unsigned  stageCount 
)
overridevirtual

◆ traverseCellPairsOuter()

template<class CellTemplate >
void NeutralTerritoryTraversal< CellTemplate >::traverseCellPairsOuter ( CellProcessor cellProcessor)
overridevirtual

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