Currents¶
Introduction¶
DL_POLY_5 includes a currents module taking user defined samples in \({\bf k}\)-space from a KPOINTS file, which may be used to calculate fundamental quantities for studying the liquid state: density, longitudinal and transverse currents, energy-density, and energy currents, as well as the stress tensor in \({\bf k}\)-space 9.
Beginning in \({\bf k}\)-space the density can be written as
where \({\bf r}_{i}(t)\) is the position of atom \(i\) at time \(t\). Which is obtained as the Fourier transform of the scalar density field
for dirac delta \(\delta\).
For the longitudinal, \(j_{L}({\bf k}, t)\), and transverse, \(j_{T}({\bf k}, t)\), components of the current we write
and
Where \(\hat{\cdot}\) is a unit vector, and \({\bf v}_{i}(t)\) is the velocity of atom \(i\). Correlations of the density or currents may be used to obtain the intermediate scattering function and the dynamic structure factor.
We can also define a \({\bf k}\)-dependent energy density and stress tensor by
and
where
Finally the energy current, restricting to pairwise interactions, has the form
for Cartesian component \(a\).
User Control¶
In DL_POLY_5 a user may calculate these quantities (density, longitudinal and transverse momentum currents, and energy current) for user supplied samples of \({\bf k}\)-space. Currently only two body Van Der Waals has full support for energy currents and \({\bf k}\)-dependent stress.
Input¶
In order to calculate density and the momentum currents the user must supply
A KPOINTS file with \({\bf k}\)-space samples.
currents_calculate On in the new style CONTROL (see Section New Control Files).
For energy currents and \({\bf k}\) dependent stress also energy_stress_currents On must also be specified.
See The KPOINTS File for the KPOINTS format.
Performance¶
Current calculations require reducing statistics across atoms in the system and among processors, as well as collection of additional data during force calculation. energy_stress_currents require additional specification due to the increased complexity of force calculations due to Equations (158) and (157).
The frequency of statistics collection, the number of KPOINTS, and the number of atoms can all be varied to balance the requirements of statistical accuracy.
Output¶
The CURRENTS file will output each current, for each atom type, at each time step (at rate of the stats_frequency steps). If io_statis_yaml On is present in CONTROL the output will be in the form of a YAML file like the snippet below for LiF
%YAML 1.2
---
title: CONFIG generated by ASE
timesteps:
- { time: 0.0000000 ,
density: {
Li: [ ... ],
F: [ ... ]
},
longitudinal: {
Li: [ ... ],
F: [ ... ]
},
transverse: {
Li: [ ... ],
F: [ ... ]
},
energy_density: {
Li: [ ... ],
F: [ ... ]
}
}
- { time: 0.10000000E-02, ...
Otherwise refer to Section The CURRENTS file for the plaintext format.
Performance¶
For statistics calculation of Equations (152), (154), (155), and (158) scale with the number of user supplied KPOINTS and the number of atoms. Note Equation (158) requires additional calculations during force calculation for each atom and user KPOINTS, this will impact Van Der Waals performance.