[Pw_forum] IFCs and supercell

Kvasov Alexander alexander.kvasov at epfl.ch
Fri Nov 7 11:23:17 CET 2014


Dear Stefano,
thanks a lot for your kind reply! One thing is still not clear for me. Could you please clarify it? Please see below.

>      the corresponding relevant real space vectors vectors are therefore given by
>      r(i) = (n1-1)*at(i,1)+(n2-1)*at(i,2)+(n3-1)*at(i,3) + their periodic refolding to points nearest the origin
> a few examples should clarify:
>     1 1 1  -> r =    0
>     2 1 1  -> r =  a1
>     8 1 1  -> r = -a1

It's true for the same atoms, for example
8   8   8
   1   1   1   1               (atom1=atom2=1)
   1   1   1   5.72142674655E-02
   2   1   1  -1.06343912107E-02
   3   1   1   1.01649714042E-04
   4   1   1   4.15611567060E-06
   5   1   1  -6.46046533014E-06
   6   1   1   4.15611567060E-06
   7   1   1   1.01649714042E-04
   8   1   1  -1.06343912107E-02
and indeed
1 1 1  -> r =    0
2 1 1  -> r =  a1
8 1 1  -> r = -a1

However, if we take
  3    5  0  7.3434758  0.0000000  0.0000000  0.0000000  0.0000000  0.0000000
      1.000000000    0.000000000    0.000000000
     0.000000000    1.000000000    0.000000000
      0.000000000    0.000000000    1.000000000
           1  'Sr '    79860.7444956297
           2  'Ti '    43628.1015381455
           3  'O  '    14582.5610075711
    1    1      0.0000000000      0.0000000000      0.0000000000
    2    2      0.5000000000      0.5000000000      0.5000000000
    3    3      0.5000000000      0.5000000000      0.0000000000
    4    3      0.5000000000      0.0000000000      0.5000000000
    5    3      0.0000000000      0.5000000000      0.5000000000
T
      6.2439081      0.0000000      0.0000000
      0.0000000      6.2439081      0.0000000
      0.0000000      0.0000000      6.2439081
    1
      2.4363133      0.0000000      0.0000000
      0.0000000      2.4363133      0.0000000
      0.0000000      0.0000000      2.4363133
    2
      7.3260124      0.0000000      0.0000000
      0.0000000      7.3260124      0.0000000
      0.0000000      0.0000000      7.3260124
    3
     -2.0082996      0.0000000      0.0000000
      0.0000000     -2.0082996      0.0000000
      0.0000000      0.0000000     -5.7457266
    4
     -2.0082996      0.0000000      0.0000000
      0.0000000     -5.7457266      0.0000000
      0.0000000      0.0000000     -2.0082996
    5
     -5.7457266      0.0000000      0.0000000
      0.0000000     -2.0082996      0.0000000
      0.0000000      0.0000000     -2.0082996
   8   8   8
.....
.....
   1   1   1   2               (atom1(atom of origin)=2, atoms2=1)
   1   1   1  -1.52661521097E-03
   2   1   1  -1.52661520884E-03
   3   1   1  -2.40826237874E-04
   4   1   1  -1.56748657082E-04
   5   1   1  -9.53993420913E-05
   6   1   1  -9.53993442291E-05
   7   1   1  -1.56748429042E-04
   8   1   1  -2.40826009834E-04
and R-R0 is not anymore (n1-1)*a+(n2-1)*b+(n3-1)*c, but should include difference between atoms like
R-R0=(n1-1)*a+(n2-1)*b+(n3-1)*c+( R_cell(atom1) - R_cell(atom2))
this way
   1   1   1  -1.52661521097E-03                 R-R0=-a/2
   2   1   1  -1.52661520884E-03                 R-R0= a/2
   3   1   1  -2.40826237874E-04                 R-R0= 3a/2
   4   1   1  -1.56748657082E-04
   5   1   1  -9.53993420913E-05
   6   1   1  -9.53993442291E-05
   7   1   1  -1.56748429042E-04
   8   1   1  -2.40826009834E-04                 R-R0=-3a/2


Moreover in SUBROUTINE frc_blk i don't find the place where the difference between atoms is taken into account
...
r(i) = n1*at(i,1)+n2*at(i,2)+n3*at(i,3)
...
arg = tpi*(q(1)*r(1) + q(2)*r(2) + q(3)*r(3))
                    DO ipol=1, 3
                       DO jpol=1, 3
                          dyn(ipol,jpol,na,nb) =                 &
                               dyn(ipol,jpol,na,nb) +            &
                               (frc(m1,m2,m3,ipol,jpol,na,nb)+f_of_q(ipol,jpol,na,nb))     &
                               *CMPLX(COS(arg),-SIN(arg),kind=DP)*weight
...


another small question why in SUBROUTINE frc_blk the summation goes from -2N to 2N ???
        DO n1=-2*nr1,2*nr1
           DO n2=-2*nr2,2*nr2
              DO n3=-2*nr3,2*nr3


Alexander


From: pw_forum-bounces at pwscf.org [mailto:pw_forum-bounces at pwscf.org] On Behalf Of stefano de gironcoli
Sent: 06 November 2014 18:55
To: PWSCF Forum
Subject: Re: [Pw_forum] IFCs and supercell

dear Alexander,

    the grid correspond to a 8x8x8 supercell (or rather to the FFT of a 8x8x8 q-point grid ... which is the same)

    atomic pairs are specified by the indices of the two atoms in the unit cell plus the direct lattice vector connecting the two cells in which they are located with two important details to be considered
    1) the origin is the 1,1,1 element of the list
    2) the IFC are obtained by a FFT from the dynamical matrices of the q-point grid and are therefore written assuming  8 8 8 periodicity (in the present case)
     the corresponding relevant real space vectors vectors are therefore given by
      r(i) = (n1-1)*at(i,1)+(n2-1)*at(i,2)+(n3-1)*at(i,3) + their periodic refolding to points nearest the origin
a few examples should clarify:
     1 1 1  -> r =    0
     2 1 1  -> r =  a1
     8 1 1  -> r = -a1

     the routine weight play the fundamental role of trimming the vector in such a way the only the points inside the wigner-seitze
cell of the supercell contribute
     weight (r) = 1 if r is inside the WS cell
     weight (r) = 0 if r is ouside the WS cell
     weight (r) = 1/(n+1) if r is on the surface of the WS cell where n is the number of planes that pass through it

stefano

On 11/06/2014 06:14 PM, Kvasov Alexander wrote:
Dear All,

My question is: how the supercell (which is used by q2r and matdyn) is specified? If anybody has any information about this I would highly appreciate.
"fltau" option of matdyn gives atomic positions only for 1 cell and not for N1xN2xN3 supercell.
Apparently, there are some tricks... for example, here one has some IFCs for 8x8x8 grid of SrTiO3
...
   8   8   8
   1   1   1   1
   1   1   1   5.72142674655E-02
   2   1   1  -1.06343912107E-02
   3   1   1   1.01649714042E-04
   4   1   1   4.15611567060E-06
   5   1   1  -6.46046533014E-06
   6   1   1   4.15611567060E-06
   7   1   1   1.01649714042E-04
   8   1   1  -1.06343912107E-02
...
1. first, IFC values decries with N1 and then increase, so they have to be shuffled
2. second, it seems SUBROUTINE setupmat and frc_blk is the right place to look for this
...
DO na=1, nat
     DO nb=1, nat
        total_weight=0.0d0
        DO n1=-2*nr1,2*nr1
           DO n2=-2*nr2,2*nr2
              DO n3=-2*nr3,2*nr3
                 !
                 ! SUM OVER R VECTORS IN THE SUPERCELL - VERY VERY SAFE RANGE!
                 !
                 DO i=1, 3
                    r(i) = n1*at(i,1)+n2*at(i,2)+n3*at(i,3)
                 END DO
...
but summation goes from -2N to 2N, which is not clear for me.
3. what is "weight"  in SUBROUTINE setupmat and frc_blk
If anybody could explain what is going on here it would be great!


Sincerely yours,

Alexander Kvasov
Scientist
Ceramics Laboratory (LC)
École Polytechnique Fédérale de Lausanne (EPFL)

Phone: +41 21 693 5805
Address:
EPFL STI IMX LC
MXD 220 (Bâtiment MXD) Station 12
1015 Lausanne, Switzerland




_______________________________________________
Pw_forum mailing list
Pw_forum at pwscf.org<mailto:Pw_forum at pwscf.org>
http://pwscf.org/mailman/listinfo/pw_forum

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20141107/06ac731f/attachment.html>


More information about the users mailing list