compute_hnemd
This keyword is used to calculate the thermal conductivity using the homogeneous non-equilibrium molecular dynamics (HNEMD) method [Fan2019]. The results are written to the kappa.out output file.
Syntax
compute_hnemd <output_interval> <Fe_x> <Fe_y> <Fe_z>
The first parameter is the output interval.
The next three parameters are the \(x\), \(y\), and \(z\) components of the external driving force \(\boldsymbol{F}_e\) in units of Å-1.
Usually, there should be only one nonzero component of \(\boldsymbol{F}_e\). According to Eq. (8) of [Fan2019]:
Using a nonzero \(x\) component of \(\boldsymbol{F}_e\), one can obtain the \(xx\), \(yx\) and \(zx\) components of the thermal conductivity tensor.
Using a nonzero \(y\) component of \(\boldsymbol{F}_e\), one can obtain the \(xy\), \(yy\) and \(zy\) components of the thermal conductivity tensor.
Using a nonzero \(z\) component of \(\boldsymbol{F}_e\), one can obtain the \(xz\), \(yz\) and \(zz\) components of the thermal conductivity tensor.
Examples
Example 1
compute_hnemd 1000 0.00001 0 0
This means that
you want to calculate the thermal conductivity using the HNEMD method;
the thermal conductivity will be averaged and output every 1000 steps (the heat current is sampled for every step);
the external driving force is along the \(x\) direction and has a magnitude of \(10^{-5}\) Å-1.
Note that one should control the temperature when using this keyword. Otherwise, the system will be heated up by the external driving force.
Important: For this purpose, the Nose-Hoover chain thermostat is recommended. The Langevin thermostat cannot be used for this purpose because it will affect the dynamics of the system.
Example 2
compute_hnemd 1000 0 0.00001 0
This is similar to the above example, but the external driving force is applied along the \(y\) direction.