Computing the phonon dispersion and DOS

From VASP Wiki
Revision as of 12:29, 23 February 2024 by Mani (talk | contribs) (Use TAGO template)

After computing the force constants using the finite differences or density-functional-perturbation theory (DFPT) approaches, it is possible to compute the phonon dispersion relation as well as the phonon density of states (DOS). This is accomplished by Fourier interpolating the interatomic force constants from a supercell calculation to the primitive cell.

Phonon dispersion: Step-by-step instructions

Step 1: Compute the force constants

There are two possible approaches for computing the force constants and then building the dynamical matrix:

  1. Using finite differences with IBRION = 5, 6.
  2. Using DFPT with IBRION = 7, 8.

These calculations must be performed in a supercell so that the force constants vanish at large distances.

Important: The phonon frequencies need to be converged with respect to the supercell size.

Step 2: Provide q-points along a high-symmetry path

Create a QPOINTS file containing a q-points path at which the phonon dispersion is computed. This is accomplished using the line mode of the KPOINTS-file format.

Step 3: Compute the phonon dispersion

To compute the phonon dispersion, set LPHON_DISPERSION = true in the INCAR file. The amount of information written to the OUTCAR file can be tuned using the PHON_NWRITE tag.

Reading of force constants

Steps 1-3 can be performed in one VASP calculation. However, generating the finite displacements in the supercell to compute force constants is time-consuming. It is possible to skip that step by providing force constants from a previous run. Rename the vaspout.h5 output file from the previous calculation to vaspin.h5, set

 LPHON_READ_FORCE_CONSTANTS = True 
 LPHON_DISPERSION = True

and provide a QPOINTS file.

Phonon DOS: Step-by-step instructions

Step 1: Compute the force constants

Same as above. This can be skipped by providing force constants in vaspin.h5 and setting LPHON_READ_FORCE_CONSTANTS = True.

Step 2: Specify a uniform q-point mesh

Create a QPOINTS file that specifies a sufficiently dense, uniform q-point mesh.

Step 3: Compute the DOS

Set PHON_DOS > 0 in the INCAR file. The DOS 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 or to use the tetrahedron method set PHON_DOS = 2.

Polar materials

If the material is polar, i.e., two or more atoms in the unit cell carry non-zero Born effective charge tensors, the long-range dipole-dipole interaction has to be treated by 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 calculation in the unit cell setting LEPSILON or LCALCEPS. Optionally, specify a reciprocal space cutoff radius (PHON_G_CUTOFF) for the Ewald summation.

Related tags and articles

QPOINTS, LPHON_DISPERSION, PHON_NWRITE, LPHON_POLAR, PHON_DIELECTRIC, PHON_BORN_CHARGES, PHON_G_CUTOFF