# sc_MolecularFrequencies man page

sc::MolecularFrequencies — The **MolecularFrequencies** class is used to compute the molecular frequencies and thermodynamic information.

## Synopsis

`#include <molfreq.h>`

Inherits **sc::SavableState**.

### Public Member Functions

MolecularFrequencies(constRef<KeyVal> &)TheKeyValconstructor.MolecularFrequencies(StateIn&)

voidsave_data_state(StateOut&)Save the base classes (with save_data_state) and the members in the same order that theStateInCTOR initializes them.Ref<Molecule>molecule() constReturn the molecule.

voidcompute_frequencies(constRefSymmSCMatrix&xhessian)Given a cartesian coordinate hessian, compute the frequencies.

intnirrep() constReturns the number if irreps.

intnfreq(int irrep) constReturns the number of modes in an irrep.

doublefreq(int irrep, int i) constReturns the frequency, given the irrep and the index.RefSCMatrix normal_coordinates()This returns the normal coordinates generated by compute_frequencies.

voidthermochemistry(int degeneracy, double temp=298.15, double pres=1.0)Computes thermochemical information using information generated by calling compute_frequencies first.

voidanimate(constRef<Render> &, constRef<MolFreqAnimate> &)Ref<SCMatrixKit>matrixkit()Ref<SCMatrixKit>symmatrixkit()

### Additional Inherited Members

## 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 $C_1$ 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.

References thermochemistry().

### 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.

Referenced by normal_coordinates().

## Author

Generated automatically by Doxygen for MPQC from the source code.