Thursday, 23 February 2012

Orbital movie

I played around a little bit with visualization of charge transfer dynamics. And I think it looks kind of cool. The video is related to the one shown here (the background is described here and in this paper). But now I am directly plotting the singly occupied orbital to give a more direct impression of what happens. To represent the surface hopping dynamics, I am changing the color of this orbital to indicate when the system is in the excited state.

You can notice that there are some discontinuities when the system changes between the states. This is because after passing through the crossing region the system is in a coherent superposition between transfer and no-transfer (I think). And the dynamics samples one of these options, and switches between them by stochastic hoppings. An important point is that in many cases it is not possible to average the potential, which would lead to Ehrenfest dynamics. But you really have to consider the wave packet as two distinct entities. Eventually the wave function "collapses" and the charge is clearly localized on one side. In this formalism this is actually realized through an ad-hoc decoherence correction.

This was a dynamics simulation at the state averaged MCSCF level, performed with Newton-X coupled to Columbus (with its new highly efficient SA-MCSCF gradients). I saved the Molden files with orbitals from the dynamics and plotted these with Jmol. For Jmol I used a long script looking like this, containing the commands for every frame:

load DEBUG/HYBR.0.5000/JOBEX_1.columbus/MOLDEN/molden_no_mc.drt1.st01.sp
background white
mo fill
mo cutoff 0.03
mo titleformat ""
mo 24
rotate -z
rotate -z
mo color red blue
write image png "frames/frame000.50.png"

load DEBUG/HYBR.1.0000/JOBEX_1.columbus/MOLDEN/molden_no_mc.drt1.st01.sp
background white
mo fill
mo cutoff 0.03
mo titleformat ""
mo 24
rotate -z
rotate -z
mo color red blue
write image png "frames/frame001.00.png"

...

And this script was in turn created with a python script, since I do not know how to program in Jmol itself. In the jmol console all I had to do was setting up the frame and executing

script movie.jmol

1 comment:

Jan H. Jensen said...

Nice work! I mentioned it on my blog.