ls1-MarDyn
ls1-MarDyn molecular dynamics code
Classes | Public Types | Public Member Functions | List of all members
bhfmm::VectorizedLJP2PCellProcessor Class Reference

Vectorized calculation of the force. More...

#include <VectorizedLJP2PCellProcessor.h>

Inheritance diagram for bhfmm::VectorizedLJP2PCellProcessor:
CellProcessor

Public Types

typedef std::vector< ComponentComponentList
 

Public Member Functions

 VectorizedLJP2PCellProcessor (Domain &domain, double cutoffRadius, double LJcutoffRadius)
 Construct and set up the internal parameter table. More...
 
void initTraversal ()
 Reset macroscopic values to 0.0. More...
 
void preprocessCell (ParticleCell &)
 Load the CellDataSoA for cell. More...
 
double processSingleMolecule (Molecule *, ParticleCell &)
 
void processCell (ParticleCell &cell)
 Calculate forces between pairs of Molecules in cell. More...
 
void processCellPair (ParticleCell &c1, ParticleCell &c2, bool sumAll=false)
 
void postprocessCell (ParticleCell &)
 Free the LennardJonesSoA for cell. More...
 
void endTraversal ()
 Store macroscopic values in the Domain. More...
 
void printTimers ()
 
- Public Member Functions inherited from CellProcessor
 CellProcessor (const double cutoffRadius, const double LJCutoffRadius)
 
virtual ~CellProcessor ()
 
double getCutoffRadius () const
 
double getLJCutoffRadius () const
 
void setCutoffRadius (const double c)
 
void setLJCutoffRadius (const double ljc)
 
double getCutoffRadiusSquare () const
 
double getLJCutoffRadiusSquare () const
 
void setCutoffRadiusSquare (const double c)
 
void setLJCutoffRadiusSquare (const double ljc)
 

Additional Inherited Members

- Protected Attributes inherited from CellProcessor
double _cutoffRadiusSquare
 
double _LJCutoffRadiusSquare
 

Detailed Description

Vectorized calculation of the force.

Author
Johannes Heckl

Constructor & Destructor Documentation

◆ VectorizedLJP2PCellProcessor()

bhfmm::VectorizedLJP2PCellProcessor::VectorizedLJP2PCellProcessor ( Domain domain,
double  cutoffRadius,
double  LJcutoffRadius 
)

Construct and set up the internal parameter table.

Components and parameters should be finalized before this call.

Member Function Documentation

◆ endTraversal()

void bhfmm::VectorizedLJP2PCellProcessor::endTraversal ( )
virtual

Store macroscopic values in the Domain.

Implements CellProcessor.

◆ initTraversal()

void bhfmm::VectorizedLJP2PCellProcessor::initTraversal ( )
virtual

Reset macroscopic values to 0.0.

Implements CellProcessor.

◆ postprocessCell()

void bhfmm::VectorizedLJP2PCellProcessor::postprocessCell ( ParticleCell )
inlinevirtual

Free the LennardJonesSoA for cell.

Implements CellProcessor.

◆ preprocessCell()

void bhfmm::VectorizedLJP2PCellProcessor::preprocessCell ( ParticleCell )
inlinevirtual

Load the CellDataSoA for cell.

Implements CellProcessor.

◆ processCell()

void bhfmm::VectorizedLJP2PCellProcessor::processCell ( ParticleCell cell)
virtual

Calculate forces between pairs of Molecules in cell.

Implements CellProcessor.

◆ processCellPair()

void bhfmm::VectorizedLJP2PCellProcessor::processCellPair ( ParticleCell cell1,
ParticleCell cell2,
bool  sumAll = false 
)
virtual

Called for each cell pair within the cutoff radius. Called exactly once per pair (i.e. pairs are not ordered).

Note
will not be called for empty cells. Sum up all macroscopic values (e.g. for hs) or only half of them (e.g. for fs)

Implements CellProcessor.

◆ processSingleMolecule()

double bhfmm::VectorizedLJP2PCellProcessor::processSingleMolecule ( Molecule ,
ParticleCell  
)
inlinevirtual

Implements CellProcessor.


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