<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>MPQC: sc::MolecularFrequencies Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1MolecularFrequencies.html">MolecularFrequencies</a> </div> </div> <div class="contents"> <h1>sc::MolecularFrequencies Class Reference</h1><!-- doxytag: class="sc::MolecularFrequencies" --><!-- doxytag: inherits="sc::SavableState" -->The <a class="el" href="classsc_1_1MolecularFrequencies.html" title="The MolecularFrequencies class is used to compute the molecular frequencies and thermodynamic...">MolecularFrequencies</a> class is used to compute the molecular frequencies and thermodynamic information. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="molfreq_8h_source.html">molfreq.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for sc::MolecularFrequencies:</div> <div class="dynsection"> <p><center><img src="classsc_1_1MolecularFrequencies.png" usemap="#sc::MolecularFrequencies_map" border="0" alt=""></center> <map name="sc::MolecularFrequencies_map"> <area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="0,168,158,192"> <area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,158,136"> <area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,158,80"> <area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,158,24"> </map> </div> <p> <a href="classsc_1_1MolecularFrequencies-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularFrequencies.html#94787cb4e8ce03a318898c308f623641">MolecularFrequencies</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> > &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">KeyVal</a> constructor. <a href="#94787cb4e8ce03a318898c308f623641"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96abdcd93db6aa394b9892c5f0ff6d8e"></a><!-- doxytag: member="sc::MolecularFrequencies::MolecularFrequencies" ref="96abdcd93db6aa394b9892c5f0ff6d8e" args="(StateIn &)" --> </td><td class="memItemRight" valign="bottom"><b>MolecularFrequencies</b> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularFrequencies.html#7b8e5f53f1d841f140766d4d80af4db8">save_data_state</a> (<a class="el" href="classsc_1_1StateOut.html">StateOut</a> &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them. <a href="#7b8e5f53f1d841f140766d4d80af4db8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9136cea85c1d662ab3c2cf93e3c89462"></a><!-- doxytag: member="sc::MolecularFrequencies::molecule" ref="9136cea85c1d662ab3c2cf93e3c89462" args="() const " --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1Molecule.html">Molecule</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularFrequencies.html#9136cea85c1d662ab3c2cf93e3c89462">molecule</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the molecule. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd378b64cab7fd9c719e83da9baadb11"></a><!-- doxytag: member="sc::MolecularFrequencies::compute_frequencies" ref="fd378b64cab7fd9c719e83da9baadb11" args="(const RefSymmSCMatrix &xhessian)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularFrequencies.html#fd378b64cab7fd9c719e83da9baadb11">compute_frequencies</a> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &xhessian)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Given a cartesian coordinate hessian, compute the frequencies. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="202d1f920254eb951362b0ad79395665"></a><!-- doxytag: member="sc::MolecularFrequencies::nirrep" ref="202d1f920254eb951362b0ad79395665" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularFrequencies.html#202d1f920254eb951362b0ad79395665">nirrep</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number if irreps. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularFrequencies.html#3bd2e6532a653c9f32ac63c18582d02b">nfreq</a> (int irrep) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of modes in an irrep. <a href="#3bd2e6532a653c9f32ac63c18582d02b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularFrequencies.html#e2e9ce6d7482efc305602fcb2282f965">freq</a> (int irrep, int i) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the frequency, given the irrep and the index. <a href="#e2e9ce6d7482efc305602fcb2282f965"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularFrequencies.html#37d05f2f22d7503a5f651cd665b4a7de">normal_coordinates</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This returns the normal coordinates generated by compute_frequencies. <a href="#37d05f2f22d7503a5f651cd665b4a7de"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularFrequencies.html#8b8af5cc4f9e8861dfa914196ebd8f8f">thermochemistry</a> (int degeneracy, double temp=298.15, double pres=1.0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Computes thermochemical information using information generated by calling compute_frequencies first. <a href="#8b8af5cc4f9e8861dfa914196ebd8f8f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f564e86a37300569887b59177bb7f55"></a><!-- doxytag: member="sc::MolecularFrequencies::animate" ref="6f564e86a37300569887b59177bb7f55" args="(const Ref< Render > &, const Ref< MolFreqAnimate > &)" --> void </td><td class="memItemRight" valign="bottom"><b>animate</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>< Render > &, const <a class="el" href="classsc_1_1Ref.html">Ref</a>< MolFreqAnimate > &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f09c43041b09d18128d1c99e5e80fd8b"></a><!-- doxytag: member="sc::MolecularFrequencies::matrixkit" ref="f09c43041b09d18128d1c99e5e80fd8b" args="()" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> > </td><td class="memItemRight" valign="bottom"><b>matrixkit</b> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9180e85dc8055409ea7e4ec7c5fb5c39"></a><!-- doxytag: member="sc::MolecularFrequencies::symmatrixkit" ref="9180e85dc8055409ea7e4ec7c5fb5c39" args="()" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> > </td><td class="memItemRight" valign="bottom"><b>symmatrixkit</b> ()</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="classsc_1_1MolecularFrequencies.html" title="The MolecularFrequencies class is used to compute the molecular frequencies and thermodynamic...">MolecularFrequencies</a> class is used to compute the molecular frequencies and thermodynamic information. <p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="94787cb4e8ce03a318898c308f623641"></a><!-- doxytag: member="sc::MolecularFrequencies::MolecularFrequencies" ref="94787cb4e8ce03a318898c308f623641" args="(const Ref< KeyVal > &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">sc::MolecularFrequencies::MolecularFrequencies </td> <td>(</td> <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> > & </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> The <a class="el" href="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">KeyVal</a> constructor. <p> <dl> <dt><code>mole</code></dt> <dd>A <a class="el" href="classsc_1_1MolecularEnergy.html" title="The MolecularEnergy abstract class inherits from the Function class.">MolecularEnergy</a> object. If this is not given then molecule must be given.<p> </dd> <dt><code>molecule</code></dt> <dd>A <a class="el" href="classsc_1_1Molecule.html" title="The Molecule class contains information about molecules.">Molecule</a> object. If this is not given then mole must be given.<p> </dd> <dt><code>point_group</code></dt> <dd>A <a class="el" href="classsc_1_1PointGroup.html" title="The PointGroup class is really a place holder for a CharacterTable.">PointGroup</a> object. This is the point group used to compute the finite displacements. Since some <a class="el" href="classsc_1_1MolecularEnergy.html" title="The MolecularEnergy abstract class inherits from the Function class.">MolecularEnergy</a> objects cannot handle changes in the molecule's point group, the molecule must be given <img class="formulaInl" alt="$C_1$" src="form_10.png"> 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.<p> </dd> <dt><code>debug</code></dt> <dd>An integer which, if nonzero, will cause extra output.<p> </dd> <dt><code>displacement</code></dt> <dd>The amount that coordinates will be displaced. The default is 0.001.<p> </dd> </dl> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="e2e9ce6d7482efc305602fcb2282f965"></a><!-- doxytag: member="sc::MolecularFrequencies::freq" ref="e2e9ce6d7482efc305602fcb2282f965" args="(int irrep, int i) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double sc::MolecularFrequencies::freq </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>irrep</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>i</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the frequency, given the irrep and the index. <p> compute_frequencies must be called first. </div> </div><p> <a class="anchor" name="3bd2e6532a653c9f32ac63c18582d02b"></a><!-- doxytag: member="sc::MolecularFrequencies::nfreq" ref="3bd2e6532a653c9f32ac63c18582d02b" args="(int irrep) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int sc::MolecularFrequencies::nfreq </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>irrep</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the number of modes in an irrep. <p> compute_frequencies must be called first. </div> </div><p> <a class="anchor" name="37d05f2f22d7503a5f651cd665b4a7de"></a><!-- doxytag: member="sc::MolecularFrequencies::normal_coordinates" ref="37d05f2f22d7503a5f651cd665b4a7de" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> sc::MolecularFrequencies::normal_coordinates </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> This returns the normal coordinates generated by compute_frequencies. <p> </div> </div><p> <a class="anchor" name="7b8e5f53f1d841f140766d4d80af4db8"></a><!-- doxytag: member="sc::MolecularFrequencies::save_data_state" ref="7b8e5f53f1d841f140766d4d80af4db8" args="(StateOut &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::MolecularFrequencies::save_data_state </td> <td>(</td> <td class="paramtype"><a class="el" href="classsc_1_1StateOut.html">StateOut</a> & </td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them. <p> This must be implemented by the derived class if the class has data. <p>Reimplemented from <a class="el" href="classsc_1_1SavableState.html#f9e0c212322d3c0f43e2dcb33e111acf">sc::SavableState</a>.</p> </div> </div><p> <a class="anchor" name="8b8af5cc4f9e8861dfa914196ebd8f8f"></a><!-- doxytag: member="sc::MolecularFrequencies::thermochemistry" ref="8b8af5cc4f9e8861dfa914196ebd8f8f" args="(int degeneracy, double temp=298.15, double pres=1.0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::MolecularFrequencies::thermochemistry </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>degeneracy</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>temp</em> = <code>298.15</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>pres</em> = <code>1.0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Computes thermochemical information using information generated by calling compute_frequencies first. <p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="molfreq_8h_source.html">molfreq.h</a></ul> </div> <hr> <address> <small> Generated at Wed Oct 14 14:12:13 2009 for <a href="http://www.mpqc.org">MPQC</a> 2.3.1 using the documentation package <a href="http://www.doxygen.org">Doxygen</a> 1.5.9. </small> </address> </body> </html>