Dear All,
I plan to do some postprocessing using the ground state wavefunctions at
k(+q)-mesh. So I tried to output the wavefunctions in the phonon code. Because
I want to know the wavefunctions at every k(+q) point instead of just the
irreducible Brillouin zone, I turnned off the symmetry (in pw code, by setting
nosym_evc=.true. and noinv=.true.). But then the wavefunctions completely
changed. The results I get from the output of evc and evq in phq_init are:
when symmetry is active:
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)
nksq is the total k point that is considered.
When symmetry is turnned off:
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)
However, the final result from phonon remains the same. So I want to know which
wavefunction I should use. Are they both correct? But then why they are so
different? (previously what I thought is that the wavefunction at other points
are just copies of those in the irreducible Brillouin zone, so the wavefunction
at gamma point should be the same, but maybe it turns out to a wrong
understanding..)
I will appreciate a lot for your help. Thanks!
BTW, The input file I use is:
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
Also, what I did to phonon code is adding some write lines inside subroutine
phq_init, where evc and evq are read from files and used to store wavefunctions
at k and k+q point for later the calculation.
Best,
Jiawei Zhou
Department of Mechanical Engineering
Massachusetts Institute of Technology
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://pwscf.org/pipermail/pw_forum/attachments/20140508/6e0c9d65/attachment.html