Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 247b28499c443e092731ffba814075f2 > files > 430

mpqc-html-2.3.1-9mdv2010.0.i586.rpm

<!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::MolecularCoor 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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;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&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1MolecularCoor.html">MolecularCoor</a>
  </div>
</div>
<div class="contents">
<h1>sc::MolecularCoor Class Reference</h1><!-- doxytag: class="sc::MolecularCoor" --><!-- doxytag: inherits="sc::SavableState" -->The <a class="el" href="classsc_1_1MolecularCoor.html" title="The MolecularCoor abstract class describes the coordinate system used to describe...">MolecularCoor</a> abstract class describes the coordinate system used to describe a molecule.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="coor_8h_source.html">coor.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for sc::MolecularCoor:</div>
<div class="dynsection">

<p><center><img src="classsc_1_1MolecularCoor.png" usemap="#sc::MolecularCoor_map" border="0" alt=""></center>
<map name="sc::MolecularCoor_map">
<area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="84,168,243,192">
<area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="84,112,243,136">
<area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="84,56,243,80">
<area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="84,0,243,24">
<area href="classsc_1_1CartMolecularCoor.html" alt="sc::CartMolecularCoor" shape="rect" coords="0,280,159,304">
<area href="classsc_1_1IntMolecularCoor.html" alt="sc::IntMolecularCoor" shape="rect" coords="169,280,328,304">
<area href="classsc_1_1RedundMolecularCoor.html" alt="sc::RedundMolecularCoor" shape="rect" coords="84,336,243,360">
<area href="classsc_1_1SymmMolecularCoor.html" alt="sc::SymmMolecularCoor" shape="rect" coords="253,336,412,360">
</map>
</div>

<p>
<a href="classsc_1_1MolecularCoor-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"><a class="anchor" name="0cbae35c88cef655ff85951bf2a70ddb"></a><!-- doxytag: member="sc::MolecularCoor::MolecularCoor" ref="0cbae35c88cef655ff85951bf2a70ddb" args="(Ref&lt; Molecule &gt; &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>MolecularCoor</b> (<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Molecule.html">Molecule</a> &gt; &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7888f19043c39e1a724a8c386ac4f3f1"></a><!-- doxytag: member="sc::MolecularCoor::MolecularCoor" ref="7888f19043c39e1a724a8c386ac4f3f1" args="(StateIn &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>MolecularCoor</b> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#437fd51e976b04977253deb20118831a">MolecularCoor</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> &gt; &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#437fd51e976b04977253deb20118831a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#8f470ddfd0fce4d003edd0a2e46e66bb">save_data_state</a> (<a class="el" href="classsc_1_1StateOut.html">StateOut</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#8f470ddfd0fce4d003edd0a2e46e66bb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#5fc5a6d43e18eef10cf5aa935e5288ac">dim_natom3</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a smart reference to an <a class="el" href="classsc_1_1SCDimension.html" title="The SCDimension class is used to determine the size and blocking of matrices.">SCDimension</a> equal to the number of atoms in the molecule times 3.  <a href="#5fc5a6d43e18eef10cf5aa935e5288ac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68da761e347a750cfe78dd0a88efd303"></a><!-- doxytag: member="sc::MolecularCoor::molecule" ref="68da761e347a750cfe78dd0a88efd303" args="() const " -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Molecule.html">Molecule</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#68da761e347a750cfe78dd0a88efd303">molecule</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the molecule. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e812a148b0daff55c1df8eaec602b45"></a><!-- doxytag: member="sc::MolecularCoor::print" ref="5e812a148b0daff55c1df8eaec602b45" args="(std::ostream &amp;=ExEnv::out0()) const =0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#5e812a148b0daff55c1df8eaec602b45">print</a> (std::ostream &amp;=ExEnv::out0()) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print the coordinate. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b5ac46d36776b9414393d3344909c5bc"></a><!-- doxytag: member="sc::MolecularCoor::print_simples" ref="b5ac46d36776b9414393d3344909c5bc" args="(std::ostream &amp;=ExEnv::out0()) const =0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>print_simples</b> (std::ostream &amp;=ExEnv::out0()) const =0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#e20bdd64024c7f3f2b8094eefacc7e75">dim</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a smart reference to an <a class="el" href="classsc_1_1SCDimension.html" title="The SCDimension class is used to determine the size and blocking of matrices.">SCDimension</a> equal to the number of coordinates (be they Cartesian, internal, or whatever) that are being optimized.  <a href="#e20bdd64024c7f3f2b8094eefacc7e75"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#c234658f57d5212978052ba0a2caf149">to_cartesian</a> (const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;internal)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a set of displaced internal coordinates, update the cartesian coordinates of the <a class="el" href="classsc_1_1Molecule.html" title="The Molecule class contains information about molecules.">Molecule</a> contained herein.  <a href="#c234658f57d5212978052ba0a2caf149"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b1c2371e83b2ef2a9f931f6620482b3"></a><!-- doxytag: member="sc::MolecularCoor::to_cartesian" ref="6b1c2371e83b2ef2a9f931f6620482b3" args="(const Ref&lt; Molecule &gt; &amp;mol, const RefSCVector &amp;internal)=0" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>to_cartesian</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Molecule.html">Molecule</a> &gt; &amp;mol, const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;internal)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#051e2b86547707e1159e2bcfe689b7b2">to_internal</a> (<a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;internal)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill in the vector ``internal'' with the current internal coordinates.  <a href="#051e2b86547707e1159e2bcfe689b7b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#4b4e9a86ad34d29ef2aad83c9945ca3d">to_cartesian</a> (<a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;cartesian, <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;internal)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert the internal coordinate gradients in ``internal'' to Cartesian coordinates and copy these Cartesian coordinate gradients to ``cartesian''.  <a href="#4b4e9a86ad34d29ef2aad83c9945ca3d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#18c3ba45c3385d5bd5da4016e9e759d2">to_internal</a> (<a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;internal, <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;cartesian)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert the Cartesian coordinate gradients in ``cartesian'' to internal coordinates and copy these internal coordinate gradients to ``internal''.  <a href="#18c3ba45c3385d5bd5da4016e9e759d2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#59a92948dee19c878d373effcfef2790">to_cartesian</a> (<a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;cartesian, <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;internal)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert the internal coordinate Hessian ``internal'' to Cartesian coordinates and copy the result to ``cartesian''.  <a href="#59a92948dee19c878d373effcfef2790"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#bd3e76e31e1adfdc7844f26af3e8d726">to_internal</a> (<a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;internal, <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;cartesian)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert the Cartesian coordinate Hessian ``cartesian'' to internal coordinates and copy the result to ``internal''.  <a href="#bd3e76e31e1adfdc7844f26af3e8d726"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#ea8b31d1d1cadd406a3144386c9ff319">guess_hessian</a> (<a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;hessian)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate an approximate hessian and place the result in ``hessian''.  <a href="#ea8b31d1d1cadd406a3144386c9ff319"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#a949edd8c4255cd315ac6941df1d11cd">inverse_hessian</a> (<a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given an Hessian, return the inverse of that hessian.  <a href="#a949edd8c4255cd315ac6941df1d11cd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b3263836a90a58f4f0e8687d41cdb38"></a><!-- doxytag: member="sc::MolecularCoor::nconstrained" ref="0b3263836a90a58f4f0e8687d41cdb38" args="()" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#0b3263836a90a58f4f0e8687d41cdb38">nconstrained</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of constrained coordinates. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1NonlinearTransform.html">NonlinearTransform</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MolecularCoor.html#873e195bb693f0a273c747faab9efac8">change_coordinates</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">When this is called, MoleculeCoor may select a new internal coordinate system and return a transform to it.  <a href="#873e195bb693f0a273c747faab9efac8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2416893c28f8f590053c6eeb90d1efac"></a><!-- doxytag: member="sc::MolecularCoor::matrixkit" ref="2416893c28f8f590053c6eeb90d1efac" args="() const " -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>matrixkit</b> () const </td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a65c40521fa47607f97f03a4945c382e"></a><!-- doxytag: member="sc::MolecularCoor::molecule_" ref="a65c40521fa47607f97f03a4945c382e" args="" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Molecule.html">Molecule</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>molecule_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="09f5e539b8672684fb98270f80f44bc0"></a><!-- doxytag: member="sc::MolecularCoor::dnatom3_" ref="09f5e539b8672684fb98270f80f44bc0" args="" -->
<a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>dnatom3_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="241ba8fa1e93cbbeaf1c4d46d73cb1e0"></a><!-- doxytag: member="sc::MolecularCoor::matrixkit_" ref="241ba8fa1e93cbbeaf1c4d46d73cb1e0" args="" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>matrixkit_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f62cf8afd59558f8d049536866665c69"></a><!-- doxytag: member="sc::MolecularCoor::debug_" ref="f62cf8afd59558f8d049536866665c69" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>debug_</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="classsc_1_1MolecularCoor.html" title="The MolecularCoor abstract class describes the coordinate system used to describe...">MolecularCoor</a> abstract class describes the coordinate system used to describe a molecule. 
<p>
It is used to convert a molecule's cartesian coordinates to and from this coordinate system. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="437fd51e976b04977253deb20118831a"></a><!-- doxytag: member="sc::MolecularCoor::MolecularCoor" ref="437fd51e976b04977253deb20118831a" args="(const Ref&lt; KeyVal &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sc::MolecularCoor::MolecularCoor           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> &gt; &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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>molecule</code></dt>
<dd>A <a class="el" href="classsc_1_1Molecule.html" title="The Molecule class contains information about molecules.">Molecule</a> object. There is no default.<p>
</dd>
<dt><code>debug</code></dt>
<dd>An integer which, if nonzero, will cause extra output.<p>
</dd>
<dt><code>matrixkit</code></dt>
<dd>A <a class="el" href="classsc_1_1SCMatrixKit.html" title="The SCMatrixKit abstract class acts as a factory for producing matrices.">SCMatrixKit</a> object. It is usually unnecessary to give this keyword.<p>
</dd>
<dt><code>natom3</code></dt>
<dd>An <a class="el" href="classsc_1_1SCDimension.html" title="The SCDimension class is used to determine the size and blocking of matrices.">SCDimension</a> object for the dimension of the vector of cartesian coordinates. It is usually unnecessary to give this keyword.<p>
</dd>
</dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="873e195bb693f0a273c747faab9efac8"></a><!-- doxytag: member="sc::MolecularCoor::change_coordinates" ref="873e195bb693f0a273c747faab9efac8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt;<a class="el" href="classsc_1_1NonlinearTransform.html">NonlinearTransform</a>&gt; sc::MolecularCoor::change_coordinates           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
When this is called, MoleculeCoor may select a new internal coordinate system and return a transform to it. 
<p>
The default action is to not change anything and return an <a class="el" href="classsc_1_1IdentityTransform.html" title="The IdentityTransform is a special case of NonlinearTransform were no transformation...">IdentityTransform</a>. 
<p>Reimplemented in <a class="el" href="classsc_1_1SymmMolecularCoor.html#725dbd9d25fe74220e1c7c62fa5c6ed9">sc::SymmMolecularCoor</a>.</p>

</div>
</div><p>
<a class="anchor" name="e20bdd64024c7f3f2b8094eefacc7e75"></a><!-- doxytag: member="sc::MolecularCoor::dim" ref="e20bdd64024c7f3f2b8094eefacc7e75" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a> sc::MolecularCoor::dim           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a smart reference to an <a class="el" href="classsc_1_1SCDimension.html" title="The SCDimension class is used to determine the size and blocking of matrices.">SCDimension</a> equal to the number of coordinates (be they Cartesian, internal, or whatever) that are being optimized. 
<p>

<p>Implemented in <a class="el" href="classsc_1_1IntMolecularCoor.html#bd7aa208768aa7d73c4c297afa71c4ee">sc::IntMolecularCoor</a>, and <a class="el" href="classsc_1_1CartMolecularCoor.html#50305d824154f4bc5eae0c79a22e9bd9">sc::CartMolecularCoor</a>.</p>

</div>
</div><p>
<a class="anchor" name="5fc5a6d43e18eef10cf5aa935e5288ac"></a><!-- doxytag: member="sc::MolecularCoor::dim_natom3" ref="5fc5a6d43e18eef10cf5aa935e5288ac" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a> sc::MolecularCoor::dim_natom3           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a smart reference to an <a class="el" href="classsc_1_1SCDimension.html" title="The SCDimension class is used to determine the size and blocking of matrices.">SCDimension</a> equal to the number of atoms in the molecule times 3. 
<p>

</div>
</div><p>
<a class="anchor" name="ea8b31d1d1cadd406a3144386c9ff319"></a><!-- doxytag: member="sc::MolecularCoor::guess_hessian" ref="ea8b31d1d1cadd406a3144386c9ff319" args="(RefSymmSCMatrix &amp;hessian)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc::MolecularCoor::guess_hessian           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>hessian</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate an approximate hessian and place the result in ``hessian''. 
<p>

<p>Implemented in <a class="el" href="classsc_1_1SymmMolecularCoor.html#8cae52410dfbe5938c5140d19cab3f9e">sc::SymmMolecularCoor</a>, <a class="el" href="classsc_1_1RedundMolecularCoor.html#a447a05edf50c341023300c3b76900c3">sc::RedundMolecularCoor</a>, and <a class="el" href="classsc_1_1CartMolecularCoor.html#c7cacb820adafb602439804883b3b305">sc::CartMolecularCoor</a>.</p>

</div>
</div><p>
<a class="anchor" name="a949edd8c4255cd315ac6941df1d11cd"></a><!-- doxytag: member="sc::MolecularCoor::inverse_hessian" ref="a949edd8c4255cd315ac6941df1d11cd" args="(RefSymmSCMatrix &amp;)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> sc::MolecularCoor::inverse_hessian           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Given an Hessian, return the inverse of that hessian. 
<p>
For singular matrices this should return the generalized inverse. 
<p>Implemented in <a class="el" href="classsc_1_1SymmMolecularCoor.html#a4ec750e3f4f0639e9258c17069aa617">sc::SymmMolecularCoor</a>, <a class="el" href="classsc_1_1RedundMolecularCoor.html#d3614085c8e41899cef5becdb1d6aedf">sc::RedundMolecularCoor</a>, and <a class="el" href="classsc_1_1CartMolecularCoor.html#72a7c9a7b9487d58a0a6fb05e89f77c2">sc::CartMolecularCoor</a>.</p>

</div>
</div><p>
<a class="anchor" name="8f470ddfd0fce4d003edd0a2e46e66bb"></a><!-- doxytag: member="sc::MolecularCoor::save_data_state" ref="8f470ddfd0fce4d003edd0a2e46e66bb" args="(StateOut &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::MolecularCoor::save_data_state           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1StateOut.html">StateOut</a> &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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>

<p>Reimplemented in <a class="el" href="classsc_1_1IntMolecularCoor.html#ba8a0db96971237aad839520e8efeb0b">sc::IntMolecularCoor</a>, <a class="el" href="classsc_1_1SymmMolecularCoor.html#745a15439fab967060259ed08a8fdf91">sc::SymmMolecularCoor</a>, <a class="el" href="classsc_1_1RedundMolecularCoor.html#1f0ed8829beeeea79ef337c359320fa1">sc::RedundMolecularCoor</a>, and <a class="el" href="classsc_1_1CartMolecularCoor.html#c4ce49b4f43abfc06eb0c0334e4204c4">sc::CartMolecularCoor</a>.</p>

</div>
</div><p>
<a class="anchor" name="59a92948dee19c878d373effcfef2790"></a><!-- doxytag: member="sc::MolecularCoor::to_cartesian" ref="59a92948dee19c878d373effcfef2790" args="(RefSymmSCMatrix &amp;cartesian, RefSymmSCMatrix &amp;internal)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::MolecularCoor::to_cartesian           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>cartesian</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>internal</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert the internal coordinate Hessian ``internal'' to Cartesian coordinates and copy the result to ``cartesian''. 
<p>
Only the variable internal coordinate force constants are transformed. 
<p>Implemented in <a class="el" href="classsc_1_1IntMolecularCoor.html#af431a88deca1d6a8abfd0fb73037e14">sc::IntMolecularCoor</a>, and <a class="el" href="classsc_1_1CartMolecularCoor.html#576502f00b7b01b705e00f5a53a6a445">sc::CartMolecularCoor</a>.</p>

</div>
</div><p>
<a class="anchor" name="4b4e9a86ad34d29ef2aad83c9945ca3d"></a><!-- doxytag: member="sc::MolecularCoor::to_cartesian" ref="4b4e9a86ad34d29ef2aad83c9945ca3d" args="(RefSCVector &amp;cartesian, RefSCVector &amp;internal)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::MolecularCoor::to_cartesian           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>cartesian</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>internal</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert the internal coordinate gradients in ``internal'' to Cartesian coordinates and copy these Cartesian coordinate gradients to ``cartesian''. 
<p>
Only the variable internal coordinate gradients are transformed. 
<p>Implemented in <a class="el" href="classsc_1_1IntMolecularCoor.html#d64a4814cb18363af4d481810f4e0867">sc::IntMolecularCoor</a>, and <a class="el" href="classsc_1_1CartMolecularCoor.html#8b5ae4ebdcd5dd141dc1a6ce6bc61776">sc::CartMolecularCoor</a>.</p>

</div>
</div><p>
<a class="anchor" name="c234658f57d5212978052ba0a2caf149"></a><!-- doxytag: member="sc::MolecularCoor::to_cartesian" ref="c234658f57d5212978052ba0a2caf149" args="(const RefSCVector &amp;internal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::MolecularCoor::to_cartesian           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>internal</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Given a set of displaced internal coordinates, update the cartesian coordinates of the <a class="el" href="classsc_1_1Molecule.html" title="The Molecule class contains information about molecules.">Molecule</a> contained herein. 
<p>
This function does not change the vector ``internal''. 
</div>
</div><p>
<a class="anchor" name="bd3e76e31e1adfdc7844f26af3e8d726"></a><!-- doxytag: member="sc::MolecularCoor::to_internal" ref="bd3e76e31e1adfdc7844f26af3e8d726" args="(RefSymmSCMatrix &amp;internal, RefSymmSCMatrix &amp;cartesian)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::MolecularCoor::to_internal           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>internal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>cartesian</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert the Cartesian coordinate Hessian ``cartesian'' to internal coordinates and copy the result to ``internal''. 
<p>
Only the variable internal coordinate force constants are calculated. 
<p>Implemented in <a class="el" href="classsc_1_1IntMolecularCoor.html#d2b4b320c87590497875f1edb7a0c0a1">sc::IntMolecularCoor</a>, and <a class="el" href="classsc_1_1CartMolecularCoor.html#067804e3365d7162aff374bfa27f5357">sc::CartMolecularCoor</a>.</p>

</div>
</div><p>
<a class="anchor" name="18c3ba45c3385d5bd5da4016e9e759d2"></a><!-- doxytag: member="sc::MolecularCoor::to_internal" ref="18c3ba45c3385d5bd5da4016e9e759d2" args="(RefSCVector &amp;internal, RefSCVector &amp;cartesian)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::MolecularCoor::to_internal           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>internal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>cartesian</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert the Cartesian coordinate gradients in ``cartesian'' to internal coordinates and copy these internal coordinate gradients to ``internal''. 
<p>
Only the variable internal coordinate gradients are calculated. 
<p>Implemented in <a class="el" href="classsc_1_1IntMolecularCoor.html#6b0602fe05e7747a0b51e6c3e3eb35b3">sc::IntMolecularCoor</a>, and <a class="el" href="classsc_1_1CartMolecularCoor.html#2adf21323453cb6fc15ebfec7e1fe646">sc::CartMolecularCoor</a>.</p>

</div>
</div><p>
<a class="anchor" name="051e2b86547707e1159e2bcfe689b7b2"></a><!-- doxytag: member="sc::MolecularCoor::to_internal" ref="051e2b86547707e1159e2bcfe689b7b2" args="(RefSCVector &amp;internal)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::MolecularCoor::to_internal           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>internal</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fill in the vector ``internal'' with the current internal coordinates. 
<p>
Note that this member will update the values of the variable internal coordinates. 
<p>Implemented in <a class="el" href="classsc_1_1IntMolecularCoor.html#b5bfec4710f8617431fb2d79f8209691">sc::IntMolecularCoor</a>, and <a class="el" href="classsc_1_1CartMolecularCoor.html#c8722c8cb8d034f4df9b3acc16851ce3">sc::CartMolecularCoor</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="coor_8h_source.html">coor.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>