Page 1 of 1

kpoint more than 10000

Posted: Wed Oct 28, 2020 1:04 am
by anyipeng
Dear Sir,

For the calculation of QE+W90 with a kpoint mesh more than 10000 (such as 24x24x24), the first two columns of the XXx.eig file obtained after the calculation of "pw2wannier90.x < pw2wan.in > pw2wan.out" become one column, such as,
13 9999 19.817883726254
14 9999 22.630310625533
15 9999 23.998601665890
16 9999 28.375036039997
17 9999 29.293292651157
18 9999 30.471543431823
19 9999 31.035867593807
110000 -47.831185795077
210000 -21.919915515893
310000 -21.740000928718
410000 -21.600650950396
510000 5.244680664722
610000 9.985543931152
710000 10.983006103090

Thus, the next calculation "wannier90.x w90" preocudes the error,
" param_read: mismatch in w90.eig".

It works well when the kpoint mesh is less than 10000. So, is there a bug for the QE 6.6 version?

Thanks.

Re: kpoint more than 10000

Posted: Wed Oct 28, 2020 12:55 pm
by roxana
Hi,

You should look for the following line in subroutine write_band in PP/src/pw2wannier90.f90

IF (ionode) WRITE (iun_band,'(2i5,f18.12)') ibnd1, ikevc, et(ibnd,ik)*rytoev

and replace "2i5" with "2i8" for instant. This would allow numbers up to 9999999 to be printed ok.

Best,
Roxana

Re: kpoint more than 10000

Posted: Thu Oct 29, 2020 12:05 pm
by anyipeng
Thank you Roxana.

The XXX.eig file is right now for the 24x24x24 kmesh. However, it produces another error after performing "wannier90.x w90", as follows,

Starting a new Wannier90 calculation ...

Reading overlaps from w90.mmn : Created on 29Oct2020 at 16:55:23

Error reading w90.mmn: 5***** -1 0 0 0 0
Exiting.......
Neighbour not found


So, how to deal with this problem? The size of w90.mmn file is very large.

Thanks.

Re: kpoint more than 10000

Posted: Thu Oct 29, 2020 3:26 pm
by hlee
Dear anyipeng:

You need to additionally modify several parts in the subroutines of compute_amn and compute_mmn, etc. in PP/src/pw2wannier90.f90 .

For example,

Code: Select all

IF (ionode) WRITE (iun_mmn,'(7i5)') ik, ikp, (g_kpb(ipol,ik,ib), ipol=1,3)
IF (ionode) WRITE(iun_amn,'(3i5,2f18.12)') ibnd1, iw+n_proj*(ipol-1), ik, amn
IF (ionode) WRITE(iun_amn,'(3i5,2f18.12)') ibnd1, iw, ik, amn
and more...

Currently, they can consider the cases with the k-point index with up to 5 digits.

This is an issue with the Wannier90 interface in QE; so you had better report it to Wannier90 mailing lists at https://lists.quantum-espresso.org/pipermail/wannier/ .

Added after my first post
I reported this issue to the GitHub Wannier90 repository (https://github.com/wannier-developers/w ... issues/347).

Sincerely,

H. Lee

Re: kpoint more than 10000

Posted: Fri Oct 30, 2020 12:21 am
by anyipeng
Thank you so much, Lee. Great Job.