Defines RDF-specific functions. More...
Functions | |
int | rdf2Danalysis_AA (std::string path, std::vector< double > *rdfValues, molSys::PointCloud< molSys::Point< double >, double > *yCloud, double cutoff, double binwidth, int firstFrame, int finalFrame) |
std::vector< int > | sampleRDF_AA (molSys::PointCloud< molSys::Point< double >, double > *yCloud, double cutoff, double binwidth, int nbin) |
Samples the RDF histogram at every step. More... | |
int | normalizeRDF (int nopA, std::vector< double > *rdfValues, std::vector< int > histogram, double binwidth, int nbin, std::vector< double > volumeLengths, int nIter) |
Normalize the histogram. More... | |
std::vector< double > | getSystemLengths (molSys::PointCloud< molSys::Point< double >, double > *yCloud) |
Gets the lengths of the volume slice of the quasi-two-dimensional system. More... | |
double | getPlaneArea (std::vector< double > volumeLengths) |
Gets the plane area from the volume lengths vector. More... | |
Defines RDF-specific functions.
The radial distribution function \(g(r)\), or pair distribution function. It can be used to illuminate features of short-range and long-range order. The RDF is the probability of finding a particle at a distance of \(r\) from a tagged reference particle, relative to that of an ideal gas. For a system of \(N\) particles, the pair correlation function for \(N(N-1)\) pairs is:
\[ \rho_N^{(2)}(r,r') = ⟨\sum_{i=1}^{N} \sum_{j=1,j \neq i}^{N} \delta (r-r_i) \delta (r'-r_j) \langle \]
The code essentially bins distances between pairs of particles, and normalizes the resulting histogram is normalized with respect to an ideal gas. The algorithm for the calculation of \(g(r)\) may be divided into the following steps:
To account for the geometry of the slab-like quasi-two-dimensional system, the RDF must be additionally normalized by a form factor \(f\) such that \(f = \frac{h}{2r}\) for \(r>h\) and \(f = \frac{h}{2r}\) for \(r \le h\); where \(h\) is the height of the quasi-two-dimensional system.