Ideal-gas thermodynamic functions such as molar entropy, heat capacity, and enthalpy content, can be computed easily from the molecular partition function. The details are described in many places, including here. The rigid-rotor/harmonic-oscillator (RRHO) approximation, adopted here, is popular because it is simple and is often adequate. All the necessary information is usually included in the output file from a vibrational frequency calculation executed using the quantum chemistry software from Gaussian, Inc. You can download a free Perl script (link at the bottom of this page), called thermo.pl, that will automatically extract the essential data from a Gaussian output file and compute thermodynamic functions at several temperatures. The basic data are also saved to a keyword-driven text file, which can be edited and used as input to the Perl script.
This information can be used to compute quantities such as temperature-dependent free energies of reaction, delta-G(T). Here is a worked example, for computing the relative stabilities of the cis- and trans- isomers of 1,2-dichloroethylene, CHCl=CHCl.
If you don't want to install the script locally, it's now available on-line (as of Jan. 16, 2004).
Basic use of thermo.pl
Try the command "perl -v" on your computer. If it doesn't do anything, you will have to install Perl on your system before continuing.
If your frequency output file is called "chcl3_freq.out", then just type the following command:
perl thermo.pl chcl3_freq.out
You should get output like the following:
opening chcl3_freq.out for input
The column headings are:
For comparison, here are the corresponding values from the JANAF Tables (by M. W. Chase; 4th edition):
This command should yield the same results as before.
If you want a temperature (e.g., 550 K) that is not in the default list, supply that temperature as an additional command-line argument:
Likewise, if you want to scale the vibrational frequencies by a multiplicative factor (e.g., 1.0015), specify that factor as the additional command-line argument, as shown below. The program examines the magnitude of the numerical arguments to distinguish a temperature (greater than 10) from a vibrational scaling factor (between 0.5 and 1.5).
You can specify both a scaling factor and an extra temperature:
Advanced use: editing data files
Additional functions of thermo.pl are only available using a keyword-driven data file as input. The data file must be edited to supply additional keywords and the corresponding data.
In the example above, the program automatically generates a data file (thermo.dat) that looks like this:
The program will apply a reasonable limit on anharmonic vibrational ladders, even if none is specified (as here). At 298.15 K, here are the results from the above file and from the 4th edition of the JANAF tables:
A Gaussian frequency calculation on the F atom will produce an output file suitable for thermo.pl. However, the script only detects spin degeneracy, not spatial degeneracy. So the degeneracy of the (ground) electronic level will come out as 2, which is wrong. If spin-orbit coupling is ignored, the degeneracy should be 6 for the 2P ground state. Of course, the spin-orbit splitting is important (404.1 cm-1) and should not be ignored. Here are the data file and the comparison with JANAF:
You may download and use the program without charge or registration. Do not distribute the software without attribution and this documentation.
K.K. Irikura, THERMO.PL, National Institute of Standards and Technology, 2002.