# The compute hnema keyword

## Purpose

The compute_hnema keyword is used to calculate the modal thermal conductivity using the Homogeneous Nonequilibrium Modal Analysis (HNEMA) method [Gabourie 2020].

## Grammar

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 Fe in units of $Å^{-1}$.
• Fe_y is the $y$ direction component of the external driving force Fe in units of $Å^{-1}$.
• Fe_z is the $z$ direction component of the external driving force Fe in units of $Å^{-1}$.
• first_mode is the first mode in the eigenvector.in file file to include in the calculation.
• last_mode is the last mode in the eigenvector.in file to include in the calculation.
• bin_option determines which binning technique to use: bin_size or f_bin_size.
• size defines how the modes are added to each bin. If bin_option = bin_size, then this is an integer describing how many modes are included per bin. If bin_option = 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 (1) you want to calculate the modal thermal conductivity with the HNEMA method; (2) the modal thermal conductivity will be sampled every 10 steps; (3) the average of all sampled modal thermal conductivities will be output every 1000 time steps; (4) the external driving force is along the $x$ direction and has a magnitude of $0.8 \times 10^{-5} Å^{-1}$ (5) the range of modes you want to include of calculations are from 1 to 27216; (6) 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 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 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.

## References

• [Gabourie 2020] Alexander J. Gabourie, Zheyong Fan, and Eric Pop, in preparation.