sc::GaussianShell(3)

๐Ÿ“ฆ
version 2.3.1 ยท 5 versions
, in ubuntu jammy

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) โ€” a GaussianShell constructor. ๐Ÿ‘‘
  • GaussianShell (int ncn, int nprm, double *e, int *am, GaussianType pure, double **c, PrimitiveType pt=GaussianShell::Normalized) โ€” another GaussianShell constructor. ๐Ÿ’–
  • GaussianShell (const Ref< KeyVal > &) โ€” construct a GaussianShell from KeyVal input. ๐ŸŽ€
  • GaussianShell (StateIn &) โ€” restore a GaussianShell from a StateIn object. ๐Ÿฆ‹
  • GaussianShell (const Ref< KeyVal > &, int pure) โ€” construct a GaussianShell from KeyVal input. ๐ŸŒธ
  • void save_data_state (StateOut &) โ€” save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR 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 contraction con is Cartesian. โœ…
  • int is_pure (int con) const โ€” returns nonzero if contraction con is 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 position r. ๐Ÿ“
  • int grad_values (CartesianIter **, SphericalTransformIter **, const SCVector3 &R, double *g_values, double *basis_values=0) const โ€” like values(...), 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 โ€” like values(...), 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:

  • ncn is the number of contracted functions (1 except for SP and gen. con.)
  • nprm is the number of primitives
  • e gives the exponents (length nprm)
  • am gives the angular momentum (length ncn)
  • pure is 1 for pure am and 0 for cartesian (length ncn)
  • c are the contraction coefficients (length ncn by nprm)
  • pt describes whether the primitive functions are to be considered normalized or unnormalized. This affects whether or not c is manipulated to give the correct normalization.
  • If do_normalize_shell is 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