A class for doing link cells.
More...
#include <LinkCells.h>
|
| | LinkCells (Communicator &comm) |
| |
| void | addRequiredCells (const std::array< unsigned, 3 > &celn, unsigned &ncells_required, std::vector< unsigned > &cells_required) const |
| | Get the list of cells we need to surround the a particular cell.
|
| |
| void | buildCellLists (const std::vector< Vector > &pos, const std::vector< unsigned > &indices, const Pbc &pbc) |
| | Build the link cell lists.
|
| |
| unsigned | convertIndicesToIndex (const unsigned &nx, const unsigned &ny, const unsigned &nz) const |
| | Take three indices and return the index of the corresponding cell.
|
| |
| bool | enabled () const |
| | Have the link cells been enabled.
|
| |
| unsigned | findCell (const Vector &pos) const |
| | Find the cell index in which this position is contained.
|
| |
| std::array< unsigned, 3 > | findMyCell (const Vector &pos) const |
| | Find the cell in which this position is contained.
|
| |
| double | getCutoff () const |
| | Get the value of the cutoff.
|
| |
| unsigned | getMaxInCell () const |
| | Get the nuumber of atoms in the cell that contains the most atoms.
|
| |
| unsigned | getNumberOfCells () const |
| | Get the total number of link cells.
|
| |
| void | retrieveAtomsInCells (const unsigned &ncells_required, const std::vector< unsigned > &cells_required, unsigned &natomsper, std::vector< unsigned > &atoms) const |
| | Retrieve the atoms in a list of cells.
|
| |
| void | retrieveNeighboringAtoms (const Vector &pos, std::vector< unsigned > &cell_list, unsigned &natomsper, std::vector< unsigned > &atoms) const |
| | Retrieve the atoms we need to consider.
|
| |
| void | setCutoff (const double &lcut) |
| | Set the value of the cutoff.
|
| |
|
| std::vector< unsigned > | allcells |
| | The list of cells each atom is inside.
|
| |
| Communicator & | comm |
| | Symbolic link to plumed communicator.
|
| |
| bool | cutoffwasset |
| | Check that the link cells were set up correctly.
|
| |
| std::vector< unsigned > | lcell_lists |
| | The atoms ordered by link cells.
|
| |
| std::vector< unsigned > | lcell_starts |
| | The start of each block corresponding to each link cell.
|
| |
| std::vector< unsigned > | lcell_tots |
| | The number of atoms in each link cell.
|
| |
| double | link_cutoff |
| | The cutoff to use for the sizes of the cells.
|
| |
| Pbc | mypbc |
| | The pbc we are using for link cells.
|
| |
| std::vector< unsigned > | ncells |
| | The number of cells in each direction.
|
| |
| std::vector< unsigned > | nstride |
| | The number of cells to stride through to get the link cells.
|
| |
A class for doing link cells.
◆ LinkCells()
◆ addRequiredCells()
| void PLMD::LinkCells::addRequiredCells |
( |
const std::array< unsigned, 3 > & | celn, |
|
|
unsigned & | ncells_required, |
|
|
std::vector< unsigned > & | cells_required ) const |
Get the list of cells we need to surround the a particular cell.
◆ buildCellLists()
| void PLMD::LinkCells::buildCellLists |
( |
const std::vector< Vector > & | pos, |
|
|
const std::vector< unsigned > & | indices, |
|
|
const Pbc & | pbc ) |
Build the link cell lists.
◆ convertIndicesToIndex()
| unsigned PLMD::LinkCells::convertIndicesToIndex |
( |
const unsigned & | nx, |
|
|
const unsigned & | ny, |
|
|
const unsigned & | nz ) const |
Take three indices and return the index of the corresponding cell.
◆ enabled()
| bool PLMD::LinkCells::enabled |
( |
| ) |
const |
|
inline |
Have the link cells been enabled.
◆ findCell()
| unsigned PLMD::LinkCells::findCell |
( |
const Vector & | pos | ) |
const |
Find the cell index in which this position is contained.
◆ findMyCell()
| std::array< unsigned, 3 > PLMD::LinkCells::findMyCell |
( |
const Vector & | pos | ) |
const |
Find the cell in which this position is contained.
◆ getCutoff()
| double PLMD::LinkCells::getCutoff |
( |
| ) |
const |
Get the value of the cutoff.
◆ getMaxInCell()
| unsigned PLMD::LinkCells::getMaxInCell |
( |
| ) |
const |
Get the nuumber of atoms in the cell that contains the most atoms.
◆ getNumberOfCells()
| unsigned PLMD::LinkCells::getNumberOfCells |
( |
| ) |
const |
|
inline |
Get the total number of link cells.
◆ retrieveAtomsInCells()
| void PLMD::LinkCells::retrieveAtomsInCells |
( |
const unsigned & | ncells_required, |
|
|
const std::vector< unsigned > & | cells_required, |
|
|
unsigned & | natomsper, |
|
|
std::vector< unsigned > & | atoms ) const |
Retrieve the atoms in a list of cells.
◆ retrieveNeighboringAtoms()
| void PLMD::LinkCells::retrieveNeighboringAtoms |
( |
const Vector & | pos, |
|
|
std::vector< unsigned > & | cell_list, |
|
|
unsigned & | natomsper, |
|
|
std::vector< unsigned > & | atoms ) const |
Retrieve the atoms we need to consider.
◆ setCutoff()
| void PLMD::LinkCells::setCutoff |
( |
const double & | lcut | ) |
|
Set the value of the cutoff.
◆ allcells
| std::vector<unsigned> PLMD::LinkCells::allcells |
|
private |
The list of cells each atom is inside.
◆ comm
Symbolic link to plumed communicator.
◆ cutoffwasset
| bool PLMD::LinkCells::cutoffwasset |
|
private |
Check that the link cells were set up correctly.
◆ lcell_lists
| std::vector<unsigned> PLMD::LinkCells::lcell_lists |
|
private |
The atoms ordered by link cells.
◆ lcell_starts
| std::vector<unsigned> PLMD::LinkCells::lcell_starts |
|
private |
The start of each block corresponding to each link cell.
◆ lcell_tots
| std::vector<unsigned> PLMD::LinkCells::lcell_tots |
|
private |
The number of atoms in each link cell.
◆ link_cutoff
| double PLMD::LinkCells::link_cutoff |
|
private |
The cutoff to use for the sizes of the cells.
◆ mypbc
| Pbc PLMD::LinkCells::mypbc |
|
private |
The pbc we are using for link cells.
◆ ncells
| std::vector<unsigned> PLMD::LinkCells::ncells |
|
private |
The number of cells in each direction.
◆ nstride
| std::vector<unsigned> PLMD::LinkCells::nstride |
|
private |
The number of cells to stride through to get the link cells.
The documentation for this class was generated from the following files: