Vibrational frequency calculations
The calculation of harmonic vibrational frequencies is important for many computational chemistry applications, such as:
- determining thermodynamic properties (e.g. enthalpy, entropy, free energy);
- predicting IR and Raman spectra;
- confirming the stability of a minimum or transition-state saddle point;
- efficiently searching for transition states.
A vibrational frequency calculation is performed by calling the
hessian() command. Currently, Qcore supports analytic DFT hessian for HF and DFT, and semi-analytic evaluation for GFN-xTB, EMFT, and ONIOM.
Here is a minimal input for running a vibrational frequency calculation:
hessian( structure( molecule = methanol ) save_normal_modes = 'methanol_freq.Molden' xtb() )
In this example, we use the GFN-xTB method for obtaining the vibrational frequencies of methanol, and save the frequencies and normal modes to a MOLDEN format file, which can be visualized using Avogadro or other packages.
Using the vibrational frequencies, we can compute various thermodynamic properties, including enthalpy, entropy, Gibbs free energy and heat capacity, using ideal gas approximations. The command to run a thermodynamic analysis is
thermodynamics(). There are two ways of performing thermodynamic analysis in entos. The first approach is to run a
hessian() calculation followed by a
hess := hessian( structure( molecule = methanol ) xtb() ) thermodynamics( structure( load = hess ) load = hess temperature = 300 kelvin pressure = 1 atm )
Here, we perform a thermodynamic analysis for methanol at 300 K and 1 atm, by loading the vibrational frequencies and structure from a preceding
hessian() calculation. Note that we have used the assignment operator := to store the results of the
hessian() calculation in memory.
Alternatively, we can use
hessian() as a subcommand in
thermodynamics( structure( molecule = methanol ) hessian( xtb() ) temperature = 300 kelvin pressure = 1 atm )