[Wien] Phonopy

Gavin Abo gsabo at crimson.ua.edu
Sun May 1 22:54:53 CEST 2016


Take NaCl for example.

Its cubic unit cell (alpha = beta = gamma = 90 deg) has space group 225, 
a lattice constant (a = b = c) of about 5.6 ang, and two nonequivalent 
positions (Cl: 0, 0, 0; Na: 0.5, 0.5, 0.5) [ 
http://www.ilpi.com/inorganic/structures/nacl/ ].

First, do it the wrong way using the NaCl unit cell struct file having 
the spacegroup 225 with F lattice as the input for phonopy.  You expect 
phonopy to give spacegroup 225 as output in the terminal.  However, the 
wrong input (F lattice) was used for phonopy, so it gives spacegroup 221 
as the output:

username at computername:~/wiendata/NaCl$ sed -n 2p NaCl.struct
F   LATTICE,NONEQUIV.ATOMS:  2 225_Fm-3m
username at computername:~/wiendata/NaCl$ phonopy --wien2k -c NaCl.struct 
-d --dim="2 2 2"
...
Spacegroup: Pm-3m (221)
Number of non-equivalent atoms in NaCl.structS-001: 8
Number of non-equivalent atoms in NaCl.structS-002: 8
...

Spacegroups can have atomic positions where atoms are free to move and 
others where atoms cannot move as they are fixed.  The atomic positions 
for NaCl in the spacegroup 225 are fixed [ 
http://www.wien2k.at/reg_user/textbooks/WIEN2k_lecture-notes_2013/WIEN2k-getting_started.pdf 
(slide 36) ].  Thus, it is not possible to displace the NaCl atomic 
positions in the spacegroup 225 [ 
http://www.mail-archive.com/wien%40zeus.theochem.tuwien.ac.at/msg00119.html 
].

Now, do it correctly by following the instructions in phonopy 
documentation [ 
http://atztogo.github.io/phonopy/wien2k.html#wien2k-interface ].

Convert NaCl having spacegroup 225 (F lattice) to its equivalent 
representation in the general P lattice:

username at computername:~/wiendata/NaCl$ sed -n 2p NaCl.struct
F   LATTICE,NONEQUIV.ATOMS:  2 225_Fm-3m
username at computername:~/wiendata/NaCl$ x supercell
  Program generates supercell from a WIEN struct file.

  Filename of struct file:
NaCl.struct

  Number of cells in x direction:
1
  Number of cells in y direction:
1
  Number of cells in z direction:
1
  Optional shift all atoms by the same amount (fractional coordinates).
  Please enter x shift:
0
  Please enter y shift:
0
  Please enter z shift:
0

  Current structure has lattice type F
  Enter your target lattice type: (P,B,F)
P
  Target lattice type will be P

  Add vacuum in x-direction for surface-slab [bohr]:
0
  Add vacuum in y-direction for surface-slab [bohr]:
0
  Add vacuum in z-direction for surface slab [bohr]:
0

  Supercell generated sucessfully.
  Stored in struct file: NaCl_super.struct

  You may need to replace an atom by an impurity or distort the 
positions, ....
0.0u 0.0s 0:19.31 0.0% 0+0k 0+16io 0pf+0w
username at computername:~/wiendata/NaCl$ cp NaCl_super.struct NaCl.struct
username at computername:~/wiendata/NaCl$ sed -n 2p NaCl.struct
P   LATTICE,NONEQUIV. ATOMS  8

Unlike NaCl with spacegroup 225, the 1x1x1 supercell representation of 
NaCl with P lattice has no spacegroup associated with it [ 
http://www.wien2k.at/reg_user/faq/supercells.html ]. Since the P lattice 
has no spacegroup, there is no longer the restriction of the 225 
spacegroup that the NaCl positions are fixed.  Thus, the NaCl positions 
are free and can be displaced in the P lattice.

The initial NaCl.struct with P lattice has no displacement. Therefore, 
the symmetry of the supercell can be expected to reduce to the 
spacegroup 225.  In WIEN2k, there is "x sgroup" for determining the 
spacegroup.  However, phonopy has its own way of determining the 
spacegroup (note: it has a built-in symmetry finder [ 
https://sourceforge.net/p/phonopy/mailman/message/25001819/ ]), and it 
detects the expected spacegroup 225 when NaCl.struct is given in the P 
lattice format as input:

username at computername:~/wiendata/NaCl$ phonopy --wien2k -c NaCl.struct 
-d --dim="2 2 2"
...
Creating displacements
Settings:
   Supercell: [2 2 2]
Spacegroup: Fm-3m (225)
Number of non-equivalent atoms in NaCl.structS-001: 24
Number of non-equivalent atoms in NaCl.structS-002: 24
...

Togo mentioned another reason why the spacegroup 225 case.struct file 
cannot be used for phonopy [ 
https://sourceforge.net/p/phonopy/mailman/message/26200243/ ]:

/I didn't want to implement a full Wien2k structure parser, so I just 
decided to implement only for P1./

The files with the displacements (NaCl.structS-001 and NaCl.structS-002) 
of the atomic positions have the P lattice, not the spacegroup 225, as 
expected:

username at computername:~/wiendata/NaCl$ sed -n 2p NaCl.structS-001
P   LATTICE,NONEQUIV.ATOMS: 64
username at computername:~/wiendata/NaCl$ sed -n 2p NaCl.structS-002
P   LATTICE,NONEQUIV.ATOMS: 64

So that looks fine.

Of course, if the atomic position of an atom is displaced, that could 
change the forces on atoms in the structure [ 
https://en.wikipedia.org/wiki/Coulomb%27s_law ] and the spacegroup of 
the structure.  Indeed, if you check NaCl.structS-001 and 
NaCl.structS-002, it looks like they will have spacegroup 99 (P4mm) from 
the output of "x sgroup".

On 5/1/2016 1:41 AM, Rajneesh Chaurasiya wrote:
> Dear Gavin,
> Are you sure that after changing the space group of material it will 
> not effect the phonon calculation.
> because after changing the space group of crystal structure all the 
> atom position changes and calculate forces on that atoms will not be 
> same as the previous one space group.
> I have verified this problem in your given examples of NaCl and SrTiO3.
>
> So can you explain this problem in more details???
>
> Thank you
>
> On Wed, Apr 27, 2016 at 2:29 PM, Rajneesh Chaurasiya 
> <rajnano2012 at gmail.com <mailto:rajnano2012 at gmail.com>> wrote:
>
>     Dear Sir,
>
>     I have computed the phonon spectrum of example of NaCl and SrTiO3
>     successfully now when i started the new calculation. in that
>     calculation i construct the case.struct file and after
>     initialization i make a supercell (2 2 2) and create a
>     displacement then it change change the space group. initially my
>     space group is Fm3m and after creating the displacement it become
>     C2/m. I thing some thing is happening in a unusual way so any one
>     can help?
>
>     The procedure which i follow.
>
>     makestruct..
>     cp init.struct BP.struct
>     init_lapw
>     phonopy --wien2k -c BP.struct -d --dim="2 2 2"
>      at this steps the erorrs looks like...
>
>
>     _ __ | |__   ___  _ __   ___   _ __  _   _
>      | '_ \| '_ \ / _ \| '_ \ / _ \ | '_ \| | | |
>      | |_) | | | | (_) | | | | (_) || |_) | |_| |
>      | .__/|_| |_|\___/|_| |_|\___(_) .__/ \__, |
>      |_|                            |_|    |___/
>                                           1.10.0
>
>     Python version 2.7.11
>     Creating displacements
>     Settings:
>       Supercell: [2 2 2]
>     Spacegroup: C2/m (12)
>     Number of non-equivalent atoms in BP.structS-001: 80
>     Number of non-equivalent atoms in BP.structS-002: 80
>     Number of non-equivalent atoms in BP.structS-003: 52
>     Number of non-equivalent atoms in BP.structS-004: 52
>     Number of non-equivalent atoms in BP.structS-005: 80
>     Number of non-equivalent atoms in BP.structS-006: 52
>     Number of non-equivalent atoms in BP.structS-007: 80
>     Number of non-equivalent atoms in BP.structS-008: 52
>     Number of non-equivalent atoms in BP.structS-009: 80
>     Number of non-equivalent atoms in BP.structS-010: 80
>     Number of non-equivalent atoms in BP.structS-011: 52
>     Number of non-equivalent atoms in BP.structS-012: 52
>     Number of non-equivalent atoms in BP.structS-013: 80
>     Number of non-equivalent atoms in BP.structS-014: 80
>     Number of non-equivalent atoms in BP.structS-015: 80
>     Number of non-equivalent atoms in BP.structS-016: 80
>     Number of non-equivalent atoms in BP.structS-017: 80
>     Number of non-equivalent atoms in BP.structS-018: 80
>
>     disp.yaml and supercells have been created.
>                      _
>        ___ _ __   __| |
>       / _ \ '_ \ / _` |
>      |  __/ | | | (_| |
>       \___|_| |_|\__,_|
>
>
>
>     -- 
>     Thanks & Regards
>     Rajneesh Chaurasiya
>     Junior Research Fellow
>     IIT,Jodhpur, India
>     Mob. No. +91-9584499697
>                   +91-7610950803
>
>
>
>
> -- 
> Thanks & Regards
> Rajneesh Chaurasiya
> Junior Research Fellow
> IIT,Jodhpur, India
> Mob. No. +91-9584499697
>               +91-7610950803
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20160501/611f1bc4/attachment.html>


More information about the Wien mailing list