sc::GaussianShell(3)
Hey bestie ๐ welcome to the sc::GaussianShell(3) page โ the MPQC manual page for sc::GaussianShell, rewritten with group-chat energy but keeping every single technical detail. This is the whole Gaussian orbital shell moment. No cap. โจ
๐ธ NAME ๐ธ
sc::GaussianShell โ a Gaussian orbital shell. That's the name, that's the assignment. ๐
โจ SYNOPSIS โจ
#include <gaussshell.h>
Inherits sc::SavableState.
๐ Public Types ๐
enum PrimitiveType { Normalized, Unnormalized }โ the two primitive-type labels, bestie. ๐ซถenum GaussianType { Cartesian, Pure }โ the two Gaussian-type labels. Slay. ๐
๐ Public Member Functions ๐
GaussianShell (int ncn, int nprm, double *e, int *am, int *pure, double **c, PrimitiveType pt=GaussianShell::Normalized, bool do_normalize_shell=true)โ aGaussianShellconstructor. ๐GaussianShell (int ncn, int nprm, double *e, int *am, GaussianType pure, double **c, PrimitiveType pt=GaussianShell::Normalized)โ anotherGaussianShellconstructor. ๐GaussianShell (const Ref< KeyVal > &)โ construct aGaussianShellfrom KeyVal input. ๐GaussianShell (StateIn &)โ restore aGaussianShellfrom aStateInobject. ๐ฆGaussianShell (const Ref< KeyVal > &, int pure)โ construct aGaussianShellfrom KeyVal input. ๐ธvoid save_data_state (StateOut &)โ save the base classes (withsave_data_state) and the members in the same order that theStateInCTOR initializes them. ๐พint nprimitive () constโ the number of primitive Gaussian shells. โจint ncontraction () constโ the number of contractions formed from the primitives. ๐งint nfunction () constโ the number of basis functions. ๐ฅint max_angular_momentum () constโ the maximum angular momentum in the shell. ๐int min_angular_momentum () constโ the minimum angular momentum in the shell. ๐int max_cartesian () constโ the maximum number of Cartesian functions in any contraction. ๐int am (int con) constโ the angular momentum of the given contraction. ๐int max_am () constโ the maximum angular momentum of any contraction. โญint min_am () constโ the minimum angular momentum of any contraction. ๐ธchar amchar (int con) constโ the character symbol for the angular momentum of the given contraction. ๐คint nfunction (int con) constโ the number of basis functions coming from the given contraction. ๐ซถint ncartesian () constโ the total number of functions if this shell was Cartesian. ๐ฆint ncartesian_with_aminc (int aminc) constโ the total number of Cartesian functions if this shift is applied to all of the angular momentums. ๐int ncartesian (int con) constโ the number of Cartesian functions for the given contraction. ๐int is_cartesian (int con) constโ returns nonzero if contractionconis Cartesian. โint is_pure (int con) constโ returns nonzero if contractionconis solid harmonics. ๐ซint has_pure () constโ returns nonzero if any contraction is solid harmonics. ๐double coefficient_unnorm (int con, int prim) constโ returns the contraction coef for unnormalized primitives. ๐งฎdouble coefficient_norm (int con, int prim) constโ returns the contraction coef for normalized primitives. ๐double exponent (int iprim) constโ returns the exponent of the given primitive. โกint values (CartesianIter **, SphericalTransformIter **, const SCVector3 &r, double *basis_values)โ compute the values for this shell at positionr. ๐int grad_values (CartesianIter **, SphericalTransformIter **, const SCVector3 &R, double *g_values, double *basis_values=0) constโ likevalues(...), but computes gradients of the basis function values, too. ๐int hessian_values (CartesianIter **, SphericalTransformIter **, const SCVector3 &R, double *h_values, double *g_values=0, double *basis_values=0) constโ likevalues(...), but computes first and second derivatives of the basis function values, too. ๐งdouble relative_overlap (const Ref< Integral > &, int con, int func1, int func2) constโ returns the intra-generalized-contraction overlap matrix element<con func1|con func2>within an arbitrary constant for the shell. ๐double relative_overlap (int con, int a1, int b1, int c1, int a2, int b2, int c2) constโ returns the intra-generalized-contraction overlap matrix element<con func1|con func2>within an arbitrary constant for the shell. ๐int equiv (const GaussianShell *s)โ returns true if this and the argument are equivalent. ๐ฐdouble extent (double threshold) constโ returns a radius. ๐double monobound (double r) constโ returns a bound for the basis function. ๐งvoid print (std::ostream &=ExEnv::out0()) constโ print the object. ๐จ๏ธ
๐ฆ Additional Inherited Members ๐ฆ
This heading exists, but the page doesn't list the inherited members here. That's it. ๐
๐ Detailed Description ๐
A Gaussian orbital shell. The whole class is the moment. ๐ โจ
๐ Constructor & Destructor Documentation ๐
sc::GaussianShell::GaussianShell (int ncn, int nprm, double * e, int * am, int * pure, double ** c, PrimitiveType pt = GaussianShell::Normalized, bool do_normalize_shell = true)
A GaussianShell constructor. Users of GaussianShell must pass pointers to newed memory that is kept by GaussianShell and deleted by the destructor. The arguments for the following ctor are:
ncnis the number of contracted functions (1 except for SP and gen. con.)nprmis the number of primitivesegives the exponents (lengthnprm)amgives the angular momentum (lengthncn)pureis 1 for pure am and 0 for cartesian (lengthncn)care the contraction coefficients (lengthncnbynprm)ptdescribes whether the primitive functions are to be considered normalized or unnormalized. This affects whether or notcis manipulated to give the correct normalization.- If
do_normalize_shellis true (the default), then the shell normalization constants will be folded into the coefficients.
Bestie, this is the memory-ownership caveat: those pointers are kept by GaussianShell and deleted by the destructor. Do not lose the plot. ๐๐ซถ
sc::GaussianShell::GaussianShell (int ncn, int nprm, double * e, int * am, GaussianType pure, double ** c, PrimitiveType pt = GaussianShell::Normalized)
A GaussianShell constructor. 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.) ๐ง
sc::GaussianShell::GaussianShell (const Ref< KeyVal > &, int pure)
Construct a GaussianShell from KeyVal input. If pure is nonzero Cartesian functions will be used, otherwise, solid harmonics will be used. ๐ธ
๐ฅ <orange>Member Function Documentation</orange> ๐ฅ
double sc::GaussianShell::extent (double threshold) const
Returns a radius. All functions in the shell are below threshold outside this radius. ๐
double sc::GaussianShell::monobound (double r) const
Returns a bound for the basis function. This bound is defined so that it is positive and monotonically decreasing as a function of r. ๐
double sc::GaussianShell::relative_overlap (int con, int a1, int b1, int c1, int a2, int b2, int c2) const
Returns the intra-generalized-contraction overlap matrix element <con func1|con func2> within an arbitrary constant for the shell. func1 and func2 are determined according to the axis exponents, a1, b1, c1, a2, b2, and c2. ๐
void sc::GaussianShell::save_data_state (StateOut &) [virtual]
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. This must be implemented by the derived class if the class has data.
Reimplemented from sc::SavableState. ๐พ
int sc::GaussianShell::values (CartesianIter **, SphericalTransformIter **, const SCVector3 & r, double * basis_values)
Compute the values for this shell at position r. The basis_values argument must be vector of length nfunction(). ๐
๐ Author ๐
Generated automatically by Doxygen for MPQC from the source code.
That's the whole page, bestie. Version 2.3.1, dated Sun Oct 4 2020, pulled from the MPQC source code โ stan the auto-generated docs. ๐โจ๐
๐ฆ where this page comes from
- ubuntu jammy: libsc-doc 2.3.1-21
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms