NAME
sc::GaussianShell -
A Gaussian orbital shell.
SYNOPSIS
#include <gaussshell.h>
Inherits sc::SavableState.
Public Types
enum PrimitiveType { Normalized, Unnormalized }
enum GaussianType { Cartesian, Pure }
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)
A 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(.
int hessian_values (CartesianIter **, SphericalTransformIter **, const
SCVector3 &R, double *h_values, double *g_values=0, double
*basis_values=0) const
Like values(.
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.
Detailed Description
A Gaussian orbital shell.
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 effects 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.
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.
Member Function Documentation
double sc::GaussianShell::extent (double threshold) const
Returns a radius. All functions in the shell are below threshold
outside this radius.
int sc::GaussianShell::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 sc::GaussianShell::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 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.
int sc::GaussianShell::ncartesian_with_aminc (int aminc) const
The total number of Cartesian functions if this shift is applied to all
of the angular momentums.
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.
double sc::GaussianShell::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.
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.