Computing the phonon dispersion and DOS
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:
- Using finite differences with
IBRION = 5, 6
. - 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