Update document

This commit is contained in:
Atsushi Togo 2016-09-14 16:59:52 +09:00
parent 737a1c62ef
commit d6f42e438f
5 changed files with 176 additions and 48 deletions

BIN
doc/NaCl-pwscf-band-NAC.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

@ -16,6 +16,9 @@ Si
``FORCE_SETS`` file creation for VASP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For the other calculators such as pwscf, abinit, etc, the way to
create ``FORCE_SETS`` is found following :ref:`calculator_interfaces`.
::
% phonopy -f vasprun.xml

View File

@ -215,35 +215,6 @@ This file is used with the ``--nac`` option or ``NAC`` tag.
The formula implemented is refered to :ref:`non_analytical_term_correction_theory`.
.. ``--nac_old`` option
.. ~~~~~~~~~~~~~~~~~~~~~
.. When using the ``--nac_old`` option, a damping function is multiplied
.. with the non-analytical term to obtain the dynamical matrix at
.. geneneral **q**-points (:ref:`reference_NAC`), which is written
.. by,
.. .. math::
.. D_{\alpha\beta}(jj',\mathbf{q}) =
.. D_{\alpha\beta}^{\mathrm{N}}(jj',\mathbf{q}) + \frac{4\pi}{\sqrt{m_j m_j}\Omega_0}
.. \frac{[\sum_{\gamma}q_{\gamma}Z^{*}_{j,\gamma\alpha}][\sum_{\gamma'}q_{\gamma'}Z^{*}_{j',\gamma'\beta}]}
.. {\sum_{\alpha\beta}q_{\alpha}\epsilon_{\alpha\beta}^{\infty}
.. q_{\beta}} \times \exp(-\frac{|\mathbf{q}|^2}{\sigma^2}) \times
.. \mathrm{unit\ conversion\ factor}.
.. This equation is directly implemented. Therefore unit conversion of
.. the non-analytical term is necessary. The variables are implemented
.. that :math:`m` (mass) is in the amu, :math:`\Omega` (volume of
.. primitive cell) is determined in the input structure file, and
.. :math:`Z` (Born effective charge) and :math:`\epsilon` (dielectric
.. constant) are determined in the ``BORN`` file. In
.. :math:`\exp(-|\mathbf{q}|^2/\sigma^2)`, :math:`\sigma` is the
.. parameter, and :math:`\mathbf{q}` is the wave vector in reduced
.. reciprocal coordinate without :math:`2\pi`. The
.. reciprocal primitive vectors are calculated by
.. :math:`[\mathbf{a}^*\,\mathbf{b}^*\,\mathbf{c}^*]=[\mathbf{a}\,\mathbf{b}\,\mathbf{c}]^{-T}`.
Format
~~~~~~

View File

@ -6,9 +6,12 @@ VASP & phonopy calculation
Pre-process
~~~~~~~~~~~~
The input stureture of ``POSCAR`` is supposed to be :ref:`this<example_POSCAR1>`.
The input stureture of ``POSCAR`` (:ref:`this <example_POSCAR1>`) is
used as an example here. Most files are found at `SiO2-HP example <https://github.com/atztogo/phonopy/tree/master/example/SiO2-HP/>`_.
In the pre-process, supercell structures with (or without) displacements are created from a unit cell fully consiering crystal symmetry.
In the pre-process, supercell structures with (or without)
displacements are created from a unit cell fully consiering crystal
symmetry.
To obtain supercells (:math:`2\times 2\times 3`) with displacements,
run phonopy::
@ -43,7 +46,6 @@ In the case of VASP, the calculations for the finite displacement method can be
ISMEAR = 0; SIGMA = 0.01
IALGO = 38
LREAL = .FALSE.
ADDGRID = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
@ -115,14 +117,77 @@ In either case, by setting the ``-s`` option, the plot is going to be saved in t
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, :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`.
.. _details_of_procedure:
Details
--------
Some more details
------------------
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``, and ``FORCE_SETS`` or ``FORCE_CONSTANTS``
- ``POSCAR`` (*), and ``FORCE_SETS`` or ``FORCE_CONSTANTS``
- ``disp.yaml`` is required to create ``FORCE_SETS``.
In the case of finite difference approach, there are three steps.
@ -131,20 +196,16 @@ In the case of finite difference approach, there are three steps.
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
as ``POSCAR-001``, ``POSCAR-002``, ..., are created in current
directory (the file format and names are different in :ref:`WIEN2k
mode <wien2k_mode>`.) by running phonopy. The files ``disp.yaml``
and ``SPOSCAR`` are also created. The file ``SPOSCAR`` is the
perfect supercell that contains no atomic displacement. This file
is not usually used.
as ``POSCAR-001``, ``POSCAR-002``, ..., (*) are created in current
directory by running phonopy. The files ``disp.yaml`` and
``SPOSCAR`` are also created. The file ``SPOSCAR`` is the perfect
supercell that contains no atomic displacement. This file is not
usually used.
2. Calculate forces on atoms of the supercells with atomic
displacements. Currently phonopy has :ref:`VASP
<vasp_force_sets_option>` and :ref:`WIEN2k <wien2k_interface>`
interfaces to create ``FORCE_SETS``. 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>`.
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>`.
3. Calculate phonon related properties. See :ref:`analyze_phonon`.

View File

@ -3,6 +3,10 @@
Pwscf & phonopy calculation
=========================================
Quantum espresso package itself has a set of the phonon calculation
system. But the document here explains how to calculate phonons using
phonopy, i.e., using the finite displacement and supercell approach.
Supported Pwscf tags
---------------------------
@ -123,3 +127,92 @@ NaCl example found in ``example/NaCl-pwscf`` directory.
:ref:`setting_tags` and :ref:`command_options`, respectively, and
for examples, see :ref:`examples_link`.
Non-analytical term correction (Optional)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 pwscf (``pw.x``) & phonon (``ph.x``) codes in quantum-espresso
package. There are two steps. The first step is usual self-consistent
field (SCF) calculation
by and the second step is running its response function calculations
under DFPT.
For the SCF calculation, the input file ``NaCl.in`` looks like::
&control
calculation = 'scf'
tprnfor = .true.
tstress = .true.
pseudo_dir = '/home/togo/espresso/pseudo/'
/
&system
ibrav = 0
nat = 8
ntyp = 2
ecutwfc = 70.0
/
&electrons
diagonalization = 'david'
conv_thr = 1.0d-9
/
ATOMIC_SPECIES
Na 22.98976928 Na.pbe-spn-kjpaw_psl.0.2.UPF
Cl 35.453 Cl.pbe-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS crystal
Na 0.0000000000000000 0.0000000000000000 0.0000000000000000
Na 0.0000000000000000 0.5000000000000000 0.5000000000000000
Na 0.5000000000000000 0.0000000000000000 0.5000000000000000
Na 0.5000000000000000 0.5000000000000000 0.0000000000000000
Cl 0.5000000000000000 0.5000000000000000 0.5000000000000000
Cl 0.5000000000000000 0.0000000000000000 0.0000000000000000
Cl 0.0000000000000000 0.5000000000000000 0.0000000000000000
Cl 0.0000000000000000 0.0000000000000000 0.5000000000000000
CELL_PARAMETERS angstrom
5.6903014761756712 0 0
0 5.6903014761756712 0
0 0 5.6903014761756712
K_POINTS automatic
8 8 8 1 1 1
where more the k-point mesh numbers are specified. This may be exectued as::
mpirun ~/espresso/bin/pw.x -i NaCl.in |& tee NaCl.out
Many files whose names stating with ``pwscf`` should be created. These
are used for the next calculation. The input file for the response
function calculations, ``NaCl.ph.in``, is
created as follows::
&inputph
tr2_ph = 1.0d-14,
epsil = .true.
/
0 0 0
Similary ``ph.x`` is executed::
% mpirun ~/espresso/bin/ph.x -i NaCl.ph.in |& tee NaCl.ph.out
Finally the Born effective charges and dielectric constant are
obtained in the output file ``NaCl.ph.out``. The ``BORN`` file has to
be created manually following the ``BORN`` format
(:ref:`born_file`). The ``BORN`` file for this NaCl calculation would
be something like below::
default value
2.472958201 0 0 0 2.472958201 0 0 0 2.472958201
1.105385 0 0 0 1.105385 0 0 0 1.105385
-1.105385 0 0 0 -1.105385 0 0 0 -1.105385
Once this is made, the non-analytical term correction is included
just adding the ``--nac`` options as follows::
% phonopy --pwscf -c NaCl.in -p band.conf
|pwscf-band-nac|
.. |pwscf-band-nac| image:: NaCl-pwscf-band-NAC.png
:width: 50%