<!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::SymmMolecularCoor 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:17:57 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::SymmMolecularCoor Class Reference</h1>The <a class="el" href="class_sc__SymmMolecularCoor.html">SymmMolecularCoor</a> class derives from <a class="el" href="class_sc__IntMolecularCoor.html">IntMolecularCoor</a>. <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::SymmMolecularCoor<p><center><img src="class_sc__SymmMolecularCoor_inherit_graph.gif" border="0" usemap="#sc::SymmMolecularCoor_inherit_map" alt="Inheritance graph"></center> <map name="sc::SymmMolecularCoor_inherit_map"> <area href="class_sc__IntMolecularCoor.html" shape="rect" coords="23,347,151,366"> <area href="class_sc__MolecularCoor.html" shape="rect" coords="31,280,143,299"> <area href="class_sc__SavableState.html" shape="rect" coords="37,214,138,232"> <area href="class_sc__DescribedClass.html" shape="rect" coords="30,147,145,166"> <area href="class_sc__RefCount.html" shape="rect" coords="46,80,129,99"> <area href="class_sc__Identity.html" shape="rect" coords="51,14,123,32"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for sc::SymmMolecularCoor:<p><center><img src="class_sc__SymmMolecularCoor_coll_graph.gif" border="0" usemap="#sc::SymmMolecularCoor_coll_map" alt="Collaboration graph"></center> <map name="sc::SymmMolecularCoor_coll_map"> <area href="class_sc__IntMolecularCoor.html" shape="rect" coords="499,499,627,518"> <area href="class_sc__MolecularCoor.html" shape="rect" coords="226,330,338,349"> <area href="class_sc__SavableState.html" shape="rect" coords="21,238,122,257"> <area href="class_sc__DescribedClass.html" shape="rect" coords="14,153,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,33"> <area href="class_sc__Ref.html" shape="rect" coords="114,195,237,214"> <area href="class_sc__RefBase.html" shape="rect" coords="487,83,565,102"> <area href="class_sc__Ref.html" shape="rect" coords="266,195,407,214"> <area href="class_sc__Ref.html" shape="rect" coords="381,153,527,171"> <area href="class_sc__Ref.html" shape="rect" coords="511,330,642,349"> <area href="class_sc__Ref.html" shape="rect" coords="613,281,749,299"> <area href="class_sc__Ref.html" shape="rect" coords="777,281,891,299"> <area href="class_sc__RefSCDimension.html" shape="rect" coords="385,238,510,257"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_sc__SymmMolecularCoor-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::SymmMolecularCoor::SymmMolecularCoor"></a> </td><td valign=bottom><b>SymmMolecularCoor</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::SymmMolecularCoor::SymmMolecularCoor"></a> </td><td valign=bottom><b>SymmMolecularCoor</b> (<a class="el" href="class_sc__StateIn.html">StateIn</a> &)</td></tr> <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="class_sc__SymmMolecularCoor.html#a2">SymmMolecularCoor</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> <a href="#a2">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a3" doxytag="sc::SymmMolecularCoor::~SymmMolecularCoor"></a> virtual </td><td valign=bottom><b>~SymmMolecularCoor</b> ()</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_sc__SymmMolecularCoor.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::SymmMolecularCoor::form_coordinates"></a> void </td><td valign=bottom><a class="el" href="class_sc__SymmMolecularCoor.html#a5">form_coordinates</a> (int keep_variable=0)</td></tr> <tr><td> </td><td><font size=-1><em>Actually form the variable and constant internal coordinates from simple internal coordinates.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a6" doxytag="sc::SymmMolecularCoor::guess_hessian"></a> void </td><td valign=bottom><a class="el" href="class_sc__SymmMolecularCoor.html#a6">guess_hessian</a> (<a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> &hessian)</td></tr> <tr><td> </td><td><font size=-1><em>Form the approximate hessian.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a7" doxytag="sc::SymmMolecularCoor::inverse_hessian"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><a class="el" href="class_sc__SymmMolecularCoor.html#a7">inverse_hessian</a> (<a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> &)</td></tr> <tr><td> </td><td><font size=-1><em>Invert the hessian.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a8" doxytag="sc::SymmMolecularCoor::change_coordinates"></a> <a class="el" href="class_sc__Ref.html">Ref</a><<a class="el" href="class_sc__NonlinearTransform.html">NonlinearTransform</a>> </td><td valign=bottom><a class="el" href="class_sc__SymmMolecularCoor.html#a8">change_coordinates</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>This overrides MoleculeCoor's change_coordinates and might transform to a new set of coordinates.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a9" doxytag="sc::SymmMolecularCoor::print"></a> void </td><td valign=bottom><a class="el" href="class_sc__SymmMolecularCoor.html#a9">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 colspan=2><br><h2>Protected Methods</h2></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_sc__SymmMolecularCoor.html#b0">init</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>This is called by the constructors of classes derived from <a class="el" href="class_sc__IntMolecularCoor.html">IntMolecularCoor</a>.</em> <a href="#b0">More...</a><em></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::SymmMolecularCoor::change_coordinates_"></a> int </td><td valign=bottom><b>change_coordinates_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n1" doxytag="sc::SymmMolecularCoor::transform_hessian_"></a> int </td><td valign=bottom><b>transform_hessian_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n2" doxytag="sc::SymmMolecularCoor::max_kappa2_"></a> double </td><td valign=bottom><b>max_kappa2_</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="class_sc__SymmMolecularCoor.html">SymmMolecularCoor</a> class derives from <a class="el" href="class_sc__IntMolecularCoor.html">IntMolecularCoor</a>. <p> It provides a unique set of totally symmetric internal coordinates. Giving an <a class="el" href="class_sc__MolecularEnergy.html">MolecularEnergy</a> object a coor is usually the best way to optimize a molecular structure. However, for some classes of molecules <a class="el" href="class_sc__SymmMolecularCoor.html">SymmMolecularCoor</a> doesn't work very well. For example, enediyne can cause problems. In these cases, cartesian coordinates (obtained by not giving the <a class="el" href="class_sc__MolecularEnergy.html">MolecularEnergy</a> object the coor keyword) might be better or you can manually specify the coordinates that the <a class="el" href="class_sc__SymmMolecularCoor.html">SymmMolecularCoor</a> object uses with the variable keyword (see the <a class="el" href="class_sc__IntMolecularCoor.html">IntMolecularCoor</a> class description). <p> <hr><h2>Constructor & Destructor Documentation</h2> <a name="a2" doxytag="sc::SymmMolecularCoor::SymmMolecularCoor"></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> sc::SymmMolecularCoor::SymmMolecularCoor ( </b></td> <td valign="bottom"><b> const <a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__KeyVal.html">KeyVal</a> > & ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> The <a class="el" href="class_sc__KeyVal.html">KeyVal</a> constructor. <p> <dl compact> <p> <dt><code>change_coordinates</code><dd> If true, the quality of the internal coordinates will be checked periodically and if they are beginning to become linearly dependent a new set of internal coordinates will be computed. The default is false. <p> <dt><code>max_kappa2</code><dd> A measure of the quality of the internal coordinates. Values of the 2-norm condition, <img align="top" src="form-14.gif"> , larger than max_kappa2 are considered linearly dependent. The default is 10.0. <p> <dt><code>transform_hessian</code><dd> If true, the hessian will be transformed every time the internal coordinates are formed. The default is true. <p> </dl> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a name="b0" doxytag="sc::SymmMolecularCoor::init"></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::SymmMolecularCoor::init ( </b></td> <td valign="bottom"><b> )<code> [protected, virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> This is called by the constructors of classes derived from <a class="el" href="class_sc__IntMolecularCoor.html">IntMolecularCoor</a>. <p> It initialized the lists of simple internal coordinates, and then calls the <a class="el" href="class_sc__SymmMolecularCoor.html#a5">form_coordinates</a>() member. <p> Reimplemented from <a class="el" href="class_sc__IntMolecularCoor.html#b1">sc::IntMolecularCoor</a>. </td> </tr> </table> <a name="a4" doxytag="sc::SymmMolecularCoor::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::SymmMolecularCoor::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__IntMolecularCoor.html#a4">sc::IntMolecularCoor</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:17:58 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>