Page 1 of 2
p2y error with large k
Posted: Wed May 28, 2014 3:38 am
by arlonne
Dear all,
I got an error from p2y:
" <---> P(W) 2 Y(ambo) Ver. 5.0
<---> DBs path set to .
<---> Index file set to data-file.xml
<04s> Header/K-points/Energies...done
<19s> Cell data...done
<24s> Atomic data...done
<24s> Symmetries...[SI no]......[-I no]...[TR yes]
<24s> XC functional...Perdew, Burke & Ernzerhof(X)+Perdew, Burke & Ernzerhof(C)
<24s> K-points mesh...done
<24s> RL vectors...done
<29s> IGK arrays...done
<31s> Energies...
[ERROR] STOP signal received while in :
[ERROR]Error in qexml_read_bands IOTK error ierr: 1
"
The error shown only if lager k used, such as 20x20x20, in pwscf calculation. I have tested two smaller k 16x16x16 and 12x12x12, p2y works fine.
Is it the limitation of the IOTK lib of the pwscf or the limitation of the p2y itself?
Thank you,
arlonne
Re: p2y error with large k
Posted: Thu May 29, 2014 1:33 pm
by Daniele Varsano
Dear Arlonne,
can you post the qe input file? We need to reproduce the error in order to spot the problem.
Thanks,
Daniele
Re: p2y error with large k
Posted: Sat May 31, 2014 3:22 am
by arlonne
Re: p2y error with large k
Posted: Sat May 31, 2014 11:33 am
by Davide Sangalli
Dear Arlonne,
why do you use the flag "nosym=.TRUE. " ?
In this case you should convert your database with p2y -n
However pay attention that the kpts will be only the ones in the IBZ (see the descriptio of nosym in pwscf documentation).
Best,
Davide
Re: p2y error with large k
Posted: Tue Jun 03, 2014 5:15 pm
by arlonne
why do you use the flag "nosym=.TRUE. " ?
In this case you should convert your database with p2y -n
However pay attention that the kpts will be only the ones in the IBZ (see the descriptio of nosym in pwscf documentation).
1) p2y -n is not work. The same error.
2) This error is not related to nosym. Because the same error occurred when "nosym=.false."
Best,
arlonne
Re: p2y error with large k
Posted: Wed Jun 04, 2014 1:12 pm
by Davide Sangalli
Ok.
Which version of pwscf are you using ?
Also are you pointing to the iotk from the same version of pwscf or another?
Best,
Davide
Re: p2y error with large k
Posted: Wed Jun 04, 2014 1:58 pm
by Davide Sangalli
Dear arlonne,
I think I've been able to reproduce the error, or at least a related one.
It seems there is a problem in the iotk function "iotk_free_unit" of the iotk library.
As a workaround you can try to open the file: interfaces/p2y/qexml_v4.0.F
At line 2653 (you should be inside the SUBROUTINE qexml_read_bands) you should see the call:
CALL iotk_free_unit( iunaux )
Immidiately after try to insert the line:
iunaux = 99999
and recompile p2y
Does this solve the problem ?
Meanwhile I'll contact the io-tk developers.
Best regards,
Davide
Re: p2y error with large k
Posted: Wed Jun 04, 2014 4:53 pm
by Conor Hogan
Arlonne,
Just to warn you in advance that, well, the current version of yambo was not designed to work well with many thousands of k-points...
What kind of calculation do you want to do, that you need so many k-points?
For instance, if you just want to calculate the dielectric function at RPA level with many many k-points you would be better using the epsilon routine of pwscf.
In the meantime, if you find yambo runs very very slowly, you might consider to not split the SAVE directory into separate wfc files, and also perhaps to not use netcdf. I found this helped when I did some similar tests some years ago. You might also think of using less k-points for the wavefunctions and interpolate over the energies on a random grid,
see:
http://www.yambo-code.org/input_file/ypp/ypp_rim.php
Conor
Re: p2y error with large k
Posted: Thu Jun 05, 2014 3:29 am
by arlonne
Dear Conor,
Just to warn you in advance that, well, the current version of yambo was not designed to work well with many thousands of k-points...
What kind of calculation do you want to do, that you need so many k-points?
I don't want to use such many k, because I found the dielectric function is highly depended on k.
For instance, if you just want to calculate the dielectric function at RPA level with many many k-points you would be better using the epsilon routine of pwscf.
Nice suggestion! I will try. But it seems that the non collinear spin calculation is not implemented in the epsilon.
In the meantime, if you find yambo runs very very slowly, you might consider to not split the SAVE directory into separate wfc files, and also perhaps to not use netcdf. I found this helped when I did some similar tests some years ago. You might also think of using less k-points for the wavefunctions and interpolate over the energies on a random grid,
see:
http://www.yambo-code.org/input_file/ypp/ypp_rim.php
I have already used RIM to correct the RPA spectrum, but I don't know 2000 random k is enough or not. So I try 4000 random k, the same error ( just as I use 20x20x20 kpoints) is shown by typing p2y -w. Thanks to Davide, this problem was solved.
Best,
arlonne
Re: p2y error with large k
Posted: Thu Jun 05, 2014 3:33 am
by arlonne
Dear Davide,
As a workaround you can try to open the file: interfaces/p2y/qexml_v4.0.F
At line 2653 (you should be inside the SUBROUTINE qexml_read_bands) you should see the call:
CALL iotk_free_unit( iunaux )
Immidiately after try to insert the line:
iunaux = 99999
and recompile p2y
Does this solve the problem ?
Meanwhile I'll contact the io-tk developers.
Thank you very much. This problem is solved. Besides, do the same thing to the subroutine qexml_read_wfc to avoid the similar error in reading wave function.
Best,
arlonne