Computing the phonon dispersion and DOS
After computing the force constants using the finite differences or density functional perturbation theory approaches it is possible to compute the phonon dispersion using the primitive cell as well as the phonon density of states.
Computing force constants
There are two possible approaches for computing the force constants and then building the dynamical matrix:
- Using finite differences with (IBRION=5, 6)
- Using density functional perturbation theory with (IBRION=7, 8)
Computing the phonon dispersion
To plot the phonon dispersion the tag LPHON_DISPERSION=.TRUE. must be set in the INCAR file. Additionally, the QPOINTS file must be present containing a q points path at which the phonon dispersion will be computed.
If the material is polar (i.e. has more than one different atom type) the long-range dipole-dipole interaction has to be treated by an Ewald summation. This is achieved by setting LPHON_POLAR=.TRUE., supplying the static dielectric tensor (PHON_DIELECTRIC) and the Born-effective charges (PHON_BORN_CHARGES). The values for these have to be obtained from a separate VASP run setting the LEPSILON or LCALCEPS INCAR tags. Additionally, the user might specify a reciprocal space cutoff radius (PHON_G_CUTOFF) for the Ewald summation. The amount of information written to the OUTCAR file can be tuned using the (PHON_NWRITE tag).
Computing the density of states
To compute the phonon density of states a sufficiently dense q-point mesh should be specified in the QPOINTS file and LPHON_DISPERSION=.TRUE. must be set in the INCAR file.. The density of states is computed between with and the lowest and highest phonon frequency and the broadening PHON_SIGMA.
The number of energy points in this energy range is specified by the PHON_NEDOS tag. To use a gaussian smearing method for the computation of the DOS set PHON_DOS=1 to use the tetrahedron method set PHON_DOS=2.
Related tags and articles
QPOINTS, LPHON_DISPERSION, PHON_NWRITE, LPHON_POLAR, PHON_DIELECTRIC, PHON_BORN_CHARGES, PHON_G_CUTOFF