Wednesday, 5 November 2014

TheoDORE 1.0 release

The first version of the Theoretical Density, Orbital Relaxation, and Exciton analysis package TheoDORE is released. You can find the project's homepage here, download the package from here, or check out the documentation wiki.

The central feature of this analysis are the electron-hole correlation plots of the charge transfer numbers (as shown in the top part of the figure). These allow you to get a two-dimensional representation of correlations between the electron and hole quasiparticles involved in the excitation. In other words: this analysis allows you to detect dynamic charge separation effects even in the absense of any net charge transfer. In the lower panel, a natural transition orbital is shown, which is convenient and compact way to represent an excited state.

Formally, the above quantities are defined with respect to the transition density matrix (1TDM). But, if you are satisfied with approximate results, then you can simply use the response vector of the quantum chemical method and regard it as the 1TDM. This way we extended TheoDORE to work with the Columbus, Turbomole, and Q-Chem packages and support for ADC, CC, TDDFT, and multi-reference methods is available (more information).

There is also support for the analysis of state and difference density matrices: Analysis of effectively unpaired electrons, attachment/detachment analysis, and a population analysis of the resulting densities.

Sunday, 21 September 2014

HOMO-LUMO gaps and spin eigenfunctions

Statistically speaking, writing sequels is not a good idea,[1] but there is something I withheld from you in my previous post about HOMO-LUMO gaps and excitation energies: the spin of the electron. Spin makes everything a bit more complicated but also more interesting. What are the excitation energies of the singlet and triplet eigenfunctions? And what is exchange splitting?

Compared to last time, we have to construct spin-adapted eigenfunctions. Slater determinants  (constructed from restricted orbitals) are always eigenfunctions of Sz but not necessarily of S2. One simple possibility of creating an S2 eigenfunction is the construction of a high-spin determinant. And this is how I will start here. For example, we can create a spin-eigenfunction by exciting from spin-down occupied orbital k into the spin-up unoccopied orbital a. As shown in the previous post, the energy of the resulting determinant is given according to (here the bar marks the spin-down quantities)

The second (exchange type) integral vanishes and the expression can be rewritten as

In other words: In the triplet case the Coulomb interaction between electron and hole is the only relevant term.

If we are interested in the singlet then we have to consider linear combinations of excited determinants. The standard construction uses the spin-up and spin-down excited determinants

Here "plus" yields the singlet and "minus" the triplet. The energy of this wavefunction is expanded as:

The first two terms are the energies of the individual Slater determinants (as discussed in the last post). The third term is the coupling element, which is also readily calculated.

The spin-up and spin-down energies are equivalent and of the coupling terms only the first (exchange-like) one remains:

If we use the energy expression of the excited Slater determinant from the previous post we obtain for the singlet energy

When compared to the simple band picture, the energy is lowered by the Coulomb interaction between the electron and hole and raised by twice the exchange interaction. For the triplet we obtain

which is (luckily for me trying to write this down) the same as the high-spin triplet discussed above. There is only a Coulomb but no exchange interaction. The splitting between the singlet and triplet amounts to twice the exchange integral, hence it is called "exchange splitting".

The Coulomb term corresponds to the attraction between the hole density (computed as the square of orbital k) and the electron density (the square of orbital a). It is a long range interaction decaying with the reciprocal distance of the two orbitals. The exchange term is computed by multiplying orbitals k and a with each other (yielding the transition density) and computing the electrostatic repulsion of this with itself. It is a short range interaction, which requires that a and k occupy the same space. These considerations show that the triplet state will always be lesser or equal in energy than the corresponding triplet singlet state and that this is particularly pronounced for localized states.

[1] The problem is that there is a very low chance that the sequel to your best post will be your new very best post. Even if it is a good post, it will look bad in comparison to the original one. But this is only a question of the reference point and part of a general phenomenon called Regression to the Mean.

Friday, 12 September 2014


Is there any special merit in being productive? Is it important to write many papers (as opposed to good ones)? Let's assume you somewhow manage to write twice as many papers as the average postdoc in some time period - what does that make you? Cheap. The people funding you get twice as much bang for their buck. But it does not make you a genius.

Of course, research excellence is often coupled to productivity and that is why there is a rationale for looking at the length of publication lists etc. But putting in long unpaid hours just to write one or two extra (mediocre) papers is not particularly beneficial. There are by far enough papers produced all the time and there are enough PhDs seeking jobs. So why should one do the work and write all the papers?

Anyway, that is what I tell myself when I start getting stressed out about not working enough. There are in fact two points: First, overworking may in fact lower your productivity. Number crunching all day won't help you if you don't sit back, relax and think about what it all means. Second, what if a successful academic career really requires you to work all day and stress out about things you think are useless? Then, it's time to change to industry and at least get paid appropriately.

Thursday, 28 August 2014

Multireference spin-orbit configuration interaction - perturbational treatment

If you are interested in multireference methods and/or relativistic effects, here is a new paper for you: "Perturbational treatment of spin-orbit coupling for generally applicable high-level multi-reference methods" in J. Chem. Phys. What we did is taking the existing spin-orbit CI code in Columbus and extended it for quasi-degenerate perturbation theory, which is in fact just a fancy way of saying that we stop the MR-CI after the first iteration (using the non-relativistic solutions as initial guesses). Besides that we needed an interface translating the CI vectors between the non-relativistic and relativistic representations.

With this tool we could compare the perturbational treatment with the full SO-CI. The agreement of the relative energies was quite good. But there was a significant difference in the total energies, since spin polarization was missing in the perturbational model space. But this was a systematic error affecting all states more or less the same.

The main reason why we wanted the perturbational approach is that it allows for the computation of gradients and non-adiabatic interactions (assuming that the spin-orbit couplings are slowly varying). And then we can do non-adiabatic dynamics with it. So far the methodology is implemented in SHARC with an application in this paper.

And finally, since they always look cool, a representation of the Shavitt graph coding the SO-CI configurations:

Thursday, 31 July 2014

gmolden - exporting densities

For some reason I never realized that there was a program called gmolden that works just as normal molden but looks much cooler (with opengl graphics). You can download the precompiled executable from their homepage just as the normal one. And then, finally, you can have shiny molecules and orbitals in molden.

The reason why I went back to molden is that it lets you produce densities from orbitals and occupation data. In my case I wanted to compute hole/particle densities (which are similar to the attachment/detachment densities but for general wavefunctions not quite the same) as weighted sums over the natural transition orbitals.

And since I like to do my density plotting in VMD, I can also ask molden to export cube files, which I can open in VMD. And then I can plot at the hole density ...
... and the particle density ...
... the way I like to do this.