Loading...
Searching...
No Matches
bond Namespace Reference

Functions for bond-related analyses. More...

Functions

std::vector< std::vector< int > > populateHbonds (std::string filename, molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, int targetFrame, int Htype, double distCutoff=2.42, double angleCutoff=30.0)
std::vector< std::vector< int > > populateHbondsWithInputClouds (molSys::PointCloud< molSys::Point< double >, double > &yCloud, molSys::PointCloud< molSys::Point< double >, double > &hCloud, const std::vector< std::vector< int > > &nList, double distCutoff=2.42, double angleCutoff=30.0)
bool donatedHydrogenBond (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const molSys::PointCloud< molSys::Point< double >, double > &hCloud, int acceptorIndex, int donorIndex, const std::vector< int > &donorHs, double distCutoff=2.42, double angleCutoff=30.0)
std::vector< std::vector< int > > populateHbondsFromDonors (molSys::PointCloud< molSys::Point< double >, double > &yCloud, molSys::PointCloud< molSys::Point< double >, double > &hCloud, const std::vector< std::vector< int > > &nList, const std::vector< int > &donorHs, double distCutoff=2.42, double angleCutoff=30.0)
double getHbondDistanceOH (const molSys::PointCloud< molSys::Point< double >, double > &oCloud, const molSys::PointCloud< molSys::Point< double >, double > &hCloud, int oAtomIndex, int hAtomIndex)
std::vector< std::vector< int > > populateBonds (const std::vector< std::vector< int > > &nList, const molSys::PointCloud< molSys::Point< double >, double > &yCloud)
std::vector< std::vector< int > > populateBonds (const std::vector< std::vector< int > > &nList, const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< cage::iceType > &atomTypes)
std::vector< std::vector< int > > createBondsFromCages (const std::vector< std::vector< int > > &rings, std::vector< cage::Cage > &cageList, cage::cageType type, int &nRings)
std::vector< std::vector< int > > trimBonds (std::vector< std::vector< int > > bonds)
 Remove duplicate bonds.

Detailed Description

Functions for bond-related analyses.

This namespace contains functions that are used for determining the hydrogen bonds, or lists of bonded atoms for write-outs to data files and visualization.

These functions are distinct from the neighbour-list building functions. Bonds can be built from cages, ring lists etc.

Hydrogen bonds are determined using a strict geometric criterion.

A hydrogen bond between two water molecules exists when:

  1. The distance between the acceptor oxygen atom and the donor hydrogen atom is less than 2.42 Angstrom
  2. The angle between the O-O vector and the O-H vector should be less than 30 degrees

Those numbers are the water defaults on populateHbonds and populateHbondsWithInputClouds. populateHbondsFromDonors takes the same defaults so a water donor-H set stays comparable; other chemistries pass their own cutoffs. They are not an ionic-liquid default.

Changelog