<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>sc::CartMolecularCoor class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Generated by Doxygen 1.2.5 on Mon Oct 14 14:16:44 2002 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>sc::CartMolecularCoor Class Reference</h1>The <a class="el" href="class_sc__CartMolecularCoor.html">CartMolecularCoor</a> class implements Cartesian coordinates in a way suitable for use in geometry optimizations. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="coor_h-source.html">coor.h</a>></code> <p> Inheritance diagram for sc::CartMolecularCoor<p><center><img src="class_sc__CartMolecularCoor_inherit_graph.gif" border="0" usemap="#sc::CartMolecularCoor_inherit_map" alt="Inheritance graph"></center> <map name="sc::CartMolecularCoor_inherit_map"> <area href="class_sc__MolecularCoor.html" shape="rect" coords="26,280,138,299"> <area href="class_sc__SavableState.html" shape="rect" coords="31,213,133,232"> <area href="class_sc__DescribedClass.html" shape="rect" coords="25,147,139,165"> <area href="class_sc__RefCount.html" shape="rect" coords="41,80,123,99"> <area href="class_sc__Identity.html" shape="rect" coords="46,13,118,32"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for sc::CartMolecularCoor:<p><center><img src="class_sc__CartMolecularCoor_coll_graph.gif" border="0" usemap="#sc::CartMolecularCoor_coll_map" alt="Collaboration graph"></center> <map name="sc::CartMolecularCoor_coll_map"> <area href="class_sc__MolecularCoor.html" shape="rect" coords="231,320,343,339"> <area href="class_sc__SavableState.html" shape="rect" coords="21,238,122,256"> <area href="class_sc__DescribedClass.html" shape="rect" coords="14,152,129,171"> <area href="class_sc__RefCount.html" shape="rect" coords="30,83,113,102"> <area href="class_sc__Identity.html" shape="rect" coords="35,14,107,32"> <area href="class_sc__Ref.html" shape="rect" coords="109,195,231,214"> <area href="class_sc__RefBase.html" shape="rect" coords="287,83,365,102"> <area href="class_sc__Ref.html" shape="rect" coords="255,195,397,214"> <area href="class_sc__Ref.html" shape="rect" coords="365,152,511,171"> <area href="class_sc__RefSCDimension.html" shape="rect" coords="381,238,506,256"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_sc__CartMolecularCoor-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> <tr><td colspan=2><br><h2>Public Methods</h2></td></tr> <tr><td nowrap align=right valign=top><a name="a0" doxytag="sc::CartMolecularCoor::CartMolecularCoor"></a> </td><td valign=bottom><b>CartMolecularCoor</b> (<a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__Molecule.html">Molecule</a> > &mol)</td></tr> <tr><td nowrap align=right valign=top><a name="a1" doxytag="sc::CartMolecularCoor::CartMolecularCoor"></a> </td><td valign=bottom><b>CartMolecularCoor</b> (<a class="el" href="class_sc__StateIn.html">StateIn</a> &)</td></tr> <tr><td nowrap align=right valign=top><a name="a2" doxytag="sc::CartMolecularCoor::CartMolecularCoor"></a> </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#a2">CartMolecularCoor</a> (const <a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__KeyVal.html">KeyVal</a> > &)</td></tr> <tr><td> </td><td><font size=-1><em>The <a class="el" href="class_sc__KeyVal.html">KeyVal</a> constructor.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a3" doxytag="sc::CartMolecularCoor::~CartMolecularCoor"></a> virtual </td><td valign=bottom><b>~CartMolecularCoor</b> ()</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#a4">save_data_state</a> (<a class="el" href="class_sc__StateOut.html">StateOut</a> &)</td></tr> <tr><td> </td><td><font size=-1><em>Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="class_sc__StateIn.html">StateIn</a> CTOR initializes them.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a5" doxytag="sc::CartMolecularCoor::dim"></a> virtual <a class="el" href="class_sc__RefSCDimension.html">RefSCDimension</a> </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#a5">dim</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>These implement the virtual functions inherited from <a class="el" href="class_sc__MolecularCoor.html">MolecularCoor</a>.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a6" doxytag="sc::CartMolecularCoor::to_cartesian"></a> virtual int </td><td valign=bottom><b>to_cartesian</b> (const <a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__Molecule.html">Molecule</a> > &,const <a class="el" href="class_sc__RefSCVector.html">RefSCVector</a> &internal)</td></tr> <tr><td nowrap align=right valign=top>virtual int </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#a7">to_internal</a> (<a class="el" href="class_sc__RefSCVector.html">RefSCVector</a> &internal)</td></tr> <tr><td> </td><td><font size=-1><em>Fill in the vector ``internal'' with the current internal coordinates.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>virtual int </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#a8">to_cartesian</a> (<a class="el" href="class_sc__RefSCVector.html">RefSCVector</a> &cartesian, <a class="el" href="class_sc__RefSCVector.html">RefSCVector</a> &internal)</td></tr> <tr><td> </td><td><font size=-1><em>Convert the internal coordinate gradients in ``internal'' to Cartesian coordinates and copy these Cartesian coordinate gradients to ``cartesian''.</em> <a href="#a8">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>virtual int </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#a9">to_internal</a> (<a class="el" href="class_sc__RefSCVector.html">RefSCVector</a> &internal, <a class="el" href="class_sc__RefSCVector.html">RefSCVector</a> &cartesian)</td></tr> <tr><td> </td><td><font size=-1><em>Convert the Cartesian coordinate gradients in ``cartesian'' to internal coordinates and copy these internal coordinate gradients to ``internal''.</em> <a href="#a9">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>virtual int </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#a10">to_cartesian</a> (<a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> &cart, <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> &internal)</td></tr> <tr><td> </td><td><font size=-1><em>Convert the internal coordinate Hessian ``internal'' to Cartesian coordinates and copy the result to ``cartesian''.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>virtual int </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#a11">to_internal</a> (<a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> &internal, <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> &cart)</td></tr> <tr><td> </td><td><font size=-1><em>Convert the Cartesian coordinate Hessian ``cartesian'' to internal coordinates and copy the result to ``internal''.</em> <a href="#a11">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a12" doxytag="sc::CartMolecularCoor::print"></a> virtual void </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#a12">print</a> (std::ostream &=ExEnv::out0()) const</td></tr> <tr><td> </td><td><font size=-1><em>Print the coordinate.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a13" doxytag="sc::CartMolecularCoor::print_simples"></a> virtual void </td><td valign=bottom><b>print_simples</b> (std::ostream &=ExEnv::out0()) const</td></tr> <tr><td nowrap align=right valign=top><a name="a14" doxytag="sc::CartMolecularCoor::guess_hessian"></a> void </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#a14">guess_hessian</a> (<a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> &hessian)</td></tr> <tr><td> </td><td><font size=-1><em>Calculate an approximate hessian and place the result in ``hessian''.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#a15">inverse_hessian</a> (<a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> &)</td></tr> <tr><td> </td><td><font size=-1><em>Given an Hessian, return the inverse of that hessian.</em> <a href="#a15">More...</a><em></em></font><br><br></td></tr> <tr><td colspan=2><br><h2>Protected Methods</h2></td></tr> <tr><td nowrap align=right valign=top><a name="b0" doxytag="sc::CartMolecularCoor::init"></a> virtual void </td><td valign=bottom><a class="el" href="class_sc__CartMolecularCoor.html#b0">init</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Initializes the dimensions.</em></font><br><br></td></tr> <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr> <tr><td nowrap align=right valign=top><a name="n0" doxytag="sc::CartMolecularCoor::dim_"></a> <a class="el" href="class_sc__RefSCDimension.html">RefSCDimension</a> </td><td valign=bottom><b>dim_</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="class_sc__CartMolecularCoor.html">CartMolecularCoor</a> class implements Cartesian coordinates in a way suitable for use in geometry optimizations. <p> <a class="el" href="class_sc__CartMolecularCoor.html">CartMolecularCoor</a> is a <a class="el" href="class_sc__SavableState.html">SavableState</a> has <a class="el" href="class_sc__StateIn.html">StateIn</a> and <a class="el" href="class_sc__KeyVal.html">KeyVal</a> constructors. <a class="el" href="class_sc__CartMolecularCoor.html">CartMolecularCoor</a> is derived from <a class="el" href="class_sc__MolecularCoor.html">MolecularCoor</a>. <p> <hr><h2>Member Function Documentation</h2> <a name="a15" doxytag="sc::CartMolecularCoor::inverse_hessian"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> sc::CartMolecularCoor::inverse_hessian ( </b></td> <td valign="bottom"><b> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> & )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Given an Hessian, return the inverse of that hessian. <p> For singular matrices this should return the generalized inverse. <p> Reimplemented from <a class="el" href="class_sc__MolecularCoor.html#a18">sc::MolecularCoor</a>. </td> </tr> </table> <a name="a4" doxytag="sc::CartMolecularCoor::save_data_state"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> void sc::CartMolecularCoor::save_data_state ( </b></td> <td valign="bottom"><b> <a class="el" href="class_sc__StateOut.html">StateOut</a> & <em>s</em> )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="class_sc__StateIn.html">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="class_sc__MolecularCoor.html#a4">sc::MolecularCoor</a>. </td> </tr> </table> <a name="a10" doxytag="sc::CartMolecularCoor::to_cartesian"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> virtual int sc::CartMolecularCoor::to_cartesian ( </b></td> <td valign="bottom"><b> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> & <em>cart</em>, </b></td> </tr> <tr> <td></td> <td><b> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> & <em>internal</em> )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <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> Reimplemented from <a class="el" href="class_sc__MolecularCoor.html#a15">sc::MolecularCoor</a>. </td> </tr> </table> <a name="a8" doxytag="sc::CartMolecularCoor::to_cartesian"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> virtual int sc::CartMolecularCoor::to_cartesian ( </b></td> <td valign="bottom"><b> <a class="el" href="class_sc__RefSCVector.html">RefSCVector</a> & <em>cartesian</em>, </b></td> </tr> <tr> <td></td> <td><b> <a class="el" href="class_sc__RefSCVector.html">RefSCVector</a> & <em>internal</em> )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <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> Reimplemented from <a class="el" href="class_sc__MolecularCoor.html#a13">sc::MolecularCoor</a>. </td> </tr> </table> <a name="a11" doxytag="sc::CartMolecularCoor::to_internal"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> virtual int sc::CartMolecularCoor::to_internal ( </b></td> <td valign="bottom"><b> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> & <em>internal</em>, </b></td> </tr> <tr> <td></td> <td><b> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> & <em>cart</em> )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <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> Reimplemented from <a class="el" href="class_sc__MolecularCoor.html#a16">sc::MolecularCoor</a>. </td> </tr> </table> <a name="a9" doxytag="sc::CartMolecularCoor::to_internal"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> virtual int sc::CartMolecularCoor::to_internal ( </b></td> <td valign="bottom"><b> <a class="el" href="class_sc__RefSCVector.html">RefSCVector</a> & <em>internal</em>, </b></td> </tr> <tr> <td></td> <td><b> <a class="el" href="class_sc__RefSCVector.html">RefSCVector</a> & <em>cartesian</em> )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <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> Reimplemented from <a class="el" href="class_sc__MolecularCoor.html#a14">sc::MolecularCoor</a>. </td> </tr> </table> <a name="a7" doxytag="sc::CartMolecularCoor::to_internal"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> virtual int sc::CartMolecularCoor::to_internal ( </b></td> <td valign="bottom"><b> <a class="el" href="class_sc__RefSCVector.html">RefSCVector</a> & <em>internal</em> )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <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> Reimplemented from <a class="el" href="class_sc__MolecularCoor.html#a12">sc::MolecularCoor</a>. </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="coor_h-source.html">coor.h</a></ul> <hr> <address> <small> Generated at Mon Oct 14 14:16:45 2002 for <a href="http://aros.ca.sandia.gov/~cljanss/mpqc">MPQC</a> 2.1.2 using the documentation package <a href="http://www.stack.nl/~dimitri/doxygen/index.html">Doxygen</a> 1.2.5. </small> </address> </body> </html>