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.