Page 1 of 1

Gsph_FFT debugging in cchi0q0.F90

Posted: Wed Jul 27, 2011 4:11 am
by Robin
Dear developers,

While testing the GW calculation in Abinit-6.8.1, I found a job finished successfully earlier in Abinit-6.2.2 failed in the screening calculation part with the following error (see the attached test file). I checked cchi0q0.F90 and found that since Abinit 6.6.1, cchi0q0.F90 has included a Gsph_FFT debugging code and it causes the failure. I wonder what is the meaning of this debugging and if it is justified, how to modify my input file.

#-------------------------error info----------------------------------
cchi0q0.F90:301:ERROR
Bug in Gsph_FFT
#-----------------------------------------------------------------------

#------------Gsph_FFT debugging in cchi0q0.F90---------------
!BEGINDEBUG
ltest = .TRUE.
do ib=1,Ep%npwe
if (ANY (Gsph_FFT%gvec(:,ib) /= Gsph_wfn%gvec(:,ib)) ) then
write(std_out,*)ib, Gsph_FFT%gvec(:,ib), Gsph_wfn%gvec(:,ib)
ltest = .FALSE.
end if
end do
ABI_CHECK(ltest,"Bug in Gsph_FFT")
!ENDDEBUG
#-----------------------------------------------------------------------

Sincerely,
Guangfu Luo

Re: Gsph_FFT debugging in cchi0q0.F90

Posted: Wed Oct 12, 2011 10:46 am
by mverstra
from the debug code, it is checking that the G vectors are consistent between the FFT and wfn objects (you probably guessed this already).

Probably the previous version was going through without checking and actually contained a small error. The usual reason for G-vector sphere incompatibility is
1) using a different k-point or different shifted grids, but possibly
2) some numerical precision in the exact value of the ecut, which then includes 1 or 2 extra plane waves somewhere (but then the number of pw would be different and this should be detected elsewhere).

matthieu

Re: Gsph_FFT debugging in cchi0q0.F90

Posted: Mon Oct 17, 2011 1:50 pm
by komsa
Hello,

I am having the same problem, and wondered if this problem has been really solved by somebody? I think that the reason is different from those suggested by Matthieu. When looking at the included log-file, the number of plane-waves (and the size of the matrix) in Gsph_FFT is 7, whereas the Gsph_wfn has 95 plane-waves. (In my case these are 81 and 677.) The size of the Gsph_FFT is so small that I suspect there is something wrong with its initialization. I also tried to remove this check and ended up with plenty of warnings looking like:

gwcompleteness.F90:149:WARNING
Number of G1-G2 pairs outside the G-sphere for Wfns = 396572

And the same problem exists also in cchi0.F90.

Sincerely,
Hannu Komsa

Re: Gsph_FFT debugging in cchi0q0.F90

Posted: Wed Oct 10, 2012 6:30 am
by temok
Hello,

I got the same problem

Code: Select all

 cchi0q0.F90:300:ERROR    Bug in Gsph_FFT

while testing the input file for graphene GW found at
http://forum.abinit.org/viewtopic.php?f=11&t=1071&p=3462&hilit=inclvkb&sid=a15cf819fb2dd1a8192bfd5791f72cdb#p3462

I noticed that such input file runs fine on ABINIT v6.2.3 but fails on newer versions. Nonetheless the same file runs fine on v6.6.2 and v6.12.3 if one comments out the keywords

Code: Select all

 # Screening part
gwcomp3  1     
gwencomp3  2 


Note1 : gwcomp4 and gwencomp4 are OK.
Note2: I also had to comment out the keywords "icutcoul 2" and "vcutgeo 1 1 0" in order to skip the next error : "m_coulombian.F90:383:ERROR. Surface must be in the x-y plane." But I do not care about this now...

I wonder if someone has found the solution to this "Bug in Gsph_FFT" caused by using gwcomp in the screening part.

As a side question, does anyone knows if symsigma is compatible with self-consistenf GW calculations in the forthcoming versions of ABINIT? As of v6.12.3 it is not.

Thanks,
Temok