# VASP-DFPT & phonopy calculation#

## How to run#

VASP can calculate force constants in real space using DFPT. The procedure to calculate phonon properties may be as follows:

1. Prepare unit cell structure named, e.g., POSCAR-unitcell. The following structure is a conventional unit cell of NaCl.

 Na Cl
1.00000000000000
5.6903014761756712    0.0000000000000000    0.0000000000000000
0.0000000000000000    5.6903014761756712    0.0000000000000000
0.0000000000000000    0.0000000000000000    5.6903014761756712
4   4
Direct
0.0000000000000000  0.0000000000000000  0.0000000000000000
0.0000000000000000  0.5000000000000000  0.5000000000000000
0.5000000000000000  0.0000000000000000  0.5000000000000000
0.5000000000000000  0.5000000000000000  0.0000000000000000
0.5000000000000000  0.5000000000000000  0.5000000000000000
0.5000000000000000  0.0000000000000000  0.0000000000000000
0.0000000000000000  0.5000000000000000  0.0000000000000000
0.0000000000000000  0.0000000000000000  0.5000000000000000

2. Prepare a perfect supercell structure from POSCAR-unitcell,

% phonopy -d --dim 2 2 2 -c POSCAR-unitcell

3. For later convenience, it is recommended to generate phonopy_disp.yaml using SPOSCAR file,

% phonopy -d --dim 1 1 1 --pa auto -c SPOSCAR

4. Rename SPOSCAR created in (3) to POSCAR to be used in the VASP calculation.

% mv SPOSCAR POSCAR


POSCAR-{number} files will never be used.

5. Calculate force constants of the perfect supercell by running VASP with IBRION = 8. An example of INCAR for insulator may be such like (just an example!)

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

6. After finishing the VASP calculation, confirm vasprun.xml contains hessian elements, and then create FORCE_CONSTANTS by

% phonopy --fc vasprun.xml

7. Run phonopy

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

_
_ __ | |__   ___  _ __   ___   _ __  _   _
| '_ \| '_ \ / _ \| '_ \ / _ \ | '_ \| | | |
| |_) | | | | (_) | | | | (_) || |_) | |_| |
| .__/|_| |_|\___/|_| |_|\___(_) .__/ \__, |
|_|                            |_|    |___/
2.26.6

Compiled with OpenMP support (max 10 threads).
Python version 3.12.4
Spglib version 2.4.0

Crystal structure was read from "phonopy_disp.yaml".
Unit of length: angstrom
Band structure mode
Settings:
Supercell: [1 1 1]
Primitive matrix:
[0.   0.25 0.25]
[0.25 0.   0.25]
[0.25 0.25 0.  ]
Spacegroup: Fm-3m (225)
Number of symmetry operations in supercell: 1536
Use -v option to watch primitive cell, unit cell, and supercell structures.

Force constants are read from "FORCE_CONSTANTS".
Force constants format was transformed to compact format.
Array shape of force constants: (2, 64, 3, 3)
Max drift after symmetrization by translation: -0.000000 (zz) -0.000000 (zz)

Reciprocal space paths in reduced coordinates:
[ 0.000  0.000  0.000] --> [ 0.500  0.000  0.000]
[ 0.500  0.000  0.000] --> [ 0.500  0.500  0.000]
[ 0.500  0.500  0.000] --> [ 0.000  0.000  0.000]
[ 0.000  0.000  0.000] --> [ 0.500  0.500  0.500]

Summary of calculation was written in "phonopy.yaml".
_
___ _ __   __| |
/ _ \ '_ \ / _ |
|  __/ | | | (_| |
\___|_| |_|\__,_|


When running with phonopy command, --readfc option is necessary:

% phonopy --readfc band.conf
`