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-boun...@pwscf.org [mailto:pw_forum-boun...@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@pwscf.org<mailto:Pw_forum@pwscf.org> http://pwscf.org/mailman/listinfo/pw_forum
_______________________________________________ Pw_forum mailing list Pw_forum@pwscf.org http://pwscf.org/mailman/listinfo/pw_forum