Sophie

Sophie

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

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::DenIntegrator 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_1DenIntegrator.html">DenIntegrator</a>
  </div>
</div>
<div class="contents">
<h1>sc::DenIntegrator Class Reference</h1><!-- doxytag: class="sc::DenIntegrator" --><!-- doxytag: inherits="sc::SavableState" -->An abstract base class for integrating the electron density.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="integrator_8h_source.html">integrator.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for sc::DenIntegrator:</div>
<div class="dynsection">

<p><center><img src="classsc_1_1DenIntegrator.png" usemap="#sc::DenIntegrator_map" border="0" alt=""></center>
<map name="sc::DenIntegrator_map">
<area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="0,168,165,192">
<area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,165,136">
<area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,165,80">
<area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,165,24">
<area href="classsc_1_1RadialAngularIntegrator.html" alt="sc::RadialAngularIntegrator" shape="rect" coords="0,280,165,304">
</map>
</div>

<p>
<a href="classsc_1_1DenIntegrator-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="6db05f97a8077923b8764671104f0d81"></a><!-- doxytag: member="sc::DenIntegrator::DenIntegrator" ref="6db05f97a8077923b8764671104f0d81" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1DenIntegrator.html#6db05f97a8077923b8764671104f0d81">DenIntegrator</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a new <a class="el" href="classsc_1_1DenIntegrator.html" title="An abstract base class for integrating the electron density.">DenIntegrator</a>. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0689f11486a10006999333d936a3e2c0"></a><!-- doxytag: member="sc::DenIntegrator::DenIntegrator" ref="0689f11486a10006999333d936a3e2c0" args="(const Ref&lt; KeyVal &gt; &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1DenIntegrator.html#0689f11486a10006999333d936a3e2c0">DenIntegrator</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">Construct a new <a class="el" href="classsc_1_1DenIntegrator.html" title="An abstract base class for integrating the electron density.">DenIntegrator</a> given 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> input. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4126ccde10382f4ff72cffec5a90d662"></a><!-- doxytag: member="sc::DenIntegrator::DenIntegrator" ref="4126ccde10382f4ff72cffec5a90d662" args="(StateIn &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1DenIntegrator.html#4126ccde10382f4ff72cffec5a90d662">DenIntegrator</a> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a new <a class="el" href="classsc_1_1DenIntegrator.html" title="An abstract base class for integrating the electron density.">DenIntegrator</a> given the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> data. <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_1DenIntegrator.html#02a397ea3ff34254cc2711d9b6af1e7e">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="#02a397ea3ff34254cc2711d9b6af1e7e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad61acd80a2407e54f823cf05e59b523"></a><!-- doxytag: member="sc::DenIntegrator::wavefunction" ref="ad61acd80a2407e54f823cf05e59b523" args="() const " -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Wavefunction.html">Wavefunction</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1DenIntegrator.html#ad61acd80a2407e54f823cf05e59b523">wavefunction</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the wavefunction used for the integration. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="123f821f072c1842756d8ec8244da740"></a><!-- doxytag: member="sc::DenIntegrator::value" ref="123f821f072c1842756d8ec8244da740" args="() const " -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1DenIntegrator.html#123f821f072c1842756d8ec8244da740">value</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the result of the integration. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="017b9625f75ca2e327ef558fb5270452"></a><!-- doxytag: member="sc::DenIntegrator::set_accuracy" ref="017b9625f75ca2e327ef558fb5270452" args="(double a)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1DenIntegrator.html#017b9625f75ca2e327ef558fb5270452">set_accuracy</a> (double a)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the accuracy to use in the integration. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa41dbc0929e2cd8288b1ceac68f2aa7"></a><!-- doxytag: member="sc::DenIntegrator::get_accuracy" ref="fa41dbc0929e2cd8288b1ceac68f2aa7" args="(void)" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_accuracy</b> (void)</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_1DenIntegrator.html#c0680a07dd48804631a2b1dab2ede3dc">set_compute_potential_integrals</a> (int)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call with non zero if the potential integrals are to be computed.  <a href="#c0680a07dd48804631a2b1dab2ede3dc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1DenIntegrator.html#87ea16380f47206c2915f8fc0fdb9c5c">alpha_vmat</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the alpha potential integrals.  <a href="#87ea16380f47206c2915f8fc0fdb9c5c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1DenIntegrator.html#e11e6b3fef22a0f08113dd220f08d35d">beta_vmat</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the beta potential integrals.  <a href="#e11e6b3fef22a0f08113dd220f08d35d"></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_1DenIntegrator.html#1733cc4decade0166c5aeb674ae64e04">init</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Wavefunction.html">Wavefunction</a> &gt; &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called before integrate.  <a href="#1733cc4decade0166c5aeb674ae64e04"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b1bf36b7d9774324d2b7358c7adcd690"></a><!-- doxytag: member="sc::DenIntegrator::done" ref="b1bf36b7d9774324d2b7358c7adcd690" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1DenIntegrator.html#b1bf36b7d9774324d2b7358c7adcd690">done</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Must be called between calls to init. <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_1DenIntegrator.html#24279f7a67f5086c31dc5921ee15c966">integrate</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1DenFunctional.html">DenFunctional</a> &gt; &amp;, const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;densa=0, const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;densb=0, double *nuclear_grad=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs the integration of the given functional using the given alpha and beta density matrices.  <a href="#24279f7a67f5086c31dc5921ee15c966"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ad7395e23c99276ac8b3fc23619f42b"></a><!-- doxytag: member="sc::DenIntegrator::init_integration" ref="1ad7395e23c99276ac8b3fc23619f42b" args="(const Ref&lt; DenFunctional &gt; &amp;func, const RefSymmSCMatrix &amp;densa, const RefSymmSCMatrix &amp;densb, double *nuclear_gradient)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>init_integration</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1DenFunctional.html">DenFunctional</a> &gt; &amp;func, const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;densa, const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;densb, double *nuclear_gradient)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4e8a4008812b345e418ae6158d92640a"></a><!-- doxytag: member="sc::DenIntegrator::done_integration" ref="4e8a4008812b345e418ae6158d92640a" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>done_integration</b> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="70442208f914683c2abcaffe39055466"></a><!-- doxytag: member="sc::DenIntegrator::init_object" ref="70442208f914683c2abcaffe39055466" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>init_object</b> ()</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="e9aebbab2990a5d03461f087a98f3024"></a><!-- doxytag: member="sc::DenIntegrator::wfn_" ref="e9aebbab2990a5d03461f087a98f3024" args="" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Wavefunction.html">Wavefunction</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>wfn_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39849ef74f10d7ad5af448c3f71891e1"></a><!-- doxytag: member="sc::DenIntegrator::den_" ref="39849ef74f10d7ad5af448c3f71891e1" args="" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1BatchElectronDensity.html">BatchElectronDensity</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>den_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="80c0ef841bb976ac45be97bf00acdf12"></a><!-- doxytag: member="sc::DenIntegrator::threadgrp_" ref="80c0ef841bb976ac45be97bf00acdf12" args="" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1ThreadGrp.html">ThreadGrp</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>threadgrp_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="768c4d5203a82d3b409abf25b544b813"></a><!-- doxytag: member="sc::DenIntegrator::messagegrp_" ref="768c4d5203a82d3b409abf25b544b813" args="" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1MessageGrp.html">MessageGrp</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>messagegrp_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15dcae886155ab4bcf3691170f5c25d7"></a><!-- doxytag: member="sc::DenIntegrator::value_" ref="15dcae886155ab4bcf3691170f5c25d7" args="" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>value_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0415b47df8cc419c5d4621a28b7a53c"></a><!-- doxytag: member="sc::DenIntegrator::accuracy_" ref="a0415b47df8cc419c5d4621a28b7a53c" args="" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>accuracy_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="efa589bb4789b341f68ca31e024f05ad"></a><!-- doxytag: member="sc::DenIntegrator::alpha_vmat_" ref="efa589bb4789b341f68ca31e024f05ad" args="" -->
double *&nbsp;</td><td class="memItemRight" valign="bottom"><b>alpha_vmat_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="da0393cc7efa41701c638e8fdd46e1a2"></a><!-- doxytag: member="sc::DenIntegrator::beta_vmat_" ref="da0393cc7efa41701c638e8fdd46e1a2" args="" -->
double *&nbsp;</td><td class="memItemRight" valign="bottom"><b>beta_vmat_</b></td></tr>

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

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

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="43cde064a28f4a6a0fe3db319bf68adb"></a><!-- doxytag: member="sc::DenIntegrator::density_" ref="43cde064a28f4a6a0fe3db319bf68adb" args="" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>density_</b></td></tr>

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

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

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

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

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

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

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

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
An abstract base class for integrating the electron density. 
<p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="87ea16380f47206c2915f8fc0fdb9c5c"></a><!-- doxytag: member="sc::DenIntegrator::alpha_vmat" ref="87ea16380f47206c2915f8fc0fdb9c5c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const double* sc::DenIntegrator::alpha_vmat           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the alpha potential integrals. 
<p>
Stored as the lower triangular, row-major format. 
</div>
</div><p>
<a class="anchor" name="e11e6b3fef22a0f08113dd220f08d35d"></a><!-- doxytag: member="sc::DenIntegrator::beta_vmat" ref="e11e6b3fef22a0f08113dd220f08d35d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const double* sc::DenIntegrator::beta_vmat           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the beta potential integrals. 
<p>
Stored as the lower triangular, row-major format. 
</div>
</div><p>
<a class="anchor" name="1733cc4decade0166c5aeb674ae64e04"></a><!-- doxytag: member="sc::DenIntegrator::init" ref="1733cc4decade0166c5aeb674ae64e04" args="(const Ref&lt; Wavefunction &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc::DenIntegrator::init           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Wavefunction.html">Wavefunction</a> &gt; &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called before integrate. 
<p>
Does not need to be called again unless the geometry changes or done is called. 
</div>
</div><p>
<a class="anchor" name="24279f7a67f5086c31dc5921ee15c966"></a><!-- doxytag: member="sc::DenIntegrator::integrate" ref="24279f7a67f5086c31dc5921ee15c966" args="(const Ref&lt; DenFunctional &gt; &amp;, const RefSymmSCMatrix &amp;densa=0, const RefSymmSCMatrix &amp;densb=0, double *nuclear_grad=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc::DenIntegrator::integrate           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1DenFunctional.html">DenFunctional</a> &gt; &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>densa</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>densb</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>nuclear_grad</em> = <code>0</code></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>
Performs the integration of the given functional using the given alpha and beta density matrices. 
<p>
The nuclear derivative contribution is placed in nuclear_grad, if it is non-null. 
<p>Implemented in <a class="el" href="classsc_1_1RadialAngularIntegrator.html#97976aa9f0d3be0f7bb382aa25838fd7">sc::RadialAngularIntegrator</a>.</p>

</div>
</div><p>
<a class="anchor" name="02a397ea3ff34254cc2711d9b6af1e7e"></a><!-- doxytag: member="sc::DenIntegrator::save_data_state" ref="02a397ea3ff34254cc2711d9b6af1e7e" args="(StateOut &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::DenIntegrator::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_1RadialAngularIntegrator.html#f7c66061caddf075565161192dc6b65d">sc::RadialAngularIntegrator</a>.</p>

</div>
</div><p>
<a class="anchor" name="c0680a07dd48804631a2b1dab2ede3dc"></a><!-- doxytag: member="sc::DenIntegrator::set_compute_potential_integrals" ref="c0680a07dd48804631a2b1dab2ede3dc" args="(int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::DenIntegrator::set_compute_potential_integrals           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Call with non zero if the potential integrals are to be computed. 
<p>
They can be returned with the vmat() member. 
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="integrator_8h_source.html">integrator.h</a></ul>
</div>
<hr>
<address>
<small>

Generated at Wed Oct 14 14:12:14 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>