I have 3D position data of particles. I need to calculate g(r, $\theta$). Where g(r, $\theta$) is defined as:

$$ g(r, \theta) = \frac{H(r, \theta)}{N \cdot n(r,\theta)} $$

r is a Euclidean distance between particles and theta is the polar angle from particle moving direction to r (Explained in attached picture). H(r,theta) is the histogram for all N pairs. enter image description here

Usually normalization will be performed by dividing H by N. But I also need to normalize by Volume around the particle. As further will go away from the particle more chances there are to find a particle there. I have found normalization function of the form of n(r, theta): $$ n(r,\theta) = \frac{2}{3} \pi [(r + \delta r)^{3} - r^{3}][cos(\theta) - cos(\theta + \delta\theta)] $$

First of all I do not understand how this function have come into be. Secondly, is this even correct?. Ideally it should be equal to 1 for particles moving in random direction.


1 Answer 1


I would not call a function $g(r,\theta)$ a radial distribution function. It does not depend only on the radial distance $r$. I also think that your normalization is not fully consistent with the definition of this function. It should be such that $\rho g(r,\theta) dV$ counts the number of particles present in a system of average number density $\rho$ in a volume $dV$ characterized by a distance $r$ and solid angle $2 \pi \sin(\theta)\mathrm{d}\theta$ with respect to a particle fixed at the origin. Therefore, if the value of the histogram $H(r,\theta)$ counts the number of particles in such a volume, it should be normalized by the number of particles that would be in the same volume if the density would be uniform. I.e. you should divide by $\rho \Delta V(r,\theta)$.

Based on its meaning, the explicit finite difference expression for $\Delta V(r,\theta)$ can be obtained as the difference of differences of the volumes of four spherical sectors (a look at the picture of a spherical sector would help). If $V_s(r,\theta)= \frac{2 \pi}{3}r^3(1-cos(\theta))$ is the volume of the spherical sector of radius $r$ and angle $\theta$,
$$ \begin{align} \Delta V(r,\theta)&= \left[ V_s(r+\delta r, \theta +\delta \theta) - V_s(r+\delta r, \theta ) \right] - \left[ V_s(r, \theta +\delta \theta) - V_s(r, \theta ) \right]\\ &=\frac{2 \pi}{3}[(r + \delta r)^{3} - r^{3}][cos(\theta) - cos(\theta + \delta\theta)] \end{align} $$ which is precisely the formula you quote for your $n(r,\theta)$. Notice however that (also for dimensional reasons) it should be multiplied by $\rho$ and not by $N$.

  • $\begingroup$ Thank you for the explanation. How would one acquire the $\rho$ value when I only have position values. Would it be $\frac{n}{V}$ while n is number of atom and V will be Total volume under consideration? It would be Total number of Particles in system divided by $\frac{4}{3}\pi r_{max}^3$. I am taking $r_{max}$ here because my system is constraint and total volume would depend upon maximum radius where I am looking for the particle. $\endgroup$ Commented Dec 17, 2020 at 11:11
  • $\begingroup$ @JunaidMehmood $\rho$ is the number density. If the number of particles is fixed, the number of atoms in a box of volume $V$ divided by $V$. If it is a gran-canonical ensemble, the number of particles should be intended as the average number. $\endgroup$ Commented Dec 17, 2020 at 12:33
  • $\begingroup$ I have discrete time steps so I have taken an average of histogram and average number density to calculate g(r,$\theta$). It is working out fine now. My mistake was to not take average of histogram for each particle. $\endgroup$ Commented Dec 17, 2020 at 22:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.