Dear all, 

I was planning to use d3 to do Gamma point linewidth calculation. I start with 
silicon, which is an example provided in the phonon package. I successively run 
pw, ph and d3 and then I can get the d3 dynamical matrix. The input files and 
the final output from d3 are shown below: (the version I use is 5.0.3)

pw.x:

&control
   calculation= 'scf'
   wf_collect=.true.
   restart_mode= 'from_scratch'
   pseudo_dir= '/home/jiawei/pseudo/'
   outdir= '/scratch/jiawei/silicon/'
   prefix= 'Si-ph-k7-e20-a10.21-pp:pz-vbc'
   tprnfor= .true.
   tstress= .true.
/
&system
   ibrav= 2, celldm(1)= 10.21, nat= 2, ntyp= 1
   ecutwfc=20
/
&electrons
   conv_thr= 1.0d-12
   diagonalization= 'david'
   mixing_beta= 0.7
/
ATOMIC_SPECIES
 Si 28.0855 Si.pz-vbc.UPF
ATOMIC_POSITIONS
 Si 0.00 0.00 0.00
 Si 0.25 0.25 0.25
K_POINTS {automatic}
 7 7 7 0 0 0

ph.x:

phonons of Si at Gamma
&inputph
   recover=.false.
   tr2_ph=1.0d-14
   prefix= 'Si-ph-k7-e20-a10.21-pp:pz-vbc'
   epsil=.false.
   ldisp=.false.
   amass(1)=28.0855
   outdir='/scratch/jiawei/silicon/'
   fildyn='Si.dyn'
   fildrho='Si.drhoG'
/
0.0 0.0 0.0

d3.x:

anharm at BZ
&inputph
   prefix= 'Si-ph-k7-e20-a10.21-pp:pz-vbc'
   amass(1)=28.0855
   outdir='/scratch/jiawei/silicon/'
   fildyn='Si.anhG'
   fildrho='Si.drhoG'
   fild0rho='Si.drhoG'
   wraux=.true.
/
  0.000 0.000 0.000

Si.anhG:

Derivative of the force constants
  1    2  2 10.2100000  0.0000000  0.0000000  0.0000000  0.0000000  0.0000000
           1  'Si '    28.085500000000000
    1    1      0.0000000      0.0000000      0.0000000
    2    1      0.2500000      0.2500000      0.2500000
     Third derivative in cartesian axes
     q = (    0.000000000   0.000000000   0.000000000 )

            modo:    1
  1  1
     -0.416333634234E-16      0.000000000000E+00     -0.192592994439E-33
      0.000000000000E+00      0.192592994439E-33      0.000000000000E+00
     -0.416333634234E-16      0.000000000000E+00      0.192592994439E-33
      0.000000000000E+00      0.385847337244E+00      0.000000000000E+00
      0.277555756156E-16      0.000000000000E+00      0.385847337244E+00
      0.000000000000E+00      0.192592994439E-33      0.000000000000E+00
......
(here I just show the first several numbers)

Up to now there is no problem. But I also wanted to know the wavefunction on 
the whole Brillouin zone. Because pw.x will automatically find the IBZ and only 
calculate wavefunction on that reduced k-mesh, I want to turn off the symmetry 
and see what I can get. There are two switches I found that I can use: 
nosym_evc and noinv. So I set them both to be true: (inside the &system control 
flag)

nosym_evc=.true.
noinv=.true.

So the pw.x will not use any symmetry and do the calculation in the FBZ. The 
result from pw.x clearly shows no symmetry found and 343(7*7*7) k-points are 
used. The results from phonon code are also the same.(dynamical matrix at Gamma 
point as well as the frequency). However, when it comes to d3, the results are 
different. It runs without any problem, but the final d3.anhG file I get is 
below:

d3.anhG (symmetry turnned off)

            modo:    1
  1  1
      0.000000000000E+00      0.000000000000E+00      0.832667268469E-16
      0.000000000000E+00      0.832667268469E-16      0.000000000000E+00
      0.277555756156E-16      0.000000000000E+00     -0.277555756156E-16
      0.000000000000E+00     -0.747798812221E+00      0.000000000000E+00
      0.111022302463E-15      0.000000000000E+00     -0.747798812221E+00
      0.000000000000E+00      0.832667268469E-16      0.000000000000E+00
  1  2
      0.000000000000E+00      0.000000000000E+00      0.111022302463E-15
      0.000000000000E+00     -0.111022302463E-15      0.000000000000E+00
      0.111022302463E-15      0.000000000000E+00      0.111022302463E-15
      0.000000000000E+00     -0.177369122767E+01      0.000000000000E+00
     -0.111022302463E-15      0.000000000000E+00     -0.177369122767E+01
      0.000000000000E+00     -0.111022302463E-15      0.000000000000E+00
.......

The results are different from the previous one. I wonder why this happens? 
Does the symmetry helps to constrain the d3 dynamical matrix elements, so that 
it cannot be simply neglected like that is done in pw and ph?

The other question goes into more details. I tried to see what effects the 
symmetry will have on wavefunctions. Originally I thought as long as we get the 
ground-state wavefunction for different bands on a k-mesh from pw.x, we can 
know any of its value on any k, including k+q.(these are used by phonon I 
think). At gamma point, it should be no different. I noticed that phq_init 
subroutine read wavefunctions (from files to evc and evq, each corresponding to 
point k and k+q if q is not 0), so I output them to an extra file to see how 
they look like. For this I use 4.2.1 version (because I cannot change the 
already installed QE on the cluster). When symmetry is active, I get:

 q = (  0.000000000000000E+000 ,  0.000000000000000E+000 ,
  0.000000000000000E+000 )
 nksq =          20
 ************************************************
 npol =           1
 npwx =         411
 nbnd =           4
 ik # =           1 -----------------------------------
    0.69783903837624816635E+00   -0.64649301435265482674E+00    
0.69783903837624816635E+00   -0.64649301435265482674E+00
   -0.19216558783363027322E-16    0.87586028340881804830E-16   
-0.19216558783363027322E-16    0.87586028340881804830E-16
    0.55275566596732210915E-16    0.32076646606791784316E-17    
0.55275566596732210915E-16    0.32076646606791784316E-17
    0.23060842986941295573E-17   -0.42753486774548910442E-16    
0.23060842986941295573E-17   -0.42753486774548910442E-16
    0.99051076923549141728E-01    0.37832014530605620820E-02    
0.99051076923549141728E-01    0.37832014530605620820E-02
......(these shows the first several numbers for G at k=0,q=0,ibnd=1,ig=1..ngm)

When symmetry is turnned off, I get:

 q = (  0.000000000000000E+000 ,  0.000000000000000E+000 ,
  0.000000000000000E+000 )
 nksq =         343
 ************************************************
 npol =           1
 npwx =         411
 nbnd =           4
 ik # =           1 -----------------------------------
   -0.49664369043450279362E+00    0.81134307529730043118E+00   
-0.49664369043450279362E+00    0.81134307529730043118E+00
   -0.27818613173485040276E-10    0.54661997423613342026E-10   
-0.27818613173485040276E-10    0.54661997423613342026E-10
    0.43853898353156132494E-10   -0.42976651079895819979E-10    
0.43853898353156132494E-10   -0.42976651079895819979E-10
    0.63231205525296367916E-11   -0.10330070651313073490E-10    
0.63231205525296367916E-11   -0.10330070651313073490E-10
   -0.96373137459236146718E-01    0.23187212493507927680E-01   
-0.96373137459236146718E-01    0.23187212493507927680E-01
.......(at k=0,q=0,ibnd=1,ig=1..ngm)

Which confuses me is that they look quite different, because I orginally 
thought they should be the same as long as we are looking at the same point. I 
thought maybe this has something to do with the d3 code. But I have no idea. 
Besides, although phonon code output different wavefunctions at the same 
k-point, they give the same final results (dynamical matrix and frequencies). 
So I am wondering how phonon do the sum over k-mesh and why the wavefunctions 
would be different for the same point and band.

I will appreciate a lot for any of your suggestions. Thanks!

Regards,

Jiawei
Massachusetts Institute of Technology


---------------------------------
Jiawei Zhou, zhoujw20 at gmail.com
2014/4/22 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
http://pwscf.org/pipermail/pw_forum/attachments/20140422/0924e91f/attachment.html
 

Reply via email to