Understanding Numerical Gradients with TD-DFT


Clicked A Few Times
Hi all,

I am hoping to understand the output I am receiving over the course of a long calculation attempting to get excited state frequencies using TD-DFT and numerical gradients.

Here is the pertinent part of my input file:

dft
        mult 1
        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
        iterations 500
end

tddft
        RPA
        NROOTS  1
        NOTRIPLET
        TARGET  1
        MAXVECS 100
        FREEZE  core 81 virtual 247
end

raman
        normal
        lorentzian
        low     600
        high    1700
end

property
        response        1 0.070421
        damping         0.007
end

task tddft raman


What I expected would be similar to a ground state numerical calculation where each atom in the structure is "bumped" + and - in each x,y,z coordinate, with a subsequent SCF and TD for each "bump." However, for each "bump" in my calculation I am seeing 12 or so SCF/TD calculations being performed instead of the one I expected, significantly increasing my expected computational time. I would greatly appreciate any help in understanding how this calculation differs from the ground state numerical calculation of frequencies.

Thanks in advance!

-Paul

Here is an egrep of my output file on "atom: |step | DFT Module|TDDFT Module so you can see how many times each calculation is performed. Inbetween atom 6 xyz 1(-) and 6 xyz 2(+) there are 12 additional DFT/TDDFT calculations performed. Full output file can be found here[1].:

 atom:   6 xyz: 1(-) wall time:    7334.1      date:  Wed Feb 26 23:20:33 2014
                                 NWChem DFT Module
                                NWChem TDDFT Module
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step     1 energy       -2207.93256747
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step    -1 energy       -2207.93265797
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step     2 energy       -2207.93252298
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step    -2 energy       -2207.93268483
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step     3 energy       -2207.93263476
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step    -3 energy       -2207.93263476
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step     4 energy       -2207.93266191
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step    -4 energy       -2207.93256311
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step     5 energy       -2207.93268551
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step    -5 energy       -2207.93252228
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step     6 energy       -2207.93263476
                                 NWChem DFT Module
                                NWChem TDDFT Module
 step    -6 energy       -2207.93263476
 atom:   6 xyz: 2(+) wall time:   14011.8      date:  Thu Feb 27 01:11:51 2014

Forum Regular
Hi Paul,

My guess is the following. For the ground state the DFT code can calculate gradients analytically. So the Hessian is calculated by numerically differentiating analytic gradients. For the TDDFT we haven't released the analytic gradients yet. So now we have to calculate the Hessian by numerically differentiating numerically calculated gradients. Therefore the code now needs to perform a much larger number of finite displacements (proportional to the square of the nuclear coordinates rather than linear in the number of nuclear coordinates). It can be done but it is indeed expensive.

Huub


Forum >> NWChem's corner >> General Topics