I am doing a scan calculation using Gaussian09 and adding the Freq=Raman keyword to my input file. My objective is to obtain the Raman spectrum of each conformation in my compound. However, only the Raman spectrum of the last conformation in the scan is calculated. How can I solve this problem?

I understand that I will get negative frequencies, but these will be in a certain frequency range, so I can observe the variation in the signals.
I need to do these calculations, because I want to see the type of conformation that my compound adopts under heating.

  • 1
    $\begingroup$ Assuming that you are changing the geometry in between calculations, you may get negative frequencies because you may well pass over saddle points. Also, Raman intensities are very expensive, IIRC, and even standard frequency calculations are way more expensive than the geometry sweep I suspect you wish to do. You are much better off picking a few structures along the way and running them separately. $\endgroup$ – TAR86 Sep 12 '17 at 13:22
  • $\begingroup$ Why do you want perform this kind of computation? Normally, you would only be interested in the spectroscopic properties of ground states. $\endgroup$ – logical x 2 Sep 12 '17 at 14:08

No, there is no automation for this, and there should not be.

Using compound jobs is unfortunately very common among computational chemists, but they should always be viewed critically. If you are using any kind of IOp, then the probability that the second part of your job is doing what you want is low. Additionally, you do not really have any control about what happens if something happens to fail. In such cases, you also give up control over the validity of your checkpoint-file, which you might want to reuse.
Another issue is that these are basically two jobs running one after another and in most cases need different memory requirements, are more effective with another setup. It's the dream of every administrator (and co-worker) when you block resources you don't need for an extended period of time just to avoid a little more waiting.
Lastly, with the introduction of %oldchk= in in revision D.01, it is completely superfluous. Every well organised queuing system should be able to run jobs one after the other when specified (i.e. let one job wait for another to finish).

Only run compound jobs if you are 100% sure they cannot fail (and even then it's questionable).

From a theoretical standpoint, you should consider how much sense your approach makes. As TAR86 pointed out, Raman intensities are expensive. Additionally frequency calculations are only meaningful at well converged local minima structures. You are employing the harmonic oscillator approximation, which will break down if you are not using a local minimum (or at least a stationary point).

If you really need this approach, then you need to do it manually by extracting the geometries (and possibly the MO) and perform the frequency job on top of it.


Afaik it's not possible to do this directly since Gaussian does only allow geometry optimization during scans.

The definitely easiest way to do this, but not the cheapest, would be running your scan, extracting the *.xyz coordinates of every (optimized) structure and then running the freq calculations separately. Extracting the *.xyz structures can be done for example with openbabel, cclib or chemcraft. Producing Gaussian inputs can be done by a simple python script and writing link0 and link1 information followed by the coordinates from the *.xyz files.

Another way to do this, which would be cheaper but much more complicated to set up, is to produce the input files for your different scan types right away and run them separately including the freq. How to do this depends a lot on your type of scan.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.