`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 \(\omega_{max}=2\pi\nu_{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 \(\omega_{max} = 2\pi\nu_{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.