compute_dos

This keyword computes the phonon density of states (PDOS) using the mass-weighted velocity autocorrelation (VAC) function. The output is normalized such that the integral of the PDOS over all frequencies equals 3N, where N is the number of atoms. If this keyword appears in a run, the mass-weighted VAC function will be computed and directly used to compute the PDOS.

The results of these calculations will be written to mvac.out (for the mass-normalized VAC function) and dos.out (for the DOS).

Syntax

For this keyword, the command looks like:

compute_dos <sample_interval> <Nc> <omega_max> [{<optional_arg>}]

with parameters defined as:

  • sample_interval: Sampling interval of the velocity data

  • Nc: Maximum number of correlation steps

  • omega_max: Maximum angular frequency ωmax=2πνmax used in the PDOS calculation

The optional arguments (optional_arg) provide additional functionality by allowing special keywords. The keywords for this function are group and num_dos_points. These keywords can be used in any order but the parameters associated with each must follow directly.

The option group has two parameters:

group <group_method> <group>

where group_method is the grouping method to use for computation and group is the index of the group to use. If group is -1, it means to calculate the DOS for every group in the group_method. If each atom is in one group, one can get the per-atom DOS and then calculate the phonon participation ratio.

The option num_dos_points has one parameter:

num_dos_points <points>

where points is the number of frequency points to be used in the DOS calculation. It defaults to Nc if the num_dos_points option is not specified.

Example

An example for the use of this keyword is:

compute_dos 5 200 400.0 group 1 2 num_dos_points 300

This means that you

  • want to calculate the PDOS

  • the velocity data will be recorded every 5 steps

  • the maximum number of correlation steps is 200

  • the maximum angular frequency you want to consider is ωmax=2πνmax= 400 THz

  • you would like to compute only over group 2 in group method 1

  • you would like the maximum angular frequency to be evenly divided into 300 points for output.

Caveats

This keyword cannot be used in the same run as the compute_sdc keyword.