The input stureture of POSCAR
(:ref:`this <example_POSCAR1>`) 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 consiering crystal symmetry.
To obtain supercells (2\times 2\times 3) with displacements, run phonopy:
phonopy -d --dim="2 2 3"
You should find the files, SPOSCAR
, disp.yaml
, and POSCAR-{number}
as
follows:
% ls disp.yaml POSCAR POSCAR-001 POSCAR-002 POSCAR-003 SPOSCAR
SPOSCAR
is the perfect supercell structure, 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 disp.yaml
.
Force constants are calculated using the structure files POSCAR-{number}
(from forces on atoms) or using the SPOSCAR
file (direct calculation of force
constants) by your favorite calculator. See the
:ref:`details<details_of_procedure>`.
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 :ref:`vasp_force_sets_option`:
% 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 :ref:`vasp_dfpt_interface`.
In the post-process,
- Force constants are calculated from the sets of forces
- A part of dynamical matrix is built from the force constants
- Phonon frequencies and eigenvectors are calculated from the dynamical matrices with the specified q-points.
For mesh sampling calculation, prepare the following setting file named, e.g.,
mesh.conf
:
ATOM_NAME = Si O DIM = 2 2 3 MP = 8 8 8
The density of states (DOS) is plotted by:
% phonopy -p mesh.conf
Thermal properties are calculated with the sampling mesh by:
% phonopy -t mesh.conf
You should check the convergence with respect to the mesh numbers. Thermal properties can be plotted by:
% phonopy -t -p mesh.conf
Projected DOS is calculated by the following setting file named, e.g., pdos.conf
:
ATOM_NAME = Si O DIM = 2 2 3 MP = 8 8 8 PDOS = 1 2, 3 4 5 6
and plotted by:
% phonopy -p pdos.conf
Band structure is calculated with the following setting file named, e.g., band.conf by:
ATOM_NAME = Si O DIM = 2 2 3 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
The band structure is plotted by:
% phonopy -p band.conf
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.
To activate non-analytical term correction, :ref:`born_file` 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 (:ref:`born_file`). However for VASP, an
auxiliary tool is prepared, which is outcar-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 outcar-born
in the directory containing
OUTCAR
of this VASP calculation:
% outcar-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:
% outcar-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, and running phonopy with
--nac
option, non-analytical term correction is activated, such as:
% phonopy -p --nac band.conf
Please watch the example of NaCl with and without --nac
option shown in
:ref:`examples_link`.
The structure file names are different in different force calculators, see :ref:`calculator_interfaces`. To notify this, (*) is put after the structure file name. By refering :ref:`calculator_interfaces`, please read the file name according to those for the other calculators.
Following files are required in your working directory.
POSCAR
(*), andFORCE_SETS
orFORCE_CONSTANTS
disp.yaml
is required to createFORCE_SETS
.
In the case of finite difference approach, there are three steps.
- Create supercells and introduce atomic displacements. Each
supercell contains one atomic displacement. It is done by using
-d
option with--dim
option that specifies supercell dimension. The files of supercells with atomic displacements like asPOSCAR-001
,POSCAR-002
, ..., (*) are created in current directory by running phonopy. The filesdisp.yaml
andSPOSCAR
are also created. The fileSPOSCAR
is the perfect supercell that contains no atomic displacement. This file is not usually used. - Calculate forces on atoms of the supercells with atomic
displacements. After obtaining forces on atoms that calculated by
some calculator (it's out of phonopy), the forces are summarized in
FORCE_SETS
file following the :ref:`format <file_forces>`. - Calculate phonon related properties. See :ref:`analyze_phonon`.
If you already have force constants, the first and second steps can be omitted. However your force constants have to be converted to the :ref:`format <file_force_constants>` that phonopy can read. The :ref:`VASP interface <vasp_force_constants>` to convert force constants is prepared in phonopy.