#include <NeighborList.h>
Public Member Functions | |
NeighborList (const std::vector< PLMD::AtomNumber > &list0, const bool &serial, const bool &do_pbc, const PLMD::Pbc &pbc, Communicator &cm, const double &distance=1.0e+30, const unsigned &stride=0) | |
NeighborList (const std::vector< PLMD::AtomNumber > &list0, const std::vector< PLMD::AtomNumber > &list1, const bool &serial, const bool &do_pair, const bool &do_pbc, const PLMD::Pbc &pbc, Communicator &cm, const double &distance=1.0e+30, const unsigned &stride=0) | |
~NeighborList () | |
std::pair< unsigned, unsigned > | getClosePair (unsigned i) const |
Get the i-th pair of the neighbor list. More... | |
std::pair< AtomNumber, AtomNumber > | getClosePairAtomNumber (unsigned i) const |
Get the i-th pair of AtomNumbers from the neighbor list. More... | |
std::vector< PLMD::AtomNumber > & | getFullAtomList () |
Return the list of all atoms. These are needed to rebuild the neighbor list. More... | |
unsigned | getLastUpdate () const |
Get the last step in which the neighbor list was updated. More... | |
std::vector< unsigned > | getNeighbors (unsigned i) |
Get the list of neighbors of the i-th atom. More... | |
std::vector< PLMD::AtomNumber > & | getReducedAtomList () |
Update the indexes in the neighbor list to match the ordering in the new positions array and return the new list of atoms that must be requested to the main code. More... | |
unsigned | getStride () const |
Get the update stride of the neighbor list. More... | |
void | setLastUpdate (unsigned step) |
Set the step of the last update. More... | |
unsigned | size () const |
Get the size of the neighbor list. More... | |
void | update (const std::vector< PLMD::Vector > &positions) |
Update the neighbor list and prepare the new list of atoms that will be requested to the main code. More... | |
Private Member Functions | |
std::pair< unsigned, unsigned > | getIndexPair (unsigned i) |
Return the pair of indexes in the positions array of the two atoms forming the i-th pair among all possible pairs. More... | |
void | initialize () |
Initialize the neighbor list with all possible pairs. More... | |
void | setRequestList () |
Extract the list of atoms from the current list of close pairs. More... | |
Private Attributes | |
Communicator & | comm |
double | distance_ |
bool | do_pair_ |
bool | do_pbc_ |
std::vector< PLMD::AtomNumber > | fullatomlist_ |
unsigned | lastupdate_ |
unsigned | nallpairs_ |
std::vector< std::pair< unsigned, unsigned > > | neighbors_ |
unsigned | nlist0_ |
unsigned | nlist1_ |
const PLMD::Pbc * | pbc_ |
bool | reduced |
std::vector< PLMD::AtomNumber > | requestlist_ |
bool | serial_ |
unsigned | stride_ |
bool | twolists_ |
A class that implements neighbor lists from two lists or a single list of atoms
PLMD::NeighborList::NeighborList | ( | const std::vector< PLMD::AtomNumber > & | list0, |
const std::vector< PLMD::AtomNumber > & | list1, | ||
const bool & | serial, | ||
const bool & | do_pair, | ||
const bool & | do_pbc, | ||
const PLMD::Pbc & | pbc, | ||
Communicator & | cm, | ||
const double & | distance = 1.0e+30 , |
||
const unsigned & | stride = 0 |
||
) |
PLMD::NeighborList::NeighborList | ( | const std::vector< PLMD::AtomNumber > & | list0, |
const bool & | serial, | ||
const bool & | do_pbc, | ||
const PLMD::Pbc & | pbc, | ||
Communicator & | cm, | ||
const double & | distance = 1.0e+30 , |
||
const unsigned & | stride = 0 |
||
) |
|
inline |
std::pair< unsigned, unsigned > PLMD::NeighborList::getClosePair | ( | unsigned | i | ) | const |
Get the i-th pair of the neighbor list.
std::pair< AtomNumber, AtomNumber > PLMD::NeighborList::getClosePairAtomNumber | ( | unsigned | i | ) | const |
Get the i-th pair of AtomNumbers from the neighbor list.
std::vector< AtomNumber > & PLMD::NeighborList::getFullAtomList | ( | ) |
Return the list of all atoms. These are needed to rebuild the neighbor list.
|
private |
Return the pair of indexes in the positions array of the two atoms forming the i-th pair among all possible pairs.
unsigned PLMD::NeighborList::getLastUpdate | ( | ) | const |
Get the last step in which the neighbor list was updated.
std::vector< unsigned > PLMD::NeighborList::getNeighbors | ( | unsigned | i | ) |
Get the list of neighbors of the i-th atom.
std::vector< AtomNumber > & PLMD::NeighborList::getReducedAtomList | ( | ) |
Update the indexes in the neighbor list to match the ordering in the new positions array and return the new list of atoms that must be requested to the main code.
unsigned PLMD::NeighborList::getStride | ( | ) | const |
Get the update stride of the neighbor list.
|
private |
Initialize the neighbor list with all possible pairs.
void PLMD::NeighborList::setLastUpdate | ( | unsigned | step | ) |
Set the step of the last update.
|
private |
Extract the list of atoms from the current list of close pairs.
unsigned PLMD::NeighborList::size | ( | ) | const |
Get the size of the neighbor list.
void PLMD::NeighborList::update | ( | const std::vector< PLMD::Vector > & | positions | ) |
Update the neighbor list and prepare the new list of atoms that will be requested to the main code.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Hosted by GitHub
![]() |
![]() |