PAW: Density went too small (xc_denpos)

External optional components of Abinit (BigDFT, Wannier90...) and codes using/providing data from/to Abinit (AtomPAW, ONCVPSP, EXC, DP, Yambo...)

Moderators: ebousquet, bxu

Locked
temok
Posts: 39
Joined: Tue Jun 08, 2010 1:44 am

PAW: Density went too small (xc_denpos)

Post by temok » Wed Feb 19, 2014 7:13 am

Dear ABINIT Devs and Users,

I am facing problems to do the convergence study and the structure relaxation
for a supercell calculation of a system made of Tin atoms,
where the lattice constant is about 9 Bohrs and the vacuum is about 30 Bohr.

This problem occurs either if I use the new PAW_JTH atomic files
http://www.abinit.org/downloads/PAW2/JTH-TABLE/index.html
or if I use the usual atomic PAW files located at the ~/Psps_for_tests folder;
the problem is absent for HGH pseudos (which I should not use,
as I wish to include 4d_electrons)

The problem is that for certain values of acell_3 (the vacuum),
or certain k-grids (ngkpt) or certain values of ecut, ABINIT prints warnings like

Code: Select all

--- !WARNING
message: |
    The second and third dimension of the FFT grid: 0, 0
    were imposed to be multiple of the number of processors for the FFT: 1
src_file: getng.F90
src_line: 200

... followed by a numerous lines like

scf.log_back:== DATASET  3 ========================================
scf.log_back:    Density went too small (lower than xc_denpos) at    111866 points
scf.log_back:    Density went too small (lower than xc_denpos) at     75786 points
 .
 . bla bla bla
 .
scf.log_back:== DATASET  4 ========================================
scf.log:    Density went too small (lower than xc_denpos) at         1 points
scf.log:    Density went too small (lower than xc_denpos) at         1 points
 .
 . bla bla bla
 .
scf.log_back:== DATASET  5 ========================================
scf.log_back:    Density went too small (lower than xc_denpos) at    341866 points
scf.log_back:    Density went too small (lower than xc_denpos) at     79743 points

...
etcetera, etc

followed by

Code: Select all

xc_denpos=  1.00E-14.  Lowest was  -0.62E-05
     Likely due to too low boxcut or too low ecut for pseudopotential core charge.

(all 'lowest' values are in this order)

Certainly they are "warnings", but the real problem is that ETOTAL zig-zags
from one dataset to the other by +/-0.1 eV, making the convergence study hopeless.

From the log file this seems to be related to inconsistencies in the
FFT-grid, and I have gone around it by setting a higher value of
PAWECUTDG, ~34 Ha (having ecut=16), every time I face these
warnings. Then ETOTAL behaves well and I can decide on a converged
value for a given parameter, except for the vacuum and the relaxation
of acell, for which this warnings become numerous.

The description of xc_denpos suggests to change the default value from
1e-14 to 1e-7, but this would make things worst, because my minimum values are
as low as *minus* 1e-5.
http://www.abinit.org/documentation/helpfiles/for-v7.6/input_variables/vardev.html#xc_denpos

I and will appreciate any suggestions,
Thanks,
Temok

(I am using ABINIT v7.6.2.)

JEJohns
Posts: 55
Joined: Sun May 02, 2010 5:30 pm

Re: PAW: Density went too small (xc_denpos)

Post by JEJohns » Mon Feb 24, 2014 10:01 pm

Hi Temok,
Can you post your input file? I had a similar issue with some PAW calculations with a vacuum region, and found the problem to be not with the actual PAWs, FFT, or ECUT/PAWECUTDG, but with the model dielectric function. When doing NC calculations I would typically use iprcel =45, but for reasons I still don't understand, that caused PAW calculations to crash. Instead, I was able to reach convergence by changing diemac to 20 and diemix to 0.6. Totally anecdotal help here, so use w/ caution. Let me know if that helps
James

Hantarto
Posts: 7
Joined: Wed Mar 26, 2014 11:18 am

Re: PAW: Density went too small (xc_denpos)

Post by Hantarto » Wed Jun 25, 2014 7:44 am

I also encounter similar case when calculating single atoms in a large vacuum nonmagnetically. This is my typical script :

chksymbreak 0
ngkpt 1 1 1
#Definition of the unit cell
acell 3*20 angstrom
#Definition of the atom types
ntypat 1
znucl 24
nsym 1
#Definition of the atoms
natom 1
typat 1
xred
0.0 0.0 0.0
ecut 20
pawecutdg 40
nstep 1000
toldfe 1.0d-6

It works for almost all elements, except V, Cr, Mn, Fe, Co, Ni, Mo, Tc, Ru, Os, Ir and Pt (12 elements). Convergence is hard to achieve on those 12 elements. I've tried changing k-points, lattice size, ecut, nsym, pawcutdg, diemac etc, but still failed to converged. But with nsppol 2 (spin polarization), it converged.
Does anybody know how to calculate these elements nonmagnetically ?

Locked