compute_hnema

The compute_hnema keyword is used to calculate the modal thermal conductivity using the homogeneous non-equilibrium modal analysis (HNEMA) method [Gabourie2021]. The results are written to the kappamode.out output file.

Syntax

compute_hnema <sample_interval> <output_interval> <Fe_x> <Fe_y> <Fe_z> <first_mode> <last_mode> <bin_option> <size>

sample_interval is the sampling interval (in number of steps) used to compute the heat modal heat current. Must be a divisor of output_interval.

output_interval is the interval to output the modal thermal conductivity. Each modal thermal conductivity output is averaged over all samples per output interval.

Fe_x is the \(x\) direction component of the external driving force \(F_e\) in units of Å-1.

Fe_y is the \(y\) direction component of the external driving force \(F_e\) in units of Å-1.

Fe_z is the \(z\) direction component of the external driving force \(F_e\) in units of Å-1.

first_mode and last_mode are the first and last mode, respectively, in the eigenvector.in input file to include in the calculation.

bin_option determines which binning technique to use. The options are bin_size and f_bin_size.

size defines how the modes are added to each bin. If bin_option is bin_size, then this is an integer describing how many modes are included per bin. If bin_option is f_bin_size, then binning is by frequency and this is a float describing the bin size in THz.

Examples

Example 1

compute_hnema 10 1000 0.000008 0 0 1 27216 f_bin_size 1.0

This means that

  • you want to calculate the modal thermal conductivity with the HNEMA method

  • the modal thermal conductivity will be sampled every 10 steps

  • the average of all sampled modal thermal conductivities will be output every 1000 time steps

  • the external driving force is along the \(x\) direction and has a magnitude of \(0.8 \times 10^{-5}\) Å-1

  • the range of modes you want to include of calculations are from 1 to 27216

  • you want to bin the modes by frequency with a bin size of 1 THz.

Example 2

compute_hnema 10 1000 0.000008 0 0 1 27216 bin_size 1

This example is identical to Example 1, except the modes are binned by count. Here, each bin only has one mode (i.e. all modes are included in the output).

Example 3

compute_hnema 10 1000 0.000008 0 0 1 27216 bin_size 10

This example is identical to Example 2, except each bin has 10 modes.

Caveats

This computation can be very memory intensive. The memory requirements are comparable to the size of the eigenvector.in input file.

This keyword cannot be used in the same run as the compute_gkma keyword. The keyword used last will be used in the run.