namespace phase¶
Overview¶
namespace phase {
// enums
enum GlassKind;
// structs
struct IceXXIHit;
// global functions
int openChannelCount(const molSys::PointCloud<molSys::Point<double>, double>& yCloud, const std::vector<std::vector<int>>& nList);
std::uint64_t protonKey(const molSys::PointCloud<molSys::Point<double>, double>& yCloud, int oxygenType, int hydrogenType);
double hydrogenMSD(const molSys::PointCloud<molSys::Point<double>, double>& frame0, const molSys::PointCloud<molSys::Point<double>, double>& frame1, int hydrogenType);
IceXXIHit iceXXILibrary(const molSys::PointCloud<molSys::Point<double>, double>& yCloud);
std::vector<double> localDensity(const molSys::PointCloud<molSys::Point<double>, double>& yCloud, double rcut);
double frameDensity(const molSys::PointCloud<molSys::Point<double>, double>& yCloud);
GlassKind glassFromDensity(double rho, double iceMax, double ldaMax, double mdaMin);
GlassKind glassFromDensity(double rho, double iceMax, double mdaMin);
GlassKind glassFromDensity(double rho);
} // namespace phase
Detailed Documentation¶
Global Functions¶
int openChannelCount(const molSys::PointCloud<molSys::Point<double>, double>& yCloud, const std::vector<std::vector<int>>& nList)
Open hexagonal channel along z: six-rings stacked, not a closed 512.
std::uint64_t protonKey(const molSys::PointCloud<molSys::Point<double>, double>& yCloud, int oxygenType, int hydrogenType)
64-bit key of donated H directions per oxygen (molID-shared hydrogens).
double hydrogenMSD(const molSys::PointCloud<molSys::Point<double>, double>& frame0, const molSys::PointCloud<molSys::Point<double>, double>& frame1, int hydrogenType)
Mean squared displacement of hydrogenType between two frames.
std::vector<double> localDensity(const molSys::PointCloud<molSys::Point<double>, double>& yCloud, double rcut)
Local number density (1/A^3) in a sphere of radius rcut.
double frameDensity(const molSys::PointCloud<molSys::Point<double>, double>& yCloud)
Bulk mass density in g/cm^3 from nop and the box (18.015 g/mol).
GlassKind glassFromDensity(double rho, double iceMax, double ldaMax, double mdaMin)
HDA/MDA/LDA/ice from local number density (1/A^3). Ice first-shell density is four neighbours in the 3.5 A sphere (~0.022 A^-3). HDA is the dense shell (>= 0.070 A^-3). ldaMax splits LDA from MDA.
GlassKind glassFromDensity(double rho, double iceMax, double mdaMin)
Three-argument form: LDA/MDA split at the midpoint of iceMax and mdaMin.
GlassKind glassFromDensity(double rho)
Literature local-density windows: ice < 0.028, LDA < 0.040, MDA < 0.070, else HDA.