# The compute hnema keyword

## Contents

## 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 [math]x[/math] direction component of the external driving force**F**in units of [math]Å^{-1}[/math]._{e}`Fe_y`

is the [math]y[/math] direction component of the external driving force**F**in units of [math]Å^{-1}[/math]._{e}`Fe_z`

is the [math]z[/math] direction component of the external driving force**F**in units of [math]Å^{-1}[/math]._{e}`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 [math]x[/math] direction and has a magnitude of [math]0.8 \times 10^{-5} Å^{-1}[/math] (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.

## Output file

## 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.