# Animate molecular vibrations as multiple xyz coordinate files

I have a frequency calculation by Gaussian09. Now I would like to extract vibrational modes as a set of xyz coordinate files. I would like to manually recompute numerically the points along a transitional vector, since IRC calculations all fail. (I suspect it is no real saddle point, flat PES.)

Consider the formation of the Lewis-Acid-Base complex $\ce{H3N\bond{-}BF3}$ with a transition state given in $$\ce{NH3 + BF3 -> [H3N\cdots BF3]^{TS} -> H3N\bond{-}BF3}$$ where this procedure would equal a (rigid) scan of the $\ce{N\cdots B}$ bond. This would be easy to accomplish.

Things get more difficult considering the pseudo vibration of ammonia, pyramidal to planar to pyramidal. Here it is not only one variable that has to be changed. (With dummy atoms it is still manageable.)

If molecules get more complicated, the manual specification of the bond parameters is too complicated and a source of many errors.

In the days when some of the gui programs were not able to calculate the vibrations and showing them in that fashion it was common to produce a set of multiple xyz files, each of them a snapshot of the coordinates along a specified vibrational vector. (This is now done internally and you can look at fancy pictures.) One of those programs capable of doing so is XVibs. For various quantum chemistry packages they calculated the distorted geometries. Unfortunately that is now ancient. (It was possible with a Gaussian09 output.)

For Turbomole there is a tool distributed along called screwer.

Unfortunately I have no access to that program package and I also do not want to change all the computations so far done to this software.

Lordstryker already posted in the comments, that it might be done by hand with chemcraft. I tried that and it is not very satisfying. One produces too many errors.

Are there any other programs/scripts that might be able to produce these files?

• mmm I don't know with Gaussian, but in the output there should be a part with xyz frequencies coordinates, however you can see the animations using Avogadro see this video. – G M Apr 14 '14 at 11:13
• @GM That is absolutely correct. It will give you all the numbers you need to visualize the vibration. I want to take snapshots of a mode and recompute the energies at every point. – Martin - マーチン Apr 14 '14 at 11:55
• I'm not sure I've understood right, you mean that you want perform the calculation in an non optimized geometry e.g. during a stretching mode of a molecule? – G M Apr 14 '14 at 12:40
• @GM yes, I want to (approximate) map the PES around a stationary point along calculated frequencies. Basically distorting the molecule along a mode. For a diatomic molecule, this would equal to scanning the bondlength around the equilibrium. For more atomic molecules this is not so easy to accomplish, as more coordinates (bond lengths and angles) have to be changed. – Martin - マーチン Apr 14 '14 at 12:52
• @Martin I know Chemcraft will animate vibrational modes and will display the corresponding XYZ coordinates. I just checked and there isn't a way that I'm aware of to save a sequence of XYZ coordinates automatically. One could do this by hand however. As with any program, you'll want to be careful with how you scale the vibrations before you decide which xyz's to save. – LordStryker Apr 14 '14 at 13:05

If you are performing these computations for non-commercial purposes, one program package you might consider is ORCA (free registration required). Binaries are available for Mac, Win and Linux. Check out, e.g., Sections 5.9.3.5, 6.14.8.8, and 6.14.8.9 in the current manual (available at the above link) to see if the 'orca_pltvib' helper module or the 'mode trajectory run' (MTR) features will do what you're looking for.

'orca_pltvib' generates 'canned' OpenBabel XYZ multi-geometry animations for one or more vibrational modes of a Hessian. It may not provide sufficient configurability for your needs, though, as it only creates animations for single modes, and the displacement sizes are fixed.

The MTR feature is a lot more flexible. It is meant to compute single-point energies at all of the points in a given mode scan (which can scan multiple modes at once) but also spits out a multi-structure XYZ file for each point, Once the TS geometry and modes are calculated, if you don't really care about the energies you can probably run the MTR at a very low level of theory, and just grab the geometries. One possible hitch with scans over multiple modes is that it only generates the XYZ files for pairs of mode displacements, and each XYZ file only contains an animation of displacements along a single mode (see p406 in the current manual for a more complete explanation).

• Thanks for the suggestion, I might have a look in it. Unfortunately I am quite limited in my choice of quantum chemistry programs. But I might be able to switch for a different project. – Martin - マーチン Jan 2 '15 at 13:54
• If all you're doing is generating these animations, it's something that could readily be performed on a personal computer (if, say, you're limited to programs available on a multi-user cluster). The big challenge there might be getting the initial Hessian in ORCA's format, if your reference structure and Hessian are from, e.g., a highly correlated level of theory. ORCA has a lot of methods implemented, but some will be prohibitively slow on a personal machine. – hBy2Py Jan 2 '15 at 14:02
• @Martin-マーチン -- Just recalled QMForge -- not sure if it does multiple-mode animations, though. – hBy2Py Dec 12 '15 at 0:57
• Thanks for the additional input. I have lost track of this entirely, I will have to really take the time to investigate the matter again. – Martin - マーチン Dec 12 '15 at 1:02

If I remember correctly, frequency data are in the stdout clusterfuck usually named log file, as well as in the (formatted) checkpoint files. There shouldn't be any need to prepare a cube file for this.

If GaussView is not available, GM's comment has the answer: Avogadro can visualize vibrations and I'm sure I've done this. Unfortunately, I don't have an output file at hand here.

• I do not want to visualize, I want to create xyz files of the vibration and recompute energies statically at these geometries giving me an approximate PES around the saddle point. – Martin - マーチン Apr 14 '14 at 11:53

As of today I decided to add an answer to this problem to declare it as unresolved. The answer of Klaus only answers the part of visualisation, which is not what I want or need. There are at least ten different programs that can do that.

While turbomole comes with the built-in functionality of screwer, other program packages might not have that. The mentioned XVibs is more than outdated.

The solution LordStryker added in the comments, doing it with the ChemCraft software is workable but highly ineffective and may introduce many errors.

I will certainly come back, whenever I find a program capable of this, but until further notice: *There is no such thing.

• This wouldn't be hard to write such a tool using Open Babel. People have asked for this in Avogadro but we haven't done it yet, largely for other reasons. I could write a pretty simple script in Python or command-line tool, but the question would be how you want to pick out the vibration - by number or by frequency? – Geoff Hutchison Sep 12 '14 at 18:07
• @GeoffHutchison That would be more than amazing, a command line tool would be exactly what I was looking for. Since I am usually only interested in the mapping around the TS, I guess picking by number would be the easiest option. – Martin - マーチン Sep 16 '14 at 17:42