band-unfolding / banduppy

Python version ofthe BandUP code
GNU General Public License v3.0
17 stars 7 forks source link

Runing Banduppy occurs an error #6

Closed gswylq closed 2 years ago

gswylq commented 3 years ago

Dear Banduppy team,

When I am calculatting the unfolding band of MoS2 using Abinit 9.4.1 and Banduppy. The k-path.py and the WF file are obtained. However, when I run the banduppy script (k-path-suan.py), an error occur.

The WF file is very big, so the error output file and abinit input files are only attached in email.

If you have the time, could you please help me to give some suggestions.

Look forward to hearing from you

Yours Sincerely,

Qiang Li

bandupp_mos2.zip

stepan-tsirkin commented 3 years ago

dear @gswylq

does the error happen for this particular caclulation, or for any calculation with Abinit?

Say, if you just do a calculation for a small system (whatever smalles you may think of), and try to read it with

bands=banduppy.BandStructure(fWFK='t42o_DS2_WFK',code="abinit")

Will the same error occur on your version of Abinit? If yes, you may send your WFK file (which should be small in that case)

gswylq commented 3 years ago

Dear @stepan-tsirkin I calculate a small graphene using banduppy and abinit. Ther results are obtained and same error occurs. The WFK and input files are upload.

Please help me. Thank you.

k-path-suan.py.txt t42.in.txt t42o_DS2_WFK.txt

errors.txt

stepan-tsirkin commented 3 years ago

dear @gswylq

could you try to install irrep from the following branch

and run a script

import irrep
from irrep import bandstructure
print (irrep.__version__)
bandstructure.BandStructure(code="abinit", fWFK="t42o_DS2_WFK")

It will go a bit further, giving an eerror:

1.5.6a
using fortio to read
codsvn='9.4.1   ', headform=80, fform=2 
WARNING, the version 9.4.1    of abinit is not 8.6.3 
ecut=680.28465 eV
/home/stepan/arbeit/banduppy-error/testing_env/lib/python3.8/site-packages/fortio.py:297: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  dtype = np.dtype(dtype).newbyteorder(self.byteorder)
Traceback (most recent call last):
  File "test.py", line 5, in <module>
    bandstructure.BandStructure(code="abinit", fWFK="t42o_DS2_WFK")
  File "/home/stepan/arbeit/banduppy-error/irrep/bandstructure.py", line 60, in __init__
    self.__init_abinit(
  File "/home/stepan/arbeit/banduppy-error/irrep/bandstructure.py", line 179, in __init_abinit
    header = AbinitHeader(WFKname)
  File "/home/stepan/arbeit/banduppy-error/irrep/__readfiles.py", line 122, in __init__
    raise ValueError(
ValueError: istwfk should be 1 for all kpoints. found [2 1 1 1 1 1 1]

But this is expected. You should specify istwfk=1 for all kpoints in the abinit input to make it work with irrep or banduppy. Please redo your calculation with istwfk=1 and run the script again. Please tell me if the calculation proceeds to the end, or any other error arises.

gswylq commented 3 years ago

Dear @stepan-tsirkin

The errors are as follow:

1.5.6a using fortio to read codsvn='9.4.1 ', headform=80, fform=2 WARNING, the version 9.4.1 of abinit is not 8.6.3 ecut=680.28465 eV /home/gswylq/miniconda3/envs/python37_abinit/lib/python3.7/site-packages/fortio.py:297: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. dtype = np.dtype(dtype).newbyteorder(self.byteorder)

----------INFORMATION ABOUT THE UNIT CELL-----------

Primitive vectors : [[ 8.05182655 -4.64872423 0. ] [ 0. 9.29744845 0. ] [ 0. 0. 18.89726125]] Atomic positions: [[ 0.33333333 0.16666667 0.5 ] [ 0.33333333 0.66666667 0.5 ] [ 0.83333333 0.16666667 0.5 ] [ 0.83333333 0.66666667 0.5 ] [-0.33333333 -0.16666667 0.5 ] [-0.33333333 0.33333333 0.5 ] [ 0.16666667 -0.16666667 0.5 ] [ 0.16666667 0.33333333 0.5 ]] Atom type indices: [1 1 1 1 1 1 1 1]

Reciprocal lattice: [[ 0.78034285 0. 0. ] [ 0.39017143 0.67579673 -0. ] [-0. 0. 0.33249185]] lattice vectors: [[ 8.05182655 -4.64872423 0. ] [ 0. 9.29744845 0. ] [ 0. 0. 18.89726125]] WFK contains 7 k-points and 20 bands. Saving 20 bands starting from 1 in the output Energy cutoff in WFK file : 680.28465 Energy cutoff reduced to : 680.28465 reading k-point 0 Traceback (most recent call last): File "a.py", line 5, in bandstructure.BandStructure(code="abinit", fWFK="t42o_DS2_WFK") File "/home/gswylq/qe_soft/irrep_abinit/irrep/irrep/bandstructure.py", line 61, in init fWFK, Ecut, IBstart, IBend, kplist, EF=EF, onlysym=onlysym File "/home/gswylq/qe_soft/irrep_abinit/irrep/irrep/bandstructure.py", line 251, in __init_abinit usepaw=usepaw, File "/home/gswylq/qe_soft/irrep_abinit/irrep/irrep/kpoint.py", line 100, in init usepaw=usepaw, File "/home/gswylq/qe_soft/irrep_abinit/irrep/irrep/kpoint.py", line 386, in init_abinit record = record_abinit(fWFK, "3i4") # [0] File "/home/gswylq/qe_soft/irrep_abinit/irrep/irrep/readfiles.py", line 40, in record_abinit r = fWFK.read_record(st) File "/home/gswylq/miniconda3/envs/python37_abinit/lib/python3.7/site-packages/fortio.py", line 317, in read_record return data.view(dtype).reshape(shape) ValueError: Changing the dtype to a subarray type is only supported if the total itemsize is unchanged

stepan-tsirkin commented 3 years ago

I see, could you also attach the new WFK file.