Dear NWChem developers and community members,
I’m running into a problem that I am unable to resolve and would like to ask for your help. The problem is that I’m generally unable to achieve SCF convergence on relatively simple organic molecules when using a basis with diffuse functions. Specifically, basis sets of the augpcX and augccpVXZ type are problematic. I’m encountering the problem with NWChem versions 6.0, 6.1, and 6.1.1.
To help with convergence, I first run an energy calculation with the basis set without diffuse functions, then read in the converged vectors for a second energy calculation with diffuse functions added. Unfortunately, this has not helped in the majority of cases. The calculation without diffuse functions runs fine, but the calculation with the diffuse functions has a large DIIS error from the start on and typically starts to diverge after a few iterations (below is an example).
d= 0,ls=0.0,diis 1 539.3212395974 1.31D+03 7.60D01 9.07D+00 148.1
d= 0,ls=0.0,diis 2 539.3492153346 2.80D02 9.04D04 7.74D+03 203.8
d= 0,ls=0.0,diis 3 539.3492043060 1.10D05 5.63D02 7.74D+03 259.4
d= 0,ls=0.0,diis 4 539.3468186446 2.39D03 3.37D03 7.75D+03 315.1
d= 0,ls=0.0,diis 5 539.3474219125 6.03D04 2.94D02 7.75D+03 370.9
d= 0,ls=0.0,diis 6 539.3484646008 1.04D03 5.10D02 7.73D+03 426.6
d= 0,ls=0.0,diis 7 539.3490772651 6.13D04 4.11D02 7.73D+03 482.3
d= 0,ls=0.0,diis 8 539.3475847257 1.49D03 8.91D02 7.73D+03 538.7
d= 0,ls=0.0,diis 9 539.3447532079 2.83D03 7.63D03 7.73D+03 594.5
d= 0,ls=0.0,diis 10 539.3450053401 2.52D04 7.80D02 7.73D+03 650.2
d= 0,ls=0.0,diis 11 539.3453092257 3.04D04 1.02D+04 7.74D+03 705.8
Grid integrated density: 94.000042075022
Requested integration accuracy: 0.10E07
d= 0,ls=0.5,diis 12 3005.8035648386 2.47D+03 8.44D+02 3.75D+11 764.3
Grid integrated density: 94.000041943620
Requested integration accuracy: 0.10E07
d= 0,ls=0.5,diis 13 337.1543884878 2.67D+03 1.24D+03 7.09D+11 822.8
Grid integrated density: 94.000035846688
Requested integration accuracy: 0.10E07
d= 0,ls=0.5,diis 14 375.2187617181 7.12D+02 1.09D+04 7.66D+10 881.2
Grid integrated density: 94.000021289358
Requested integration accuracy: 0.10E07
d= 0,ls=0.5,diis 15 460.6161514873 8.54D+01 4.54D+03 4.84D+10 939.7
Grid integrated density: 94.000003943278
Requested integration accuracy: 0.10E07
d= 0,ls=0.5,diis 16 518.7285508120 9.79D+02 3.60D+02 9.40D+06 998.2
Grid integrated density: 94.000003158007
Requested integration accuracy: 0.10E07
d= 0,ls=0.5,diis 17 533.3548415213 1.46D+01 1.36D+02 1.18D+07 1056.7
Grid integrated density: 94.000003137809
Requested integration accuracy: 0.10E07
d= 0,ls=0.5,diis 18 430.1794423581 1.03D+02 5.55D+02 5.74D+09 1115.2
Grid integrated density: 94.000003397106
Requested integration accuracy: 0.10E07
d= 0,ls=0.5,diis 19 542.7589569074 1.13D+02 3.70D+03 1.91D+07 1173.7
Grid integrated density: 94.000001434088
Requested integration accuracy: 0.10E07
d= 0,ls=0.5,diis 20 532.1381465702 1.06D+01 8.53D+00 2.94D+04 1231.3
Grid integrated density: 94.000001399588
Requested integration accuracy: 0.10E07
d= 0,ls=0.5,diis 21 531.7068488856 4.31D01 1.79D+01 2.35D+04 1289.0
d= 0,ls=0.5,diis 22 532.9625586983 1.26D+00 4.52D+03 7.90D+03 1345.4
I’ve tried many things in order to improve convergence, such as increasing the accuracy of various cutoffs, improving the DFT grid, level shifting, dampening, all to no avail.
Strangely enough, however, I found that for many cases specifying “set lindep:n_dep 0” will cause the calculation to converge without a problem (provided the degree of partial linear dependence isn’t too large). When setting “set lindep:n_dep” or “set lindep:tol” such that only one vector is removed prior to the second calculation, the problem immediately reappears.
To me this makes no sense, as I understood that SCF convergence should usually improve upon removing linear dependent vectors, not worsen. Did I perhaps encounter a bug? Or did I overlook an important setting?
I would greatly appreciate if someone could help me with getting the calculation to convergence without having to set “set lindep:n_dep 0”. Below is the input of my calculation. Thank you in advance.
Kind regards,
Thom
start phenanthrene
geometry
C 0.00000000 2.84859800 0.88680600
C 0.00000000 3.57955900 0.29438700
C 0.00000000 2.89936800 1.53469700
C 0.00000000 1.50842000 1.57667000
C 0.00000000 0.73043500 0.38774400
C 0.00000000 1.42795200 0.87014000
C 0.00000000 0.73043500 0.38774400
C 0.00000000 1.42795200 0.87014000
C 0.00000000 0.68487000 2.10145900
C 0.00000000 0.68487000 2.10145900
C 0.00000000 1.50842000 1.57667000
C 0.00000000 2.89936800 1.53469700
C 0.00000000 3.57955900 0.29438700
C 0.00000000 2.84859800 0.88680600
H 0.00000000 3.35683000 1.85437700
H 0.00000000 4.67108900 0.26819800
H 0.00000000 1.24321500 3.04075300
H 0.00000000 1.24321500 3.04075300
H 0.00000000 1.01691100 2.54926800
H 0.00000000 3.46767400 2.46710500
H 0.00000000 4.67108900 0.26819800
H 0.00000000 3.35683000 1.85437700
H 0.00000000 3.46767400 2.46710500
H 0.00000000 1.01691100 2.54926800
symmetry c2v
end
basis "small" spherical
H library ccpVDZ
C library ccpVDZ
end
basis "large" spherical
H library augccpVDZ
C library augccpVDZ
end
set "ao basis" small
scf
tol2e 1e12
end
dft
xc becke88 1.0 lyp 1.0
grid xfine
tolerances tight
direct
iterations 100
vectors input atomic output smallbasis.movecs
end
task dft energy
set "ao basis" large
dft
xc becke88 1.0 lyp 1.0
grid xfine
tolerances tight
direct
iterations 100
vectors input project "small" smallbasis.movecs output largebasis.movecs
end
task dft energy
