compute_shc

The compute_shc keyword is used to compute the non-equilibrium virial-velocity correlation function \(K(t)\) and the spectral heat current (SHC) \(J_q(\omega)\), in a given direction, for a group of atoms, as defined in Eq. (18) and the left part of Eq. (20) of [Fan2019]. The results are written to the shc.out output file.

Syntax

compute_shc <sample_interval> <Nc> <transport_direction> <num_omega> <max_omega> [{<optional_arg>}]

sample_interval is the sampling interval (number of steps) between two correlation steps. This parameter must be an integer that is \(\geq 1\) and \(\leq 10\).

Nc is the total number of correlation steps. This parameter must be an integer that is \(\geq 100\) and \(\leq 1000\).

transport_direction is the direction of heat transport to be measured. It can only be 0, 1, and 2, corresponding to the \(x\), \(y\), and \(z\) directions, respectively.

num_omega is the number of frequency points one wants to consider.

max_omega is the maximum angular frequency (in units of THz) one wants to consider. The angular frequency data will be max_omega/num_omega, 2*max_omega/num_omega, ..., max_omega.

<optional_arg> can only be group, which requires two parameters:

group <grouping_method> <group_id>

This means that \(K(t)\) will be calculated for atoms in group group_id of grouping method grouping_method. Usually, group_id should be \(\geq 0\) and smaller than the number of groups in grouping method grouping_method. If grouping_method is 0 and group_id is -1, it means to calculate the \(K(t)\) for every group. Also, grouping method grouping_method must be defined in the simulation model input file. If this option is missing, it means computing \(K(t)\) for the whole system.

Examples

Example 1

The command:

compute_shc 2 250 0 1000 400.0

means that

  • you want to calculate \(K(t)\) for the whole system

  • the sampling interval is 2

  • the maximum number of correlation steps is 250

  • the transport direction is \(x\)

  • you want to consider 1000 frequency points

  • the maximum angular frequency is 400 THz

Example 2

The command:

compute_shc 1 500 1 500 200.0 group 0 4

means that

  • you want to calculate \(K(t)\) for atoms in group 4 defined in grouping method 0

  • the sampling interval is 1 (sample the data at each time step)

  • the maximum number of correlation steps is 500

  • the transport direction is \(y\)

  • you want to consider 500 frequency points

  • the maximum angular frequency is 200 THz

Caveats

This computation can be memory consuming.

If you want to use the in-out decomposition for 2D materials, you need to make the basal plane in the \(xy\) directions.