RT-TDDFT restart


Click here for full thread
Clicked A Few Times
I created a very simple example just for testing: a Hydrogen molecule with an extra electron:

title "H2- charge transfer"

start hydrogen

geometry "h1" units angstroms noautosym nocenter noautoz
H     0.50000000     0.00000000     0.00000000
end

geometry "h2" units angstroms noautosym nocenter noautoz
H    -0.50000000     0.00000000     0.00000000
end

geometry "pair" units angstroms noautosym nocenter noautoz
H     0.50000000     0.00000000     0.00000000
H    -0.50000000     0.00000000     0.00000000
end


BASIS spherical
* library 3-21G
END


basis "cd basis"
* library "Ahlrichs Coulomb Fitting"
end


dft
  xc xbnl07 0.90 lyp 1.00 hfexch 1.00
  cam 0.33 cam_alpha 0.0 cam_beta 1.0
  odft
  convergence density 1d-9
  grid fine
end


charge -1
set geometry "h1"
dft
  mult 1
  vectors input atomic output "h1.movecs"
end
task dft energy

charge 0
set geometry "h2"
dft
  mult 2
  vectors input atomic output "h2.movecs"
end
task dft energy


charge -1
set geometry "pair"
dft
  mult 2
  vectors input fragment "h1.movecs" "h2.movecs" output "pair.movecs"
  noscf
end
task dft energy


rt_tddft

  tmax 100.0
  dt 0.2
  load vectors "pair.movecs"
  nrestarts 5
  nchecks 5

  print *

end
task dft rt_tddft


I ran it and after a few seconds i killed the process. Then, i restarted it:

restart hydrogen

task dft rt_tddft


It restarts successfully from a previously saved checkpoint, but charge and dipole moment differ:

Charge
Initial calculation
...
24.80000 -1.233793018676E+000
25.00000 -1.210558601777E+000
25.20000 -1.187089822858E+000
25.40000 -1.163415661715E+000
25.60000 -1.139710545366E+000
...
Restarted calculation
24.80000 -1.233793018676E+000
25.00000 -1.203827553217E+000
25.20000 -1.174313380229E+000
25.40000 -1.145364966307E+000
25.60000 -1.117188085409E+000
...

Dipole moment
Initial calculation
...
24.80000 4.863805326097E-001 0.000000000000E+000 0.000000000000E+000
25.00000 5.223713323234E-001 0.000000000000E+000 0.000000000000E+000
25.20000 5.571993826795E-001 0.000000000000E+000 0.000000000000E+000
25.40000 5.906750452401E-001 0.000000000000E+000 0.000000000000E+000
25.60000 6.225185939873E-001 0.000000000000E+000 0.000000000000E+000
...
Restarted calculation
24.80000 4.863805326097E-001 0.000000000000E+000 0.000000000000E+000
25.00000 5.266073747121E-001 0.000000000000E+000 0.000000000000E+000
25.20000 5.650030551657E-001 0.000000000000E+000 0.000000000000E+000
25.40000 6.014069077519E-001 0.000000000000E+000 0.000000000000E+000
25.60000 6.356380363757E-001 0.000000000000E+000 0.000000000000E+000
...


The same behavior is observed if i let it finish the calculation and then restart it for another say 100a.u.


-Andreas