Header file for neighbour list generation. More...
#include <algorithm>#include <array>#include <string>#include <tuple>#include <utility>#include <vector>#include <generic.hpp>#include <mol_sys.hpp>Go to the source code of this file.
Classes | |
| class | nneigh::SkinNeighborList |
| Persistent neighbour list with a LAMMPS skin. More... | |
Namespaces | |
| namespace | nneigh |
| Functions for building neighbour lists. | |
Enumerations | |
| enum class | nneigh::BondGraph { nneigh::BondGraph::Cutoff , nneigh::BondGraph::KnnMutual , nneigh::BondGraph::KnnUnion } |
| Bond graph for TUM. More... | |
Functions | |
| void | nneigh::dumpBoundsToH (const std::vector< double > &box, const std::vector< double > &boxLow, double H[3][3], double origin[3]) |
| LAMMPS dump bound spans to restricted triclinic H (rows a, b, c). | |
| void | nneigh::dumpCellLengths (const std::vector< double > &box, const std::vector< double > &boxLow, double lengths[3]) |
| Recovered restricted-triclinic lengths lx, ly, lz (H diagonal). | |
| int | nneigh::dumpAxialDim (const std::vector< double > &box, const std::vector< double > &boxLow) |
| Longest recovered length: 0 = x, 1 = y, 2 = z. | |
| int | nneigh::dumpAxialDim (const molSys::PointCloud< molSys::Point< double >, double > &yCloud) |
| void | nneigh::dumpToFrac (const double H[3][3], const double origin[3], double x, double y, double z, double s[3]) |
| Cartesian to fractional coordinates via dump H. | |
| void | nneigh::dumpFromFrac (const double H[3][3], const double origin[3], const double s[3], double r[3]) |
| Fractional to cartesian coordinates via dump H. | |
| double | nneigh::dumpVolume (const std::vector< double > &box, const std::vector< double > &boxLow) |
| Triclinic dump-cell volume |det(H)| from dumpBoundsToH. | |
| double | nneigh::dumpVolume (const molSys::PointCloud< molSys::Point< double >, double > &yCloud) |
| std::vector< std::vector< int > > | nneigh::neighList (double rcutoff, const molSys::PointCloud< molSys::Point< double >, double > &yCloud, int typeI, int typeJ) |
| All these functions use atom IDs and not indices. | |
| std::vector< std::vector< int > > | nneigh::neighListPair (double rcutoff, const molSys::PointCloud< molSys::Point< double >, double > &yCloud, int typeI, int typeJ) |
| std::vector< std::vector< int > > | nneigh::neighListO (double rcutoff, const molSys::PointCloud< molSys::Point< double >, double > &yCloud, int typeI) |
| std::vector< std::vector< int > > | nneigh::halfNeighList (double rcutoff, const molSys::PointCloud< molSys::Point< double >, double > &yCloud, int typeI=1) |
| std::vector< std::vector< int > > | nneigh::neighbourListByIndex (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList) |
| std::vector< std::vector< int > > | nneigh::getNewNeighbourListByIndex (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, double cutoff) |
| std::vector< std::vector< int > > | nneigh::kNearestNeighbourList (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, int k, double candidateCutoff, int typeI, bool mutual=true) |
| Bonded graph from the k nearest neighbours of each particle rather than a distance cutoff. | |
| std::pair< std::vector< std::vector< int > >, std::vector< std::vector< int > > > | nneigh::kNearestNeighbourPair (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, int k, double candidateCutoff, int typeI) |
| Mutual and union k-nearest graphs from one candidate search. | |
| std::pair< double, double > | nneigh::shellSeparation (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, int k, int typeI) |
| The shell-separation certificate for the exact reduction of the k-nearest graph to the cutoff graph: returns {max_i d_k(i), min_i d_{k+1}(i)} over particles of the type. | |
| std::vector< std::tuple< int, int, double > > | nneigh::nearestUnlike (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, int typeI, int typeJ) |
| Nearest unlike image of each typeI particle among typeJ particles. | |
| std::vector< std::pair< int, int > > | nneigh::mutualNearestUnlike (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, int typeI, int typeJ) |
| Subset of nearestUnlike where j's nearest typeI is i (mutual). | |
| int | nneigh::clearNeighbourList (std::vector< std::vector< int > > &nList) |
| Erases memory for a vector of vectors for the neighbour list. | |
| BondGraph | nneigh::bondGraphFromName (const std::string &name) |
| const char * | nneigh::bondGraphName (BondGraph graph) |
Header file for neighbour list generation.
Definition in file neighbours.hpp.