Page 1 of 2

Seeking suggestion on Wannierization

Posted: Wed Mar 23, 2016 8:10 pm
by krisghosh
I am a graduate student at the University at Buffalo?.I am using the EPW package to do electron-phonon interaction calculation. I have a doubt regarding the Wannierization scheme implemented in EPW.

Whenever I am using the input parameter , 'exclude_bands' for the .win file, the pw2wan90epw.f90 gets stuck possibly at the phases_a_m subroutine. I do not get any error message at the .out file but the program execution stops. I guess the possible reason is that the wave-function phases (umat) are defined as nbnd*nbnd*nks, but the amn and mmn matrices have the dimension of num_bands*num_bands. Here, nbnd is the number of bands from pwscf, while num_bands is the number of bands after cutting off 'excluded_bands'. In my opinion, due to this mismatch in dimension the matrix multiplication done in the subroutine phases_a_m fails. Now, if I want to change the dimension of umat, then all such dimensions are to be changed (like the epmat on coarse mesh). Could you please suggest me any possible way to fix this, or if I am going wrong somewhere else?

Thanks,

Krishnendu

Krishnendu Ghosh, Graduate Student
Electrical Engineering Department
University at Buffalo
The State University of New York
Buffalo, NY 14260

Re: Seeking suggestion on Wannierization

Posted: Wed Mar 23, 2016 8:15 pm
by sponce
Dear Krishnendu,

Could you tell me which version of QE and EPW you are using?

Could you also share your input file.

Best,

Samuel

Re: Seeking suggestion on Wannierization

Posted: Wed Mar 23, 2016 8:32 pm
by krisghosh
Sorry, forgot to mention versions.

QE 4.0.3
EPW 3.0.0

Thanks

Re: Seeking suggestion on Wannierization

Posted: Wed Mar 23, 2016 8:38 pm
by krisghosh
Here is the input file
--
&inputepw
prefix = 'gao'
amass(1) = 69.72
amass(2) = 16.00
outdir = '../tmp/'
iverbosity = 0
kmaps = .true.


elph = .true.
epbread = .false.
epbwrite = .true.

ephwrite = .false.
epwwrite = .true.
epwread = .false.

wannierize = .true.
num_iter = 300
iprint = 4
proj(1) = 'f=0.658754,0.341246,0.313824:s'
wdata(1) = 'num_bands 1'
wdata(2) = 'exclude_bands 1-44'
nbndsub = 1

nbndskip = 44


elinterp = .true.
phinterp = .true.

tshuffle2 = .true.
tphases = .false.

elecselfen = .false.
phonselfen = .false.
a2f = .false.

mp_mesh_k = .false.
parallel_k = .true.
parallel_q = .false.

fsthick = 30.0 ! eV
eptemp = 400 ! K
eps_acustic = 10.0


dvscf_dir = '../../phonons/save'
filukk = './gao.ukk'



nk1 = 8
nk2 = 8
nk3 = 4

nq1 = 4
nq2 = 4
nq3 = 2

nkf1 = 16
nkf2 = 16
nkf3 = 8

nqf1 = 8
nqf2 = 8
nqf3 = 4


/
14 cartesian
0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.00000
0.000000000000000E+00 0.000000000000000E+00 -0.560184318852061E+00 1.00000
-0.128803824711102E+00 0.518178564144664E+00 -0.313286322501491E-01 1.00000
-0.128803824711102E+00 0.518178564144664E+00 -0.591512951102210E+00 1.00000
0.257607649422203E+00 -0.103635712828933E+01 0.626572645002983E-01 1.00000
0.257607649422203E+00 -0.103635712828933E+01 -0.497527054351763E+00 1.00000
0.000000000000000E+00 0.103635712828933E+01 0.000000000000000E+00 1.00000
0.000000000000000E+00 0.103635712828933E+01 -0.560184318852061E+00 1.00000
0.386411474133305E+00 -0.518178564144664E+00 0.939858967504474E-01 1.00000
0.386411474133305E+00 -0.518178564144664E+00 -0.466198422101613E+00 1.00000
0.257607649422203E+00 0.000000000000000E+00 0.626572645002983E-01 1.00000
0.257607649422203E+00 0.000000000000000E+00 -0.497527054351763E+00 1.00000
0.000000000000000E+00 -0.207271425657866E+01 0.000000000000000E+00 1.00000
0.000000000000000E+00 -0.207271425657866E+01 -0.560184318852061E+00 1.00000

Re: Seeking suggestion on Wannierization

Posted: Wed Mar 23, 2016 8:39 pm
by krisghosh
Here is the input file
--
&inputepw
prefix = 'gao'
amass(1) = 69.72
amass(2) = 16.00
outdir = '../tmp/'
iverbosity = 0
kmaps = .true.


elph = .true.
epbread = .false.
epbwrite = .true.

ephwrite = .false.
epwwrite = .true.
epwread = .false.

wannierize = .true.
num_iter = 300
iprint = 4
proj(1) = 'f=0.658754,0.341246,0.313824:s'
wdata(1) = 'num_bands 1'
wdata(2) = 'exclude_bands 1-44'
nbndsub = 1

nbndskip = 44


elinterp = .true.
phinterp = .true.

tshuffle2 = .true.
tphases = .false.

elecselfen = .false.
phonselfen = .false.
a2f = .false.

mp_mesh_k = .false.
parallel_k = .true.
parallel_q = .false.

fsthick = 30.0 ! eV
eptemp = 400 ! K
eps_acustic = 10.0


dvscf_dir = '../../phonons/save'
filukk = './gao.ukk'



nk1 = 8
nk2 = 8
nk3 = 4

nq1 = 4
nq2 = 4
nq3 = 2

nkf1 = 16
nkf2 = 16
nkf3 = 8

nqf1 = 8
nqf2 = 8
nqf3 = 4


/
14 cartesian
0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.00000
0.000000000000000E+00 0.000000000000000E+00 -0.560184318852061E+00 1.00000
-0.128803824711102E+00 0.518178564144664E+00 -0.313286322501491E-01 1.00000
-0.128803824711102E+00 0.518178564144664E+00 -0.591512951102210E+00 1.00000
0.257607649422203E+00 -0.103635712828933E+01 0.626572645002983E-01 1.00000
0.257607649422203E+00 -0.103635712828933E+01 -0.497527054351763E+00 1.00000
0.000000000000000E+00 0.103635712828933E+01 0.000000000000000E+00 1.00000
0.000000000000000E+00 0.103635712828933E+01 -0.560184318852061E+00 1.00000
0.386411474133305E+00 -0.518178564144664E+00 0.939858967504474E-01 1.00000
0.386411474133305E+00 -0.518178564144664E+00 -0.466198422101613E+00 1.00000
0.257607649422203E+00 0.000000000000000E+00 0.626572645002983E-01 1.00000
0.257607649422203E+00 0.000000000000000E+00 -0.497527054351763E+00 1.00000
0.000000000000000E+00 -0.207271425657866E+01 0.000000000000000E+00 1.00000
0.000000000000000E+00 -0.207271425657866E+01 -0.560184318852061E+00 1.00000

Re: Seeking suggestion on Wannierization

Posted: Thu Mar 24, 2016 12:13 pm
by sponce
Hi krisghosh,

Maybe you could try something like that ?

Code: Select all

wannierize = .true.
num_iter = 300
nbndsub = 2
nbndskip = 44
iprint = 4
dis_win_max = XX
dis_win_min = XX
dis_froz_min= XX
dis_froz_max= XX
proj(1) = 'f=0.658754,0.341246,0.313824:s'


Where you have to replace the XX by values relevant to your problem.

What I usually recommend if you have a problem at the Wannier level is to first try to do a bandstructure interpolation using the Wannier90 code that you can download there http://wannier.org/.

If that is working, then there should not be any issue at the EPW level since we call a Wannier library to perform that step.

I hope that helps?

Best,

Samuel

Re: Seeking suggestion on Wannierization

Posted: Thu Mar 24, 2016 1:17 pm
by krisghosh
Hello Dr Samuel,

Thank you for your reply. I tried with disentanglement, but it did not give me correct result (to be more precise, the energy eigen values from the exact DFT calculation is isotropic near the Gamma point, but the Wannier interpolated values become anisotropic).

When I try that on Wannier90, it works fine though.

Regarding the input that you suggested, I need to project on one orbital only, so nbndsub should be 1 for my case and the energy window that I am interested in has one energy band only from exact DFT calculation. Do I still require distanglement?

Thanks,

Kris

Re: Seeking suggestion on Wannierization

Posted: Thu Mar 24, 2016 1:34 pm
by sponce
Hi krisghosh,

I quite surprise that disentanglement did not give you the correct result.

At this stage I can suggest you to try with the latest version of QE and EPW v4.

If you have access to the trunk of QE, you can download them from there.

EPW is currently in the trunk of QE on qe-forge: http://qeforge.qe-forge.org/gf/project/q-e/

However if you are not a QE developer, you will not have access to it.

The next public release of the QE code in April will include EPW.

Meanwhile, you can take my personal branches using
svn checkout http://qeforge.qe-forge.org/svn/epw/branches/sponce/EPW

Best,

Samuel

Re: Seeking suggestion on Wannierization

Posted: Thu Mar 24, 2016 2:04 pm
by krisghosh
Thanks, Dr Samuel.

Kris

Re: Seeking suggestion on Wannierization

Posted: Thu Mar 24, 2016 7:12 pm
by roxana
Hi Krisghosh,

Can you try running a calculation after removing these two lines in your input file

wdata(1) = 'num_bands 1'
wdata(2) = 'exclude_bands 1-44'

You are already specifying these parameters through nbndsub and nbndskip.

Best,
Roxana