home | help
sc::GaussianShell(3)		      MPQC		    sc::GaussianShell(3)

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_normal-
	 ize_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  SCVec-
	 tor3 &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_val-
	 ues=0) const
	 Like values(...), but computes first and second derivatives of the  ba-
	 sis 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.

     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.
     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.
     virtual void save_vbase_state (StateOut &)
	 Save the virtual bases for the object.
     virtual 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.

     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.
     const char * class_name () const
	 Return the name of the object's exact type.
     int class_version () const
	 Return the version of the class.
     virtual void print (std::ostream &=ExEnv::out0()) const
	 Print the object.

     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.
     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.

   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.
     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 *object-
	 name, 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.

     Protected Member Functions inherited from sc::RefCount
     RefCount (const RefCount &)
     RefCount & operator= (const RefCount &)

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 normal-
       ized 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::Normal-
     ized)
     A	GaussianShell  constructor.  In  this  ctor  pure  is  either  Gaussian-
     Shell::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.
   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.
   void  sc::GaussianShell::print  (std::ostream  & = ExEnv::out0()) const [vir-
     tual]
     Print the object.
     Reimplemented from sc::DescribedClass.
   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.

Version 2.3.1			 Thu Sep 3 2026 	    sc::GaussianShell(3)

home | help