Page 1 of 1
BUG encountered when running anaddb code
Posted: Fri Feb 12, 2010 6:22 am
by boates
Hi,
I am running the anaddb code on a bcc structure, I encountered the following error with the recommended action being to contact the ABINIT group. I was wondering if somebody could shed some light on this issue for me. If more details of my input files are required to provide a solution I have no problem providing them. The error I have been encountering is below:
================================================================================
Calculation of the interatomic forces
-begin at tcpu 0.211 and twall 0.210 sec
mkifc9 : enter chkrp9
mkifc9 : exit chkrp9
mkifc9 : enter smpbz
Homogeneous q point set in the B.Z.
Body-Centered Lattice Grid
smpbz : BUG -
The number of k points 1 is not equal to
(ngkpt(1)*ngkpt(2)*ngkpt(3)*nshiftk)/4 which is 0.
Action : contact ABINIT group.
.Delivered 0 WARNINGs and 0 COMMENTs to log file.
leave_new : decision taken to exit ...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Thank you,
Brian
Re: BUG encountered when running anaddb code
Posted: Fri Feb 12, 2010 4:10 pm
by jzwanzig
Hi Brian,
can you post your abinit input and anaddb input?
Re: BUG encountered when running anaddb code
Posted: Fri Feb 12, 2010 4:23 pm
by boates
Here are the abinit and anaddb input files. Thank you for your help.
Brian
Re: BUG encountered when running anaddb code
Posted: Sat Feb 13, 2010 1:07 pm
by mverstra
Hello Brian,
you are using a shifted kpt grid, and just q=Gamma in the abinit file. This is fine.
For the anaddb file, you should not specify a shifted qpt grid: anaddb will not find the (only) qpoint it should:
set nqshft = 1 q1shft 0 0 0 (the defaults).
Matthieu
Re: BUG encountered when running anaddb code
Posted: Sat Feb 13, 2010 3:25 pm
by boates
Hi,
Thank you for reply but I still have a problem. Now, that I've set nqshift back to 1 and q1shift back to 0.0 0.0 0.0. I now am getting the following error:
What doesn't make sense to me is that there error is thrown because for bcc it claims that the ngqpt must be even while I have it set to 1 1 1. Then it says that
ngqpt(1)*nshiftk = 1 etc. But nshiftk has been set to 2 in my abinit INPUT file, so this should actually be 1*2 = 2. I'm not quite sure why the code continues to fail on my input. (see below)
Your help is greatly appreciated, thank you.
================================================================================
Calculation of the interatomic forces
-begin at tcpu 0.110 and twall 0.244 sec
mkifc9 : enter chkrp9
mkifc9 : exit chkrp9
mkifc9 : enter smpbz
Homogeneous q point set in the B.Z.
Body-Centered Lattice Grid
smpbz : ERROR -
For body-centered lattices, the numbers ngqpt(1:3)
must be even, while they are :
ngqpt(1)*nshiftk = 1
ngqpt(2)*nshiftk = 1
ngqpt(3)*nshiftk = 1
Action : modify ngqpt(1:3) in the input file.
leave_new : decision taken to exit ...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Re: BUG encountered when running anaddb code
Posted: Sun Feb 14, 2010 2:48 pm
by mverstra
Ok, anaddb has explicit treatment of certain crystal types for BCC FCC and HEX, using brav. However this coding is a bit limited and not totally general. In all cases, the idea is to symmetrize the IFC in real space according to the proper Wigner Seitz cell for the solid under consideration. However, if you only have 1 qpoint = Gamma, the IFC are constant in real space, so in your case using brav for BCC doesn't really make any sense. Further, for the BCC case, as coded, your qpt grid has to be "even" (eg ngqpt 2 2 2).
Set brav to 1, basically, or use a denser, even, grid of qpt.
I don't know why the coding for brav=1 does not give the same result as for brav=2,3... as the WS cell can be determined on the fly...
Matthieu
Re: BUG encountered when running anaddb code
Posted: Sun Feb 14, 2010 3:16 pm
by boates
I have had the code succeed using brav=1, but I was skeptical thinking that if the flag for bcc was available that there must be differences in choosing one over the other. I will repeat my calculation on a denser (even) set of qpts. Can someone maybe explain the differences between using brav=1 vs. brav=3? Also, would I expect any differences between a calculation using the primitive unit cell or a cubic conventional cell with a 2 atom basis?
Re: BUG encountered when running anaddb code
Posted: Fri Jul 07, 2017 10:30 am
by mverstra
@boates:
the brav flags determine integration weights in q space, which are symmetrized properly for certain Bravais Lattices _and_ certain orientations of the lattice vectors (not just any unit cell will work - this is important as results will be worse if you choose brav/=1 and have the wrong orientation).
brav 1 is the safest but least symmetric, and will converge a bit slower wrt q. We are working on a systematic symmetrizer which would eliminate the need for brav.
cheers