Wien2k & phonopy calculation#
How to run#
The Wien2k-phonopy calculation works as follows:
Read a Wien2k struct file with the P lattice format and create supercells with the Wien2k struct format of P lattice using
% phonopy --wien2k -d --dim="2 2 2" -c case.struct
In this example, 2x2x2 supercells are created.
xxxare numbers) are the perfect supercell and the supercells with displacements, respectively. Perhaps these are renamed to
case-xxx.structand stored in
case-xxxdirectories, then to be calculated using Wien2k.
Calculate forces on atoms in the supercells with displacements. It is necessary to use
case.struct_nnfile when running
init_lapw. Note that
case.struct_sgroupfile can’t be used with phonopy. In the Wien2k calculations, the force convergence option of
-fchas to be specified to obtain
total forces. A first attempt of the force convergence criterion may be 0.1 (mRy/a.u.). It is recommended to try more strict convergence criteria with saving one by one using
scf2forcesthat is found at http://www.wien2k.at/reg_user/unsupported/.
Or try experimetal support of
% phonopy --wien2k -f case-001.scf case-002.scf ...
case-xxx.scfare the Wien2k results for the supercells.
case-xxx.scfhas to contain
total forces. When calculating supercells, the number of non-equivalent atoms determined by
nnhas to match with the number of non-equivalent atoms determined by
phonopy. The former is found to watch
nn(it is supposed that
nnis used to calculate forces), and the later is displayed in the step 1. An example is found in
The above procedure with
-foption may fail. In this case, Wien2k calculations of
case-xxx.scfwith P1 symmetry may be used for phonopy testing purpose though it computationally demands a lot. If phonopy finds that
case-xxx.scfare calculated with P1 symmetry, phonopy handles this as a special case. An example is found in
Run post-process of phonopy with the Wien2k unit cell struct file used in the step 1:
% phonopy --wien2k -c case.struct --dim="2 2 2" [other-OPTIONS] [setting-file]
Phonopy can read only the P lattice format. Therefore you have to
convert your struct file to that with the P lattice format. This may
be done using
supercell script in the Wien2k package by making