DFT problem: Range-separated functionals failing to converge for C70 fullerene


Clicked A Few Times
I am new to DFT and NWChem and am having difficulties using range-separated functionals for the C70 fullerene (which is like a buckyball except more oval-shaped). If I use the more conventional functional B3LYP, I have no trouble with "task dft" or "task dft optimize" for this system. However, once I attempt a range-separated functional such as BNL or CAM-B3LYP, the energy blows up immediately and the calculation never converges.

I have tried the following, without success:
-Adding damping, up to 98%, for all iterations.
-Using a geometry that was optimized with B3LYP and using the molecular orbitals from the B3LYP calculation as input for the range-separated calculation.

The energy goes wild immediately, with the second iteration having an energy 100 times larger than the first iteration.

I have pasted the input file below. I would be very grateful for any thoughts on using range-separated functionals for this system.


title "C70"
echo
geometry units angstroms
symmetry d5h
C -0.367687664 1.131626269 3.870162242
C -0.733827376 2.258488433 -3.127084897
C -1.920025931 2.253477156 -2.387939803
C -1.694377302 2.945472037 -1.197698888
C -2.325526743 2.568975024 0.000000000
end
basis
carbon library 6-311G*
end


dft
xc xcamb88 1.00 lyp 0.81 vwn_5 0.19 hfexch 1.00
cam 0.33 cam_alpha 0.19 cam_beta 0.46
direct
vectors input C70_from_b3lyp.movecs output C70.movecs
print "information"
iterations 200
convergence ncydp 200
convergence damp 98
end
scf
 semidirect memsize 100000000 filesize 0
end
memory total 8000 stack 2000 heap 2000 global 4000 mb
task dft optimize

Forum Regular
Hi, Can you send me your complete input file in a separate email ?

Best,
-Niri Govind

niri.govind@pnl.gov

Forum Regular
Sorry. I didn't notice you had used symmetry. I have all the information. I'll let you know what I find.

Clicked A Few Times
I am wondering if it has to do with the cage-like structure, and the fact that a particular point in space may be a short distance from one side of the cage but a long distance from the other side of the cage, thus confusing the short range/long range division. However, I just read a paper where they used LC-BLYP for C60 fullerenes, so it seems that there is some way to implement range separation with cage structures.

Forum Regular
Hi,
There was something wrong with your coordinates. 90 atoms were generated after symmetry was applied. Try the following input. This converges beautifully with CAM-B3LYP, B3LYP...

Best,
-Niri
niri.govind@pnl.gov

echo

title c70-test
start c70-test

scratch_dir /scratch

memory stack 1600 heap 100 global 2000 mb

geometry units angstroms noautoz
symmetry d5h
C 0.00000000 1.18975682 -3.87017533
C -2.25842941 0.73380820 -3.12705403
C -2.95182693 -0.22873891 -2.38784797
C 0.70138710 3.32490577 -1.19778995
C -3.00547750 -1.72450846 0.00000000
end

basis
  • library 6-311G*
end

dft
xc xcamb88 1.00 lyp 0.81 vwn_5 0.19 hfexch 1.00
cam 0.33 cam_alpha 0.19 cam_beta 0.46
direct
maxiter 100
end
task dft

Clicked A Few Times
Niri,

Thanks so much for your help. I actually discovered that there was one problem with my input file other than the coordinates (my energy was running wild even with correct coordinates). I found that the position of my "task dft" was causing the problem. If I place "task dft" right after the end of the DFT section, as you did, it runs correctly. If I place it after the MEMORY section (as I did in the original input file that I showed), everything goes haywire.

Thank you for the corrected coordinates. Can I ask how you created them? The erroneous ones I created with Chemcraft and I am trying to figure out what I did wrong.

Best wishes,
Kenley

Clicked A Few Times
I should add that I am surprised by the "task dft" position issue because I have put "task dft" after the memory section with other jobs that converged--now I am wondering about the accuracy of those results.

Clicked A Few Times
Following up here in case this is ever useful to anyone else . . .

The effect of putting "Task DFT" in the wrong place seems to depend on installation or perhaps on version. The difference between the correct:


dft
xc xcamb88 1.00 lyp 0.81 vwn_5 0.19 hfexch 1.00
cam 0.33 cam_alpha 0.19 cam_beta 0.46
direct
print "information"
iterations 200
vectors output C70.movecs
end
task dft
scf
 semidirect memsize 100000000 filesize 0
end


and the incorrect


dft
xc xcamb88 1.00 lyp 0.81 vwn_5 0.19 hfexch 1.00
cam 0.33 cam_alpha 0.19 cam_beta 0.46
direct
print "information"
iterations 200
vectors output C70.movecs
end
scf
 semidirect memsize 100000000 filesize 0
end
task dft

leads version 6.0 on the NERSC computer Carver to simply crash with

"int2e_file: Failed to allocate cache ... halving"

However, on my home cluster, using version 6.1.1, putting "task dft" after the SCF calculation causes the calculation to run but produce wild energies. The effect on the energies of "task dft" being in the wrong place varies from calculation to calculation--some calculations run and converge even with "task dft" in the wrong place.

Hope this is helpful to someone. Thank you again Niri for your help.


Forum >> NWChem's corner >> Running NWChem