VASP & phonopy calculation#

Pre-process#

The input structure of POSCAR (this) is used as an example here. Most files are found at SiO2-HP example.

In the pre-process, supercell structures with (or without) displacements are created from a unit cell fully considering crystal symmetry.

To obtain supercells (:math:2\times 2\times 3) with displacements, run phonopy,

% phonopy -d --dim 2 2 3 --pa auto

You should find the files, SPOSCAR, phonopy_disp.yaml, and POSCAR-{number} as follows:

% ls
phonopy_disp.yaml  POSCAR  POSCAR-001  POSCAR-002  POSCAR-003  SPOSCAR

SPOSCAR is the perfect supercell structure, phonopy_disp.yaml contains the information on displacements, and POSCAR-{number} are the supercells with atomic displacements. POSCAR-{number} corresponds to the different atomic displacements written in phonopy_disp.yaml.

Calculation of sets of forces#

Force constants are calculated using the structure files POSCAR-{number} (from forces on atoms) or using the SPOSCAR file. In the case of VASP, the calculations for the finite displacement method can be proceeded just using the POSCAR-{number} files as POSCAR of VASP calculations. An example of the INCAR is as follows:

   PREC = Accurate
 IBRION = -1
  ENCUT = 500
  EDIFF = 1.0e-08
 ISMEAR = 0; SIGMA = 0.01
  IALGO = 38
  LREAL = .FALSE.
  LWAVE = .FALSE.
 LCHARG = .FALSE.

Be careful not to relax the structures. Then create FORCE_SETS file using VASP interface:

% phonopy -f disp-001/vasprun.xml disp-002/vasprun.xml disp-003/vasprun.xml

or

% phonopy -f disp-{001..003}/vasprun.xml

If you want to calculate force constants by VASP-DFPT directory, see VASP-DFPT & phonopy calculation.

Post-process#

In the post-process,

  1. Force constants are calculated from the sets of forces

  2. A part of dynamical matrix is built from the force constants

  3. Phonon frequencies and eigenvectors are calculated from the dynamical matrices with the specified q-points.

The density of states (DOS) is plotted by

% phonopy-load --mesh 20 20 20 -p

Thermal properties are calculated with the sampling mesh by

% phonopy-load --mesh 20 20 20 -t

You should check the convergence with respect to the mesh numbers. Thermal properties can be plotted by

% phonopy-load --mesh 20 20 20 -t -p

Projected DOS is calculated and plotted by

% phonopy-load --mesh 20 20 20 --pdos "1 2, 3 4 5 6" -p

Band structure is plotted by

% phonopy-load --band "0.5 0.5 0.5  0.0 0.0 0.0  0.5 0.5 0.0  0.0 0.5 0.0" -p

In either case, by setting the -s option, the plot is going to be saved in the PDF format. If you don’t need to plot DOS, the (partial) DOS is just calculated using the --dos option.

Non-analytical term correction (Optional)#

To activate non-analytical term correction, BORN (optional) is required. This file contains the information of Born effective charge and dielectric constant. These physical values are also obtained from the first-principles calculations, e.g., by using VASP, pwscf, etc. In the case of VASP, an example of INCAR will be as shown below

    PREC = Accurate
  IBRION = -1
  NELMIN = 5
   ENCUT = 500
   EDIFF = 1.000000e-08
  ISMEAR = 0
   SIGMA = 1.000000e-02
   IALGO = 38
   LREAL = .FALSE.
   LWAVE = .FALSE.
  LCHARG = .FALSE.
LEPSILON = .TRUE.

In addition, it is recommended to increase the number of k-points to be sampled. Twice the number for each axis may be a choice. After running this VASP calculation, BORN file has to be created following the BORN format (BORN (optional)). However for VASP, an auxiliary tool is prepared, which is phonopy-vasp-born. There is an option --pa for this command to set a transformation matrix from supercell or unit cell with centring to the primitive cell. Since this rutile-type SiO2 has the primitive lattice, it is unnecessary to set this option. Running phonopy-vasp-born in the directory containing vasprun.xml (or OUTCAR) of this VASP calculation:

% phonopy-vasp-born
# epsilon and Z* of atoms 1 3
   3.2605670   0.0000000   0.0000000   0.0000000   3.2605670   0.0000000   0.0000000   0.0000000   3.4421330
   3.7558600   0.3020100   0.0000000   0.3020100   3.7558600   0.0000000   0.0000000   0.0000000   3.9965200
  -1.8783900  -0.5270900   0.0000000  -0.5270900  -1.8783900   0.0000000   0.0000100   0.0000100  -1.9987900

To employ symmetry constraints, --st option may used as follows:

% phonopy-vasp-born --st
# epsilon and Z* of atoms 1 3
   3.2605670   0.0000000   0.0000000   0.0000000   3.2605670   0.0000000   0.0000000   0.0000000   3.4421330
   3.7561900   0.3020100   0.0000000   0.3020100   3.7561900   0.0000000   0.0000000   0.0000000   3.9968733
  -1.8780950  -0.5270900   0.0000000  -0.5270900  -1.8780950   0.0000000   0.0000000   0.0000000  -1.9984367

The values are slightly modified by symmetry, but we can see the original values obtained directly from VASP was already very good.

To put BORN file in the current directly, non-analytical term correction is activated.