# sc::MolecularFrequencies Class Reference

The MolecularFrequencies class is used to compute the molecular frequencies and thermodynamic information. More...

`#include <molfreq.h>`

Inheritance diagram for sc::MolecularFrequencies:

List of all members.

## Public Member Functions

| MolecularFrequencies (const Ref< KeyVal > &)
| The KeyVal constructor.
| MolecularFrequencies (StateIn &)
void | save_data_state (StateOut &)
| Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
Ref< Molecule > | molecule () const
| Return the molecule.
void | compute_frequencies (const RefSymmSCMatrix &xhessian)
| Given a cartesian coordinate hessian, compute the frequencies.
int | nirrep () const
| Returns the number if irreps.
int | nfreq (int irrep) const
| Returns the number of modes in an irrep.
double | freq (int irrep, int i) const
| Returns the frequency, given the irrep and the index.
RefSCMatrix | normal_coordinates ()
| This returns the normal coordinates generated by compute_frequencies.
void | thermochemistry (int degeneracy, double temp=298.15, double pres=1.0)
| Computes thermochemical information using information generated by calling compute_frequencies first.
void | animate (const Ref< Render > &, const Ref< MolFreqAnimate > &)
Ref< SCMatrixKit > | matrixkit ()
Ref< SCMatrixKit > | symmatrixkit ()

## Detailed Description

The MolecularFrequencies class is used to compute the molecular frequencies and thermodynamic information.

## Constructor & Destructor Documentation

sc::MolecularFrequencies::MolecularFrequencies | ( | const Ref< KeyVal > & |  | ) |

The KeyVal constructor.

`mole`

  A MolecularEnergy object. If this is not given then molecule must be given.

`molecule`

  A Molecule object. If this is not given then mole must be given.

`point_group`

  A PointGroup object. This is the point group used to compute the finite displacements. Since some MolecularEnergy objects cannot handle changes in the molecule's point group, the molecule must be given symmetry for frequency calculations. In this case, the point_group keyword can be given to reduce number of the displacements needed to compute the frequencies. If this is not given then the point group of the molecule is used.

`debug`

  An integer which, if nonzero, will cause extra output.

`displacement`

  The amount that coordinates will be displaced. The default is 0.001.

## Member Function Documentation

double sc::MolecularFrequencies::freq | ( | int | irrep,
|  | int | i
| ) |  | const`[inline]`

Returns the frequency, given the irrep and the index.

compute_frequencies must be called first.

int sc::MolecularFrequencies::nfreq | ( | int | irrep | ) | const`[inline]`

Returns the number of modes in an irrep.

compute_frequencies must be called first.

RefSCMatrix sc::MolecularFrequencies::normal_coordinates | ( |  | ) | `[inline]`

This returns the normal coordinates generated by compute_frequencies.

void sc::MolecularFrequencies::save_data_state | ( | StateOut & |  | ) | `[virtual]`

Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.

This must be implemented by the derived class if the class has data.

Reimplemented from sc::SavableState.

void sc::MolecularFrequencies::thermochemistry | ( | int | degeneracy,
|  | double | temp = `298.15`,
|  | double | pres = `1.0`
| ) |  |

Computes thermochemical information using information generated by calling compute_frequencies first.

The documentation for this class was generated from the following file:

- molfreq.h