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 dataNc
: Maximum number of correlation stepsomega_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.