ls1-MarDyn
ls1-MarDyn molecular dynamics code
|
ParticleCellBase defines the interface for cells used by the LinkedCells data structure to store molecule data. More...
#include <ParticleCellBase.h>
Public Member Functions | |
virtual void | deallocateAllParticles ()=0 |
virtual bool | addParticle (Molecule &particle, bool checkWhetherDuplicate=false)=0 |
Add a particle to the cell. More... | |
virtual bool | isEmpty () const =0 |
Check if current cell contains no molecules. More... | |
bool | isNotEmpty () const |
Check if current cell contains molecules. More... | |
bool | deleteMoleculeByID (unsigned long molid) |
Remove moleulce from the cell based on molecule ID. More... | |
virtual bool | deleteMoleculeByIndex (size_t index)=0 |
virtual int | getMoleculeCount () const =0 |
virtual void | preUpdateLeavingMolecules ()=0 |
virtual void | updateLeavingMoleculesBase (ParticleCellBase &otherCell)=0 |
virtual void | postUpdateLeavingMolecules ()=0 |
virtual void | getRegion (double lowCorner[3], double highCorner[3], std::vector< Molecule * > &particlePtrs, bool removeFromContainer=false)=0 |
virtual void | buildSoACaches ()=0 |
virtual void | increaseMoleculeStorage (size_t numMols)=0 |
virtual bool | testPointInCell (const double point[3]) const |
virtual bool | testInBox (const Molecule &particle) const |
virtual size_t | getMoleculeVectorDynamicSize () const =0 |
virtual void | prefetchForForce () const |
unsigned long | initCubicGrid (std::array< unsigned long, 3 > numMoleculesPerDimension, std::array< double, 3 > simBoxLength, Random &RNG) |
virtual void | moleculesAtNew (size_t i, Molecule *&multipurposePointer)=0 |
virtual void | moleculesAtConstNew (size_t i, Molecule *&multipurposePointer) const =0 |
virtual void | getLeavingMolecules (std::vector< Molecule > &appendBuffer) |
bool | isHaloCell () const final |
bool | isBoundaryCell () const final |
bool | isInnerCell () const final |
bool | isInnerMostCell () const final |
void | assignCellToHaloRegion () |
void | assignCellToBoundaryRegion () |
void | assignCellToInnerRegion () |
void | assignCellToInnerMostAndInnerRegion () |
void | skipCellFromHaloRegion () |
void | skipCellFromBoundaryRegion () |
void | skipCellFromInnerRegion () |
void | skipCellFromInnerMostRegion () |
double | getBoxMin (int d) const |
double | getBoxMax (int d) const |
std::array< double, 3 > | getBoxMinArray () const |
std::array< double, 3 > | getBoxMaxArray () const |
void | setBoxMin (const double b[3]) |
void | setBoxMax (const double b[3]) |
![]() | |
unsigned long | getCellIndex () const |
void | setCellIndex (unsigned long cellIndex) |
Static Public Attributes | |
static CellBorderAndFlagManager | _cellBorderAndFlagManager |
Protected Member Functions | |
virtual bool | findMoleculeByID (size_t &index, unsigned long molid) const =0 |
Find the index of a molecule in a cell based on its molecule ID. More... | |
Additional Inherited Members | |
![]() | |
unsigned long | _cellIndex |
the index of a cell. On one process every index must be unique. | |
ParticleCellBase defines the interface for cells used by the LinkedCells data structure to store molecule data.
|
pure virtual |
Add a particle to the cell.
particle | the particle to be added |
checkWhetherDuplicate | if true, check if a molecule with the same molecule IDs already exists in the cell |
Implemented in FullParticleCell, and ParticleCellRMM.
|
inlinevirtual |
Implements Cell.
|
inlinevirtual |
Implements Cell.
|
inlinevirtual |
Implements Cell.
|
inlinevirtual |
Implements Cell.
|
pure virtual |
Implemented in FullParticleCell.
bool ParticleCellBase::deleteMoleculeByID | ( | unsigned long | molid | ) |
Remove moleulce from the cell based on molecule ID.
molid | molecule ID of the molecule to be deleted |
|
protectedpure virtual |
Find the index of a molecule in a cell based on its molecule ID.
index | index of the molecule in the cell data structure |
molid | molecule ID of the molecule to be searched in the cell |
Implemented in FullParticleCell, and ParticleCellRMM.
|
inlinevirtual |
Implements Cell.
|
inlinevirtual |
Implements Cell.
|
pure virtual |
Implemented in FullParticleCell.
|
inlinefinalvirtual |
Implements Cell.
|
pure virtual |
Check if current cell contains no molecules.
Implemented in FullParticleCell, and ParticleCellRMM.
|
inlinefinalvirtual |
Implements Cell.
|
inlinefinalvirtual |
Implements Cell.
|
inlinefinalvirtual |
Implements Cell.
|
inline |
Check if current cell contains molecules.
|
inlinevirtual |
Implements Cell.
|
inlinevirtual |
Implements Cell.
|
inlinevirtual |
Implements Cell.
|
inlinevirtual |
Implements Cell.
|
inlinevirtual |
Implements Cell.
|
inlinevirtual |
Implements Cell.