|
MPQC
2.3.1
|
A Gaussian orbital shell. More...
#include <gaussshell.h>


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. 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... | |
| 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::out0()) const |
| Print the object. | |
Public Member Functions inherited from sc::SavableState | |
| SavableState & | operator= (const SavableState &) |
| void | save_state (StateOut &) |
| Save the state of the object as specified by the StateOut object. More... | |
| void | save_object_state (StateOut &) |
| This can be used for saving state when the exact type of the object is known for both the save and the restore. More... | |
| virtual void | save_vbase_state (StateOut &) |
| Save the virtual bases for the object. More... | |
Public Member Functions inherited from sc::DescribedClass | |
| DescribedClass (const DescribedClass &) | |
| DescribedClass & | operator= (const DescribedClass &) |
| ClassDesc * | class_desc () const throw () |
| This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More... | |
| const char * | class_name () const |
| Return the name of the object's exact type. | |
| int | class_version () const |
| Return the version of the class. | |
Public Member Functions inherited from sc::RefCount | |
| int | lock_ptr () const |
| Lock this object. | |
| int | unlock_ptr () const |
| Unlock this object. | |
| void | use_locks (bool inVal) |
| start and stop using locks on this object | |
| refcount_t | nreference () const |
| Return the reference count. | |
| refcount_t | reference () |
| Increment the reference count and return the new count. | |
| refcount_t | dereference () |
| Decrement the reference count and return the new count. | |
| int | managed () const |
| void | unmanage () |
| Turn off the reference counting mechanism for this object. More... | |
| int | managed () const |
| Return 1 if the object is managed. Otherwise return 0. | |
Public Member Functions inherited from sc::Identity | |
| Identifier | identifier () |
| Return the Identifier for this argument. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from sc::SavableState | |
| static void | save_state (SavableState *s, StateOut &) |
| static SavableState * | restore_state (StateIn &si) |
| Restores objects saved with save_state. More... | |
| static SavableState * | key_restore_state (StateIn &si, const char *keyword) |
| Like restore_state, but keyword is used to override values while restoring. | |
| static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0) |
Protected Member Functions inherited from sc::SavableState | |
| SavableState (const SavableState &) | |
| SavableState (StateIn &) | |
| Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More... | |
Protected Member Functions inherited from sc::RefCount | |
| RefCount (const RefCount &) | |
| RefCount & | operator= (const RefCount &) |
A Gaussian orbital shell.
| 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:
| 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.)
Construct a GaussianShell from KeyVal input.
If pure is nonzero Cartesian functions will be used, otherwise, solid harmonics will be used.
| 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.
|
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().