|
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]) |
Public Member Functions inherited from Cell | |
| 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 | |
Protected Attributes inherited from Cell | |
| 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.