rt-TDDFT and OCCUP


Click here for full thread
Just Got Here
Dear all,

I've again a problem with the OCCUP keyword:

I want to do a rt-TDDFT calculation for an excited molecule. Therefore I use the following (shortened) input-file:

title "Cu oxo TD-B3LYP excitation"
echo
scratch_dir /tmp/Nwchem

memory total 2500 mb

start Cu_oxo

geometry "system" units angstroms nocenter noautoz noautosym
 Cu                -1.37626700   -0.00002100   -0.00022800
 [...]
 H                 -2.85367600   -1.70711100    1.06158200
end

basis
 * library cc-pvdz file /pc2work/anlu/nwchem-6.3-src.2013-05-28/src/basis/libraries/
end

charge 2


dplot
   TITLE CU
   vectors "CU_ground.movecs"
   LimitXYZ
   -8.0 8.0 100
   -8.0 8.0 100
   -8.0 8.0 100
   spin total
   gaussian
   output Dichte_ref_groundstate.cube
end


dft
 odft
 xc b3lyp
 mult 1
 maxiter 400
 vectors input atomic output "CU_ground.movecs"
end

## Compute ground state of the system
task dft energy
task dplot

unset dft:*

OCCUP
 72 72
 1.0 1.0 #Orbital 1
 1.0 1.0
 1.0 1.0
 1.0 1.0
 1.0 1.0 #Orbital 5
 [...]
 1.0 1.0 #Orbital 60
 1.0 1.0
 1.0 1.0
 0.070086937 1.0
 1.0 1.0
 1.0 1.0 # 65
 1.0 1.0
 1.0 1.0
 0.940028887 1.0
 1.0 1.0
 1.0 1.0 #Orbital 70
 0.929913062 0.0
 0.062511272 0.0
end

dft
 odft
 xc b3lyp
 mult 1
 maxiter 400
 vectors input "CU_ground.movecs" output "Cu_oxo.movecs"
 noscf
end
task dft energy

unset dplot:*
dplot
   TITLE CU
   LimitXYZ
   -8.0 8.0 100
   -8.0 8.0 100
   -8.0 8.0 100
   spin total
   gaussian
end

rt_tddft
  tmax 300.0
  dt 0.2
  load vectors "Cu_oxo.movecs"

  print *

  visualization
    tstart 0.0        # start visualization at this time
    tend 299.8        # stop visualization at this time
    dplot             # post-process density matrices into cube files after propagation
  end
end
task dft rt_tddft


(The basic idea is to calculate the groundstate and occupy higher orbitals with the OCCUP-keyword afterwards. This is done in a noSCF calculation. The output for the rt-TDDFT calculation is then:

                             Open shell propagation
                              ----------------------
 
 
 Initial state: Imported open shell MO eigenvectors
 --------------------------------------------------
 
   Vector      Occupation     Eigenvalue [au]
 --------------------------------------------
         1        1.00       -3.23392348E+02
         2        1.00       -3.23392345E+02
[...]
        63        0.07       -6.22068371E-01
        64        1.00       -6.06523644E-01
        65        1.00       -6.06305144E-01
        66        1.00       -5.77292864E-01
        67        1.00       -5.76451052E-01
        68        0.94       -5.55072444E-01
        69        1.00       -5.52763761E-01
        70        1.00       -5.23793842E-01
        71        0.93       -4.04032406E-01
        72        0.06       -3.96755861E-01
        73        0.00       -2.56850444E-01
[...]

   Vector      Occupation     Eigenvalue [au]
 --------------------------------------------
         1        1.00       -3.23392348E+02
         2        1.00       -3.23392345E+02
[...]
Integral file          = /tmp/Nwchem/Cu_oxo.aoints.0
 Record size in doubles =  65536        No. of integs per rec  =  32766
 Max. records in memory =      0        Max. records in file   =   2526
 No. of bits per label  =     16        No. of bits per value  =     64


 #quartets = 2.284D+07 #integrals = 5.884D+08 #direct =  1.1% #cached = 98.9%


 Grid_pts file          = /tmp/Nwchem/Cu_oxo.gridpts.0
 Record size in doubles =  12289        No. of grid_pts per rec  =   3070
 Max. records in memory =     39        Max. recs in file   =      2219

<rt_tddft>:      0.00000        ### Propagation started ###
<rt_tddft>:      0.00000        ### Checks passed ###
<rt_tddft>:      0.00000        ### Saved density matrix snapshot ###
<rt_tddft>:      0.00000   2.587733604000E+003     # CPU time
<rt_tddft>:      0.00000   1.597777275029E+003     # Enuc
<rt_tddft>:      0.00000  -8.437766477621E+003     # Ecore
<rt_tddft>:      0.00000   3.233989488196E+003     # Ecoul
<rt_tddft>:      0.00000  -2.062673754170E+002     # Exc(1)
<rt_tddft>:      0.00000   0.000000000000E+000     # Exc(2)
<rt_tddft>:      0.00000  -3.812267089813E+003     # Etot
<rt_tddft>:      0.00000   1.615626388229E-008     # Eadded
<rt_tddft>:      0.00000  -7.000000000000E+001     # Charge [system] (alpha spin)
<rt_tddft>:      0.00000  -7.000000000000E+001     # Charge [system] (beta spin)
<rt_tddft>:      0.00000  -1.400000000000E+002     # Charge [system] (total spin)
<rt_tddft>:      0.00000   [...] all lower Orbitals nearly 1.0, Orbital 70:  9.999999551251E-001 
                                   Orbital 71: 1.603641419205E-007  
     # MO Occupations (alpha spin)
[...]


I'm focusing on the occupation of the 71th orbital: rt-TDDFT seems to read the correct occupation (0.93) from the file. I expect to have nearly the same occupation for the timestep t=0. But as you can see in the output the occupation decreased from 0.93 to 1.603641419205E-007 - why? Furthermore if I subtract the written charge density for the timestep t=0 from the charge density of the groundstate there are NO differences in the cubefiles (not even in the last digit).

Can you tell me what I did wrong? Or is rt-TDDFT not able to work together with the OCCUP-keyword?

Thank you very much for help :-)

Andreas