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.
|
|
bool | nopbc |
| Are there periodic boundary conditions setup.
|
|
std::vector< unsigned > | nstride |
| The number of cells to stride through to get the link cells.
|
|
Vector | origin |
| The location of the origin if we are not using periodic boundary conditions.
|
|
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.
◆ nopbc
bool PLMD::LinkCells::nopbc |
|
private |
Are there periodic boundary conditions setup.
◆ nstride
std::vector<unsigned> PLMD::LinkCells::nstride |
|
private |
The number of cells to stride through to get the link cells.
◆ origin
Vector PLMD::LinkCells::origin |
|
private |
The location of the origin if we are not using periodic boundary conditions.
The documentation for this class was generated from the following files: