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