Sophie

Sophie

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

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::GaussianShell 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_1GaussianShell.html">GaussianShell</a>
  </div>
</div>
<div class="contents">
<h1>sc::GaussianShell Class Reference</h1><!-- doxytag: class="sc::GaussianShell" --><!-- doxytag: inherits="sc::SavableState" -->A Gaussian orbital shell.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="gaussshell_8h_source.html">gaussshell.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for sc::GaussianShell:</div>
<div class="dynsection">

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

<p>
<a href="classsc_1_1GaussianShell-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 Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>PrimitiveType</b> { <b>Normalized</b>, 
<b>Unnormalized</b>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>GaussianType</b> { <b>Cartesian</b>, 
<b>Pure</b>
 }</td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#020aab0cebfbedcb4feea1c3d6bd7322">GaussianShell</a> (int ncn, int nprm, double *e, int *am, int *pure, double **c, PrimitiveType pt=GaussianShell::Normalized, bool do_normalize_shell=true)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> constructor.  <a href="#020aab0cebfbedcb4feea1c3d6bd7322"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#c4c8731ddf5ec5e5cf8e3fb00099c3f6">GaussianShell</a> (int ncn, int nprm, double *e, int *am, GaussianType pure, double **c, PrimitiveType pt=GaussianShell::Normalized)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> constructor.  <a href="#c4c8731ddf5ec5e5cf8e3fb00099c3f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fcddd5e0e54273ff70457fb2a367abf4"></a><!-- doxytag: member="sc::GaussianShell::GaussianShell" ref="fcddd5e0e54273ff70457fb2a367abf4" args="(const Ref&lt; KeyVal &gt; &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#fcddd5e0e54273ff70457fb2a367abf4">GaussianShell</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 <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> from <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="a6f59dfd3c0fea84dced9f89fafb064c"></a><!-- doxytag: member="sc::GaussianShell::GaussianShell" ref="a6f59dfd3c0fea84dced9f89fafb064c" args="(StateIn &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#a6f59dfd3c0fea84dced9f89fafb064c">GaussianShell</a> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restore a <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> from a <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> object. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#f730513e01d620ecddd796bb3826bb9c">GaussianShell</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;, int pure)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> from <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.  <a href="#f730513e01d620ecddd796bb3826bb9c"></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_1GaussianShell.html#e7ccdc1502dddf50811eb7425350d8ea">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="#e7ccdc1502dddf50811eb7425350d8ea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a53d03adeed1a9b9f0b92385fa3f5c40"></a><!-- doxytag: member="sc::GaussianShell::nprimitive" ref="a53d03adeed1a9b9f0b92385fa3f5c40" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#a53d03adeed1a9b9f0b92385fa3f5c40">nprimitive</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The number of primitive Gaussian shells. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="efa6a0878a6e3354bf3fee0157977fb9"></a><!-- doxytag: member="sc::GaussianShell::ncontraction" ref="efa6a0878a6e3354bf3fee0157977fb9" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#efa6a0878a6e3354bf3fee0157977fb9">ncontraction</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The number of contractions formed from the primitives. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cdf2ce1d357d3f9d9152fca3ee716d73"></a><!-- doxytag: member="sc::GaussianShell::nfunction" ref="cdf2ce1d357d3f9d9152fca3ee716d73" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#cdf2ce1d357d3f9d9152fca3ee716d73">nfunction</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The number of basis functions. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3292f2500d97740ae64926f6efcc71af"></a><!-- doxytag: member="sc::GaussianShell::max_angular_momentum" ref="3292f2500d97740ae64926f6efcc71af" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#3292f2500d97740ae64926f6efcc71af">max_angular_momentum</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum angular momentum in the shell. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="660cbff3a2ac63a85b70284879631920"></a><!-- doxytag: member="sc::GaussianShell::min_angular_momentum" ref="660cbff3a2ac63a85b70284879631920" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#660cbff3a2ac63a85b70284879631920">min_angular_momentum</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The minimum angular momentum in the shell. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8802406b19641a066f68e7ee6c4acb55"></a><!-- doxytag: member="sc::GaussianShell::max_cartesian" ref="8802406b19641a066f68e7ee6c4acb55" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#8802406b19641a066f68e7ee6c4acb55">max_cartesian</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum number of Cartesian functions in any contraction. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4496bfea48b6e7d210f1d89ee2224b10"></a><!-- doxytag: member="sc::GaussianShell::am" ref="4496bfea48b6e7d210f1d89ee2224b10" args="(int con) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#4496bfea48b6e7d210f1d89ee2224b10">am</a> (int con) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The angular momentum of the given contraction. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9c3993c6c7262e790e1911b29cf6337d"></a><!-- doxytag: member="sc::GaussianShell::max_am" ref="9c3993c6c7262e790e1911b29cf6337d" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#9c3993c6c7262e790e1911b29cf6337d">max_am</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum angular momentum of any contraction. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3083ea11535cdf295d80d3dd80e3646a"></a><!-- doxytag: member="sc::GaussianShell::min_am" ref="3083ea11535cdf295d80d3dd80e3646a" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#3083ea11535cdf295d80d3dd80e3646a">min_am</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The minimum angular momentum of any contraction. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cdccde6905f8c9e43e6ba3ace70fc1da"></a><!-- doxytag: member="sc::GaussianShell::amchar" ref="cdccde6905f8c9e43e6ba3ace70fc1da" args="(int con) const " -->
char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#cdccde6905f8c9e43e6ba3ace70fc1da">amchar</a> (int con) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The character symbol for the angular momentum of the given contraction. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4c14927f6b5192fa24b1769c52cc650"></a><!-- doxytag: member="sc::GaussianShell::nfunction" ref="b4c14927f6b5192fa24b1769c52cc650" args="(int con) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#b4c14927f6b5192fa24b1769c52cc650">nfunction</a> (int con) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The number of basis functions coming from the given contraction. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa0465dfd3a17183e7ee862b55a43983"></a><!-- doxytag: member="sc::GaussianShell::ncartesian" ref="fa0465dfd3a17183e7ee862b55a43983" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#fa0465dfd3a17183e7ee862b55a43983">ncartesian</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The total number of functions if this shell was Cartesian. <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_1GaussianShell.html#3b25cbcc070a33114aaba8e69b4a9fa6">ncartesian_with_aminc</a> (int aminc) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The total number of Cartesian functions if this shift is applied to all of the angular momentums.  <a href="#3b25cbcc070a33114aaba8e69b4a9fa6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e97acaf7fdf52ae784f9f25d3d4301a"></a><!-- doxytag: member="sc::GaussianShell::ncartesian" ref="3e97acaf7fdf52ae784f9f25d3d4301a" args="(int con) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#3e97acaf7fdf52ae784f9f25d3d4301a">ncartesian</a> (int con) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The number of Cartesian functions for the given contraction. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="52ec1def5d7c71d4c6290c310334e239"></a><!-- doxytag: member="sc::GaussianShell::is_cartesian" ref="52ec1def5d7c71d4c6290c310334e239" args="(int con) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#52ec1def5d7c71d4c6290c310334e239">is_cartesian</a> (int con) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns nonzero if contraction con is Cartesian. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa8fa42a50fdcbc989749610a87725d1"></a><!-- doxytag: member="sc::GaussianShell::is_pure" ref="aa8fa42a50fdcbc989749610a87725d1" args="(int con) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#aa8fa42a50fdcbc989749610a87725d1">is_pure</a> (int con) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns nonzero if contraction con is solid harmonics. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4a1241fc26243b18934e21776fafac89"></a><!-- doxytag: member="sc::GaussianShell::has_pure" ref="4a1241fc26243b18934e21776fafac89" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#4a1241fc26243b18934e21776fafac89">has_pure</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns nonzero if any contraction is solid harmonics. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="60ead6ab2e59356a7658969901389ec1"></a><!-- doxytag: member="sc::GaussianShell::coefficient_unnorm" ref="60ead6ab2e59356a7658969901389ec1" args="(int con, int prim) const " -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#60ead6ab2e59356a7658969901389ec1">coefficient_unnorm</a> (int con, int prim) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the contraction coef for unnormalized primitives. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0dd66da4bedb8151e5b0a1d46b184dd3"></a><!-- doxytag: member="sc::GaussianShell::coefficient_norm" ref="0dd66da4bedb8151e5b0a1d46b184dd3" args="(int con, int prim) const " -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#0dd66da4bedb8151e5b0a1d46b184dd3">coefficient_norm</a> (int con, int prim) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the contraction coef for normalized primitives. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aedeec845c9547be951ee2cb4edd4816"></a><!-- doxytag: member="sc::GaussianShell::exponent" ref="aedeec845c9547be951ee2cb4edd4816" args="(int iprim) const " -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#aedeec845c9547be951ee2cb4edd4816">exponent</a> (int iprim) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the exponent of the given primitive. <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_1GaussianShell.html#e9bde43c309f0a505f8e1e9520df6b01">values</a> (<a class="el" href="classsc_1_1CartesianIter.html">CartesianIter</a> **, <a class="el" href="classsc_1_1SphericalTransformIter.html">SphericalTransformIter</a> **, const SCVector3 &amp;r, double *basis_values)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classsc_1_1Compute.html" title="The Compute class provides a means of keeping results up to date.">Compute</a> the values for this shell at position r.  <a href="#e9bde43c309f0a505f8e1e9520df6b01"></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_1GaussianShell.html#a39c22f18b8ee88a900a20d4e9f38551">grad_values</a> (<a class="el" href="classsc_1_1CartesianIter.html">CartesianIter</a> **, <a class="el" href="classsc_1_1SphericalTransformIter.html">SphericalTransformIter</a> **, const SCVector3 &amp;R, double *g_values, double *basis_values=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like values(.  <a href="#a39c22f18b8ee88a900a20d4e9f38551"></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_1GaussianShell.html#c239f9207633e87071c51f622aeb85f0">hessian_values</a> (<a class="el" href="classsc_1_1CartesianIter.html">CartesianIter</a> **, <a class="el" href="classsc_1_1SphericalTransformIter.html">SphericalTransformIter</a> **, const SCVector3 &amp;R, double *h_values, double *g_values=0, double *basis_values=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like values(.  <a href="#c239f9207633e87071c51f622aeb85f0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#708f9fba0be60f7fdeae551936092ae9">relative_overlap</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Integral.html">Integral</a> &gt; &amp;, int con, int func1, int func2) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the intra-generalized-contraction overlap matrix element &lt;con func1|con func2&gt; within an arbitrary constant for the shell.  <a href="#708f9fba0be60f7fdeae551936092ae9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#51211176ea6931e77064c4c1f82eb368">relative_overlap</a> (int con, int a1, int b1, int c1, int a2, int b2, int c2) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the intra-generalized-contraction overlap matrix element &lt;con func1|con func2&gt; within an arbitrary constant for the shell.  <a href="#51211176ea6931e77064c4c1f82eb368"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="510ad73e86079e0cbf20fcd4e9f453f7"></a><!-- doxytag: member="sc::GaussianShell::equiv" ref="510ad73e86079e0cbf20fcd4e9f453f7" args="(const GaussianShell *s)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#510ad73e86079e0cbf20fcd4e9f453f7">equiv</a> (const <a class="el" href="classsc_1_1GaussianShell.html">GaussianShell</a> *s)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if this and the argument are equivalent. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#e5c88b6a5d23d140eb8f9a19b25b4374">extent</a> (double threshold) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a radius.  <a href="#e5c88b6a5d23d140eb8f9a19b25b4374"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#d0ec77704795f5cddbd3dde020bfcdb2">monobound</a> (double r) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a bound for the basis function.  <a href="#d0ec77704795f5cddbd3dde020bfcdb2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84d6819f4d4bd2d603f44efd7f6da843"></a><!-- doxytag: member="sc::GaussianShell::print" ref="84d6819f4d4bd2d603f44efd7f6da843" args="(std::ostream &amp;=ExEnv::out0()) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1GaussianShell.html#84d6819f4d4bd2d603f44efd7f6da843">print</a> (std::ostream &amp;=ExEnv::out0()) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print the object. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A Gaussian orbital shell. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="020aab0cebfbedcb4feea1c3d6bd7322"></a><!-- doxytag: member="sc::GaussianShell::GaussianShell" ref="020aab0cebfbedcb4feea1c3d6bd7322" args="(int ncn, int nprm, double *e, int *am, int *pure, double **c, PrimitiveType pt=GaussianShell::Normalized, bool do_normalize_shell=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sc::GaussianShell::GaussianShell           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ncn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nprm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>am</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>pure</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">PrimitiveType&nbsp;</td>
          <td class="paramname"> <em>pt</em> = <code>GaussianShell::Normalized</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>do_normalize_shell</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> constructor. 
<p>
Users of <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> must pass pointers to newed memory that is kept by <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> and deleted by the destructor. The arguments for the following ctor are: <ul>
<li>
ncn is the number of contracted functions (1 except for SP and gen. con.) </li>
<li>
nprm is the number of primitives </li>
<li>
e gives the exponents (length nprm) </li>
<li>
am gives the angular momentum (length ncn) </li>
<li>
pure is 1 for pure am and 0 for cartesian (length ncn) </li>
<li>
c are the contraction coefficients (length ncn by nprm) </li>
<li>
pt describes whether the primitive functions are to be considered normalized or unnormalized. This effects whether or not c is manipulated to give the correct normalization. </li>
<li>
If do_normalize_shell is true (the default), then the shell normalization constants will be folded into the coefficients. </li>
</ul>

</div>
</div><p>
<a class="anchor" name="c4c8731ddf5ec5e5cf8e3fb00099c3f6"></a><!-- doxytag: member="sc::GaussianShell::GaussianShell" ref="c4c8731ddf5ec5e5cf8e3fb00099c3f6" args="(int ncn, int nprm, double *e, int *am, GaussianType pure, double **c, PrimitiveType pt=GaussianShell::Normalized)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sc::GaussianShell::GaussianShell           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ncn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nprm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>am</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GaussianType&nbsp;</td>
          <td class="paramname"> <em>pure</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">PrimitiveType&nbsp;</td>
          <td class="paramname"> <em>pt</em> = <code>GaussianShell::Normalized</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> constructor. 
<p>
In this ctor pure is either GaussianShell::Cartesian or Gaussian::Pure and all of the contracted functions are treated in that way. (The user doesn\'t need to compute generate a int*pure vector in this case.) 
</div>
</div><p>
<a class="anchor" name="f730513e01d620ecddd796bb3826bb9c"></a><!-- doxytag: member="sc::GaussianShell::GaussianShell" ref="f730513e01d620ecddd796bb3826bb9c" args="(const Ref&lt; KeyVal &gt; &amp;, int pure)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sc::GaussianShell::GaussianShell           </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>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>pure</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct a <a class="el" href="classsc_1_1GaussianShell.html" title="A Gaussian orbital shell.">GaussianShell</a> from <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. 
<p>
If pure is nonzero Cartesian functions will be used, otherwise, solid harmonics will be used. 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e5c88b6a5d23d140eb8f9a19b25b4374"></a><!-- doxytag: member="sc::GaussianShell::extent" ref="e5c88b6a5d23d140eb8f9a19b25b4374" args="(double threshold) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double sc::GaussianShell::extent           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>threshold</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a radius. 
<p>
All functions in the shell are below threshold outside this radius. 
</div>
</div><p>
<a class="anchor" name="a39c22f18b8ee88a900a20d4e9f38551"></a><!-- doxytag: member="sc::GaussianShell::grad_values" ref="a39c22f18b8ee88a900a20d4e9f38551" args="(CartesianIter **, SphericalTransformIter **, const SCVector3 &amp;R, double *g_values, double *basis_values=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianShell::grad_values           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1CartesianIter.html">CartesianIter</a> **&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1SphericalTransformIter.html">SphericalTransformIter</a> **&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const SCVector3 &amp;&nbsp;</td>
          <td class="paramname"> <em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>g_values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>basis_values</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Like values(. 
<p>
..), but computes gradients of the basis function values, too. 
</div>
</div><p>
<a class="anchor" name="c239f9207633e87071c51f622aeb85f0"></a><!-- doxytag: member="sc::GaussianShell::hessian_values" ref="c239f9207633e87071c51f622aeb85f0" args="(CartesianIter **, SphericalTransformIter **, const SCVector3 &amp;R, double *h_values, double *g_values=0, double *basis_values=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianShell::hessian_values           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1CartesianIter.html">CartesianIter</a> **&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1SphericalTransformIter.html">SphericalTransformIter</a> **&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const SCVector3 &amp;&nbsp;</td>
          <td class="paramname"> <em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>h_values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>g_values</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>basis_values</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Like values(. 
<p>
..), but computes first and second derivatives of the basis function values, too. 
</div>
</div><p>
<a class="anchor" name="d0ec77704795f5cddbd3dde020bfcdb2"></a><!-- doxytag: member="sc::GaussianShell::monobound" ref="d0ec77704795f5cddbd3dde020bfcdb2" args="(double r) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double sc::GaussianShell::monobound           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>r</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a bound for the basis function. 
<p>
This bound is defined so that it is positive and monotonically decreasing as a function of r. 
</div>
</div><p>
<a class="anchor" name="3b25cbcc070a33114aaba8e69b4a9fa6"></a><!-- doxytag: member="sc::GaussianShell::ncartesian_with_aminc" ref="3b25cbcc070a33114aaba8e69b4a9fa6" args="(int aminc) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianShell::ncartesian_with_aminc           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>aminc</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The total number of Cartesian functions if this shift is applied to all of the angular momentums. 
<p>

</div>
</div><p>
<a class="anchor" name="51211176ea6931e77064c4c1f82eb368"></a><!-- doxytag: member="sc::GaussianShell::relative_overlap" ref="51211176ea6931e77064c4c1f82eb368" args="(int con, int a1, int b1, int c1, int a2, int b2, int c2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double sc::GaussianShell::relative_overlap           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>con</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>a1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>b1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>a2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>b2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>c2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the intra-generalized-contraction overlap matrix element &lt;con func1|con func2&gt; within an arbitrary constant for the shell. 
<p>
func1 and func2 are determined according to the axis exponents, a1, b1, c1, a2, b2, and c2. 
</div>
</div><p>
<a class="anchor" name="708f9fba0be60f7fdeae551936092ae9"></a><!-- doxytag: member="sc::GaussianShell::relative_overlap" ref="708f9fba0be60f7fdeae551936092ae9" args="(const Ref&lt; Integral &gt; &amp;, int con, int func1, int func2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double sc::GaussianShell::relative_overlap           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Integral.html">Integral</a> &gt; &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>con</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>func1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>func2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the intra-generalized-contraction overlap matrix element &lt;con func1|con func2&gt; within an arbitrary constant for the shell. 
<p>

</div>
</div><p>
<a class="anchor" name="e7ccdc1502dddf50811eb7425350d8ea"></a><!-- doxytag: member="sc::GaussianShell::save_data_state" ref="e7ccdc1502dddf50811eb7425350d8ea" args="(StateOut &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::GaussianShell::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>

</div>
</div><p>
<a class="anchor" name="e9bde43c309f0a505f8e1e9520df6b01"></a><!-- doxytag: member="sc::GaussianShell::values" ref="e9bde43c309f0a505f8e1e9520df6b01" args="(CartesianIter **, SphericalTransformIter **, const SCVector3 &amp;r, double *basis_values)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::GaussianShell::values           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1CartesianIter.html">CartesianIter</a> **&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1SphericalTransformIter.html">SphericalTransformIter</a> **&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const SCVector3 &amp;&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>basis_values</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classsc_1_1Compute.html" title="The Compute class provides a means of keeping results up to date.">Compute</a> the values for this shell at position r. 
<p>
The basis_values argument must be vector of length <a class="el" href="classsc_1_1GaussianShell.html#cdf2ce1d357d3f9d9152fca3ee716d73" title="The number of basis functions.">nfunction()</a>. 
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="gaussshell_8h_source.html">gaussshell.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>