<!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::HSOSSCF 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:58 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::HSOSSCF Class Reference</h1>The <a class="el" href="class_sc__HSOSSCF.html">HSOSSCF</a> class is a base for classes implementing a self-consistent procedure for high-spin open-shell molecules. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="hsosscf_h-source.html">hsosscf.h</a>></code> <p> Inheritance diagram for sc::HSOSSCF<p><center><img src="class_sc__HSOSSCF_inherit_graph.gif" border="0" usemap="#sc::HSOSSCF_inherit_map" alt="Inheritance graph"></center> <map name="sc::HSOSSCF_inherit_map"> <area href="class_sc__HSOSHF.html" shape="rect" coords="34,681,117,699"> <area href="class_sc__SCF.html" shape="rect" coords="101,547,157,566"> <area href="class_sc__OneBodyWavefunction.html" shape="rect" coords="50,481,207,499"> <area href="class_sc__Wavefunction.html" shape="rect" coords="75,414,182,433"> <area href="class_sc__MolecularEnergy.html" shape="rect" coords="66,347,191,366"> <area href="class_sc__Function.html" shape="rect" coords="89,281,169,299"> <area href="class_sc__SavableState.html" shape="rect" coords="21,214,122,233"> <area href="class_sc__DescribedClass.html" shape="rect" coords="14,147,129,166"> <area href="class_sc__RefCount.html" shape="rect" coords="30,81,113,99"> <area href="class_sc__Identity.html" shape="rect" coords="35,14,107,33"> <area href="class_sc__Compute.html" shape="rect" coords="146,214,226,233"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for sc::HSOSSCF:<p><center><img src="class_sc__HSOSSCF_coll_graph.gif" border="0" usemap="#sc::HSOSSCF_coll_map" alt="Collaboration graph"></center> <map name="sc::HSOSSCF_coll_map"> <area href="class_sc__SCF.html" shape="rect" coords="302,163,358,182"> <area href="class_sc__RefSymmSCMatrix.html" shape="rect" coords="25,134,163,153"> <area href="class_sc__Ref.html" shape="rect" coords="263,213,397,231"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_sc__HSOSSCF-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::HSOSSCF::HSOSSCF"></a> </td><td valign=bottom><b>HSOSSCF</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__HSOSSCF.html#a1">HSOSSCF</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="#a1">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a2" doxytag="sc::HSOSSCF::~HSOSSCF"></a> </td><td valign=bottom><b>~HSOSSCF</b> ()</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_sc__HSOSSCF.html#a3">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="#a3">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a4" doxytag="sc::HSOSSCF::print"></a> void </td><td valign=bottom><a class="el" href="class_sc__HSOSSCF.html#a4">print</a> (std::ostream &o=ExEnv::out0()) const</td></tr> <tr><td> </td><td><font size=-1><em>Print information about the object.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>double </td><td valign=bottom><a class="el" href="class_sc__HSOSSCF.html#a5">occupation</a> (int irrep, int vectornum)</td></tr> <tr><td> </td><td><font size=-1><em>Returns the occupation.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>double </td><td valign=bottom><a class="el" href="class_sc__HSOSSCF.html#a6">alpha_occupation</a> (int irrep, int vectornum)</td></tr> <tr><td> </td><td><font size=-1><em>Returns the alpha occupation.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>double </td><td valign=bottom><a class="el" href="class_sc__HSOSSCF.html#a7">beta_occupation</a> (int irrep, int vectornum)</td></tr> <tr><td> </td><td><font size=-1><em>Returns the beta occupation.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a8" doxytag="sc::HSOSSCF::n_fock_matrices"></a> int </td><td valign=bottom><b>n_fock_matrices</b> () const</td></tr> <tr><td nowrap align=right valign=top><a name="a9" doxytag="sc::HSOSSCF::fock"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><b>fock</b> (int)</td></tr> <tr><td nowrap align=right valign=top><a name="a10" doxytag="sc::HSOSSCF::effective_fock"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><b>effective_fock</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="a11" doxytag="sc::HSOSSCF::symmetry_changed"></a> void </td><td valign=bottom><a class="el" href="class_sc__HSOSSCF.html#a11">symmetry_changed</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Call this if you have changed the molecular symmetry of the molecule contained by this <a class="el" href="class_sc__MolecularEnergy.html">MolecularEnergy</a>.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a12" doxytag="sc::HSOSSCF::spin_polarized"></a> int </td><td valign=bottom><a class="el" href="class_sc__HSOSSCF.html#a12">spin_polarized</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Return 1 if the alpha density is not equal to the beta density.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a13" doxytag="sc::HSOSSCF::density"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><a class="el" href="class_sc__HSOSSCF.html#a13">density</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Returns the SO density.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a14" doxytag="sc::HSOSSCF::alpha_density"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><a class="el" href="class_sc__HSOSSCF.html#a14">alpha_density</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Return alpha electron densities in the SO basis.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a15" doxytag="sc::HSOSSCF::beta_density"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><a class="el" href="class_sc__HSOSSCF.html#a15">beta_density</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Return beta electron densities in the SO basis.</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::HSOSSCF::set_occupations"></a> void </td><td valign=bottom><b>set_occupations</b> (const <a class="el" href="class_sc__RefDiagSCMatrix.html">RefDiagSCMatrix</a> &evals)</td></tr> <tr><td nowrap align=right valign=top><a name="b1" doxytag="sc::HSOSSCF::init_vector"></a> void </td><td valign=bottom><b>init_vector</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b2" doxytag="sc::HSOSSCF::done_vector"></a> void </td><td valign=bottom><b>done_vector</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b3" doxytag="sc::HSOSSCF::reset_density"></a> void </td><td valign=bottom><b>reset_density</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b4" doxytag="sc::HSOSSCF::new_density"></a> double </td><td valign=bottom><b>new_density</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b5" doxytag="sc::HSOSSCF::scf_energy"></a> double </td><td valign=bottom><b>scf_energy</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b6" doxytag="sc::HSOSSCF::extrap_data"></a> <a class="el" href="class_sc__Ref.html">Ref</a><<a class="el" href="class_sc__SCExtrapData.html">SCExtrapData</a>> </td><td valign=bottom><b>extrap_data</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b7" doxytag="sc::HSOSSCF::init_gradient"></a> void </td><td valign=bottom><b>init_gradient</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b8" doxytag="sc::HSOSSCF::done_gradient"></a> void </td><td valign=bottom><b>done_gradient</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b9" doxytag="sc::HSOSSCF::lagrangian"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><b>lagrangian</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b10" doxytag="sc::HSOSSCF::gradient_density"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><b>gradient_density</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b11" doxytag="sc::HSOSSCF::init_hessian"></a> void </td><td valign=bottom><b>init_hessian</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b12" doxytag="sc::HSOSSCF::done_hessian"></a> void </td><td valign=bottom><b>done_hessian</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="b13" doxytag="sc::HSOSSCF::two_body_deriv_hf"></a> void </td><td valign=bottom><b>two_body_deriv_hf</b> (double *grad, double exchange_fraction)</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::HSOSSCF::most_recent_pg_"></a> <a class="el" href="class_sc__Ref.html">Ref</a><<a class="el" href="class_sc__PointGroup.html">PointGroup</a>> </td><td valign=bottom><b>most_recent_pg_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n1" doxytag="sc::HSOSSCF::user_occupations_"></a> int </td><td valign=bottom><b>user_occupations_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n2" doxytag="sc::HSOSSCF::tndocc_"></a> int </td><td valign=bottom><b>tndocc_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n3" doxytag="sc::HSOSSCF::tnsocc_"></a> int </td><td valign=bottom><b>tnsocc_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n4" doxytag="sc::HSOSSCF::nirrep_"></a> int </td><td valign=bottom><b>nirrep_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n5" doxytag="sc::HSOSSCF::initial_ndocc_"></a> int* </td><td valign=bottom><b>initial_ndocc_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n6" doxytag="sc::HSOSSCF::initial_nsocc_"></a> int* </td><td valign=bottom><b>initial_nsocc_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n7" doxytag="sc::HSOSSCF::ndocc_"></a> int* </td><td valign=bottom><b>ndocc_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n8" doxytag="sc::HSOSSCF::nsocc_"></a> int* </td><td valign=bottom><b>nsocc_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n9" doxytag="sc::HSOSSCF::cl_fock_"></a> ResultRefSymmSCMatrix </td><td valign=bottom><b>cl_fock_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n10" doxytag="sc::HSOSSCF::op_fock_"></a> ResultRefSymmSCMatrix </td><td valign=bottom><b>op_fock_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n11" doxytag="sc::HSOSSCF::cl_dens_"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><b>cl_dens_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n12" doxytag="sc::HSOSSCF::cl_dens_diff_"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><b>cl_dens_diff_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n13" doxytag="sc::HSOSSCF::cl_gmat_"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><b>cl_gmat_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n14" doxytag="sc::HSOSSCF::op_dens_"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><b>op_dens_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n15" doxytag="sc::HSOSSCF::op_dens_diff_"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><b>op_dens_diff_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n16" doxytag="sc::HSOSSCF::op_gmat_"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><b>op_gmat_</b></td></tr> <tr><td nowrap align=right valign=top><a name="n17" doxytag="sc::HSOSSCF::cl_hcore_"></a> <a class="el" href="class_sc__RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td valign=bottom><b>cl_hcore_</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="class_sc__HSOSSCF.html">HSOSSCF</a> class is a base for classes implementing a self-consistent procedure for high-spin open-shell molecules. <p> <hr><h2>Constructor & Destructor Documentation</h2> <a name="a1" doxytag="sc::HSOSSCF::HSOSSCF"></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::HSOSSCF::HSOSSCF ( </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>total_charge</code><dd> This integer gives the total charge, <img align="top" src="form-22.gif"> , of the molecule. The default is 0. <p> <dt><code>nsocc</code><dd> This integer gives the total number of singly occupied orbitals, <img align="top" src="form-56.gif"> . If this is not given, then multiplicity will be read. <p> <dt><code>multiplicity</code><dd> This integer gives the multiplicity, <img align="top" src="form-57.gif"> , of the molecule. The number of singly occupied orbitals is then <img align="top" src="form-58.gif"> . If neither nsocc nor multiplicity is given, then if, in consideration of total_charge, the number of electrons is even, the default <img align="top" src="form-56.gif"> is 2. Otherwise, it is 1. <p> <dt><code>ndocc</code><dd> This integer gives the total number of doubly occupied orbitals <img align="top" src="form-59.gif"> . The default <img align="top" src="form-60.gif"> . <p> <dt><code>socc</code><dd> This vector of integers gives the total number of singly occupied orbitals of each irreducible representation. By default, the <img align="top" src="form-56.gif"> singly occupied orbitals will be distributed according to orbital eigenvalues. If socc is given, then docc must be given and they override nsocc, multiplicity, ndocc, and total_charge. <p> <dt><code>docc</code><dd> This vector of integers gives the total number of doubly occupied orbitals of each irreducible representation. By default, the <img align="top" src="form-59.gif"> singly occupied orbitals will be distributed according to orbital eigenvalues. If docc is given, then socc must be given and they override nsocc, multiplicity, ndocc, and total_charge. <p> <dt><code>maxiter</code><dd> This has the same meaning as in the parent class, <a class="el" href="class_sc__SCF.html">SCF</a>; however, the default value is 100. <p> <dt><code>level_shift</code><dd> This has the same meaning as in the parent class, <a class="el" href="class_sc__SCF.html">SCF</a>; however, the default value is 1.0. <p> </dl> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a name="a6" doxytag="sc::HSOSSCF::alpha_occupation"></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> double sc::HSOSSCF::alpha_occupation ( </b></td> <td valign="bottom"><b> int <em>irrep</em>, </b></td> </tr> <tr> <td></td> <td><b> int <em>vectornum</em> )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the alpha occupation. <p> The irreducible representation and the vector number within that representation are given as arguments. <p> Reimplemented from <a class="el" href="class_sc__OneBodyWavefunction.html#a15">sc::OneBodyWavefunction</a>. </td> </tr> </table> <a name="a7" doxytag="sc::HSOSSCF::beta_occupation"></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> double sc::HSOSSCF::beta_occupation ( </b></td> <td valign="bottom"><b> int <em>irrep</em>, </b></td> </tr> <tr> <td></td> <td><b> int <em>vectornum</em> )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the beta occupation. <p> The irreducible representation and the vector number within that representation are given as arguments. <p> Reimplemented from <a class="el" href="class_sc__OneBodyWavefunction.html#a16">sc::OneBodyWavefunction</a>. </td> </tr> </table> <a name="a5" doxytag="sc::HSOSSCF::occupation"></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> double sc::HSOSSCF::occupation ( </b></td> <td valign="bottom"><b> int <em>irrep</em>, </b></td> </tr> <tr> <td></td> <td><b> int <em>vectornum</em> )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the occupation. <p> The irreducible representation and the vector number within that representation are given as arguments. <p> Reimplemented from <a class="el" href="class_sc__OneBodyWavefunction.html#a12">sc::OneBodyWavefunction</a>. </td> </tr> </table> <a name="a3" doxytag="sc::HSOSSCF::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::HSOSSCF::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__SCF.html#a3">sc::SCF</a>. <p> Reimplemented in <a class="el" href="class_sc__HSOSHF.html#a3">sc::HSOSHF</a>. </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="hsosscf_h-source.html">hsosscf.h</a></ul> <hr> <address> <small> Generated at Mon Oct 14 14:16:59 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>