#include <gaussshell.h>
Inheritance diagram for GaussianShell
Public Types | |
enum | PrimitiveType { Normalized, Unnormalized } |
enum | GaussianType { Cartesian, Pure } |
Public Methods | |
GaussianShell (int ncn, int nprm, double *e, int *am, int *pure, double **c, PrimitiveType pt=GaussianShell::Normalized) | |
A GaussianShell constructor. More... | |
GaussianShell (int ncn, int nprm, double *e, int *am, GaussianType pure, double **c, PrimitiveType pt=GaussianShell::Normalized) | |
A GaussianShell constructor. More... | |
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. More... | |
~GaussianShell () | |
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. More... | |
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. More... | |
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. More... | |
int | equiv (const GaussianShell *s) |
Returns true if this and the argument are equivalent. | |
double | extent (double threshold) const |
Returns a radius. More... | |
double | monobound (double r) const |
Returns a bound for the basis function. More... | |
void | print (std::ostream &=ExEnv::out()) const |
Print the object. |
|
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: \begin{itemize} \item ncn is the number of contracted functions (1 except for SP and gen. con.) \item nprm is the number of primitives \item e gives the exponents (length nprm) \item am gives the angular momentum (length ncn) \item pure is 1 for pure am and 0 for cartesian (length ncn) \item c are the contraction coefficients (length ncn by nprm) \item 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. \end{itemize} |
|
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.) |
|
Construct a GaussianShell from KeyVal input. If pure is nonzero Cartesian functions will be used, otherwise, solid harmonics will be used. |
|
Returns a radius. All functions in the shell are below threshold outside this radius. |
|
Returns a bound for the basis function. This bound is defined so that it is positive and monotonically decreasing as a function of r. |
|
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. |
|
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 SavableState. |
|
Compute the values for this shell at position r. The basis_values argument must be vector of length nfunction(). |