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

NAME
     sc::IntegralCints - IntegralCints computes integrals between Gaussian basis
     functions.

SYNOPSIS
     #include <cints.h>

     Inherits sc::Integral.

   Public Member Functions
     IntegralCints  (const Ref< GaussianBasisSet > &b1=0, const Ref< GaussianBa-
	 sisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const  Ref<  Gaus-
	 sianBasisSet > &b4=0)
     IntegralCints (StateIn &)
     IntegralCints (const Ref< KeyVal > &)
     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.
     Integral * clone ()
	 Clones the given Integral factory. The new factory  may  need	to  have
	 set_basis and set_storage to be called on it.
     size_t  storage_required_eri (const Ref< GaussianBasisSet > &b1, const Ref<
	 GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet	>  &b3=0,  const
	 Ref< GaussianBasisSet > &b4=0)
	 Returns  how much storage will be needed to initialize a two-body inte-
	 grals evaluator for electron repulsion integrals.
     size_t storage_required_grt (const Ref< GaussianBasisSet > &b1, const  Ref<
	 GaussianBasisSet  >  &b2=0,  const Ref< GaussianBasisSet > &b3=0, const
	 Ref< GaussianBasisSet > &b4=0)
	 Returns how much storage will be needed to initialize a two-body  inte-
	 grals evaluator for linear R12 integrals.
     CartesianIter * new_cartesian_iter (int)
	 Return a CartesianIter object.
     RedundantCartesianIter * new_redundant_cartesian_iter (int)
	 Return a RedundantCartesianIter object.
     RedundantCartesianSubIter * new_redundant_cartesian_sub_iter (int)
	 Return a RedundantCartesianSubIter object.
     SphericalTransformIter  *	new_spherical_transform_iter  (int l, int inv=0,
	 int subl=-1)
	 Return a SphericalTransformIter object.
     const SphericalTransform *  spherical_transform  (int  l,	int  inv=0,  int
	 subl=-1)
	 Return a SphericalTransform object.
     Ref< OneBodyInt > overlap ()
	 Return a OneBodyInt that computes the overlap.
     Ref< OneBodyInt > kinetic ()
	 Return a OneBodyInt that computes the kinetic energy.
     Ref< OneBodyInt > point_charge (const Ref< PointChargeData > &=0)
	 Return  a  OneBodyInt that computes the integrals for interactions with
	 point charges.
     Ref< OneBodyInt > nuclear ()
	 Return a OneBodyInt that computes the nuclear repulsion integrals.
     Ref< OneBodyInt > hcore ()
	 Return a OneBodyInt that computes the core Hamiltonian integrals.
     Ref< OneBodyInt > efield_dot_vector (const Ref< EfieldDotVectorData > &=0)
	 Return a OneBodyInt that computes the electric field  integrals  dotted
	 with a given vector.
     Ref< OneBodyInt > dipole (const Ref< DipoleData > &=0)
	 Return a OneBodyInt that computes electric dipole moment integrals.
     Ref< OneBodyInt > quadrupole (const Ref< DipoleData > &=0)
	 Return a OneBodyInt that computes electric quadrupole moment integrals.
     Ref< OneBodyDerivInt > overlap_deriv ()
	 Return a OneBodyDerivInt that computes overlap derivatives.
     Ref< OneBodyDerivInt > kinetic_deriv ()
	 Return a OneBodyDerivInt that computes kinetic energy derivatives.
     Ref< OneBodyDerivInt > nuclear_deriv ()
	 Return a OneBodyDerivInt that computes nuclear repulsion derivatives.
     Ref< OneBodyDerivInt > hcore_deriv ()
	 Return a OneBodyDerivInt that computes core Hamiltonian derivatives.
     Ref< TwoBodyInt > electron_repulsion ()
	 Return a TwoBodyInt that computes electron repulsion integrals.
     Ref< TwoBodyInt > grt ()
	 Return  a  TwoBodyInt	that computes two-electron integrals specific to
	 linear R12 methods.
     Ref< TwoBodyDerivInt > electron_repulsion_deriv ()
	 Return a TwoBodyDerivInt that computes electron repulsion derivatives.
     void set_basis (const Ref< GaussianBasisSet > &b1, const  Ref<  GaussianBa-
	 sisSet  >  &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< Gaus-
	 sianBasisSet > &b4=0)
	 Set the basis set for each center.

     Public Member Functions inherited from sc::Integral
     Integral (StateIn &)
	 Restore the Integral object from the given StateIn object.
     Integral (const Ref< KeyVal > &)
	 Construct the Integral object from the given KeyVal object.
     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.
     virtual Integral * clone ()=0
	 Clones  the  given  Integral  factory. The new factory may need to have
	 set_basis and set_storage to be called on it.
     virtual int equiv (const Ref< Integral > &)
	 Returns nonzero if this and the given Integral object have the same in-
	 tegral ordering, normalization conventions, etc.
     void set_storage (size_t i)
	 Sets the total amount of storage, in bytes, that is available.
     size_t storage_used ()
	 Returns how much storage has been used.
     size_t storage_unused ()
	 Returns how much storage was not needed.
     virtual size_t storage_required_eri (const  Ref<  GaussianBasisSet  >  &b1,
	 const	Ref<  GaussianBasisSet	>  &b2=0,  const Ref< GaussianBasisSet >
	 &b3=0, const Ref< GaussianBasisSet > &b4=0)
	 Returns how much storage will be needed to initialize a two-body  inte-
	 grals evaluator for electron repulsion integrals.
     virtual  size_t  storage_required_grt  (const  Ref< GaussianBasisSet > &b1,
	 const Ref< GaussianBasisSet >	&b2=0,	const  Ref<  GaussianBasisSet  >
	 &b3=0, const Ref< GaussianBasisSet > &b4=0)
	 Returns  how much storage will be needed to initialize a two-body inte-
	 grals evaluator for linear R12 integrals.
     virtual size_t storage_required_eri_deriv (const  Ref<  GaussianBasisSet  >
	 &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet >
	 &b3=0, const Ref< GaussianBasisSet > &b4=0)
	 Returns  how much storage will be needed to initialize a two-body inte-
	 grals evaluator for derivative electron repulsion integrals.
     void adjust_storage (ptrdiff_t s)
	 The specific integral classes use this to tell Integral how much memory
	 they are using/freeing.
     Ref< PetiteList > petite_list ()
	 Return the PetiteList object.
     Ref< PetiteList > petite_list (const Ref< GaussianBasisSet > &)
	 Return the PetiteList object for the given basis set.
     ShellRotation shell_rotation (int am, SymmetryOperation &, int pure=0)
	 Return the ShellRotation object for a shell of the given angular momen-
	 tum.
     virtual void set_basis (const Ref< GaussianBasisSet > &b1, const Ref< Gaus-
	 sianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0,  const  Ref<
	 GaussianBasisSet > &b4=0)
	 Set the basis set for each center.
     virtual CartesianIter * new_cartesian_iter (int)=0
	 Return a CartesianIter object.
     virtual RedundantCartesianIter * new_redundant_cartesian_iter (int)=0
	 Return a RedundantCartesianIter object.
     virtual	RedundantCartesianSubIter   *	new_redundant_cartesian_sub_iter
	 (int)=0
	 Return a RedundantCartesianSubIter object.
     virtual SphericalTransformIter * new_spherical_transform_iter (int  l,  int
	 inv=0, int subl=-1)=0
	 Return a SphericalTransformIter object.
     virtual  const  SphericalTransform * spherical_transform (int l, int inv=0,
	 int subl=-1)=0
	 Return a SphericalTransform object.
     virtual Ref< OneBodyInt > overlap ()=0
	 Return a OneBodyInt that computes the overlap.
     virtual Ref< OneBodyInt > kinetic ()=0
	 Return a OneBodyInt that computes the kinetic energy.
     virtual Ref< OneBodyInt > point_charge (const Ref< PointChargeData > &)=0
	 Return a OneBodyInt that computes the integrals for  interactions  with
	 point charges.
     virtual  Ref<  OneBodyOneCenterInt > point_charge1 (const Ref< PointCharge-
	 Data > &)
	 Return a OneBodyInt that computes the integrals for  interactions  with
	 point charges.
     virtual Ref< OneBodyInt > nuclear ()=0
	 Return a OneBodyInt that computes the nuclear repulsion integrals.
     virtual Ref< OneBodyInt > hcore ()=0
	 Return a OneBodyInt that computes the core Hamiltonian integrals.
     virtual Ref< OneBodyInt > efield_dot_vector (const Ref< EfieldDotVectorData
	 > &)=0
	 Return  a  OneBodyInt that computes the electric field integrals dotted
	 with a given vector.
     virtual Ref< OneBodyInt > dipole (const Ref< DipoleData > &)=0
	 Return a OneBodyInt that computes electric dipole moment integrals.
     virtual Ref< OneBodyInt > quadrupole (const Ref< DipoleData > &)=0
	 Return a OneBodyInt that computes electric quadrupole moment integrals.
     virtual Ref< OneBodyDerivInt > overlap_deriv ()=0
	 Return a OneBodyDerivInt that computes overlap derivatives.
     virtual Ref< OneBodyDerivInt > kinetic_deriv ()=0
	 Return a OneBodyDerivInt that computes kinetic energy derivatives.
     virtual Ref< OneBodyDerivInt > nuclear_deriv ()=0
	 Return a OneBodyDerivInt that computes nuclear repulsion derivatives.
     virtual Ref< OneBodyDerivInt > hcore_deriv ()=0
	 Return a OneBodyDerivInt that computes core Hamiltonian derivatives.
     virtual Ref< TwoBodyThreeCenterInt > electron_repulsion3 ()
	 Return a TwoBodyThreeCenterInt that computes electron	repulsion  inte-
	 grals.
     virtual Ref< TwoBodyThreeCenterDerivInt > electron_repulsion3_deriv ()
	 Return  a  TwoBodyThreeCenterInt that computes electron repulsion inte-
	 grals.
     virtual Ref< TwoBodyTwoCenterInt > electron_repulsion2 ()
	 Return a TwoBodyTwoCenterInt that  computes  electron	repulsion  inte-
	 grals.
     virtual Ref< TwoBodyTwoCenterDerivInt > electron_repulsion2_deriv ()
	 Return  a  TwoBodyTwoCenterInt  that  computes electron repulsion inte-
	 grals.
     virtual Ref< TwoBodyInt > electron_repulsion ()=0
	 Return a TwoBodyInt that computes electron repulsion integrals.
     virtual Ref< TwoBodyDerivInt > electron_repulsion_deriv ()=0
	 Return a TwoBodyDerivInt that computes electron repulsion derivatives.
     virtual Ref< TwoBodyInt > grt ()
	 Return a TwoBodyInt that computes two-electron  integrals  specific  to
	 linear R12 methods.
     Ref< MessageGrp > messagegrp ()
	 Return the MessageGrp used by the integrals objects.

     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::Integral
     static Integral * initial_integral (int &argc, char **argv)
	 Create an integral factory.
     static void set_default_integral (const Ref< Integral > &)
	 Specifies a new default Integral factory.
     static Integral * get_default_integral ()
	 Returns the default Integral factory.

     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::Integral
     Integral (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet  >
	 &b2,  const  Ref< GaussianBasisSet > &b3, const Ref< GaussianBasisSet >
	 &b4)
	 Initialize the Integral object given a GaussianBasisSet for  each  cen-
	 ter.

     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 &)

     Protected Attributes inherited from sc::Integral
     Ref< GaussianBasisSet > bs1_
     Ref< GaussianBasisSet > bs2_
     Ref< GaussianBasisSet > bs3_
     Ref< GaussianBasisSet > bs4_
     size_t storage_
     size_t storage_used_
     Ref< MessageGrp > grp_

Detailed Description
     IntegralCints computes integrals between Gaussian basis functions.

Member Function Documentation
   Integral * sc::IntegralCints::clone () [virtual]
     Clones the given Integral factory. The new factory may need to have set_ba-
     sis and set_storage to be called on it.

     Implements sc::Integral.

   Ref< OneBodyInt > sc::IntegralCints::dipole (const Ref< DipoleData > &  =  0)
     [virtual]
     Return  a	OneBodyInt  that  computes electric dipole moment integrals. The
     canonical order of integrals in a set is x, y, z.

     Implements sc::Integral.

   Ref< OneBodyInt > sc::IntegralCints::efield_dot_vector  (const  Ref<  Efield-
     DotVectorData > & = 0) [virtual]
     Return  a OneBodyInt that computes the electric field integrals dotted with
     a given vector.

     Implements sc::Integral.

   Ref< TwoBodyInt > sc::IntegralCints::electron_repulsion () [virtual]
     Return a TwoBodyInt that computes electron repulsion integrals.

     Implements sc::Integral.

   Ref< TwoBodyDerivInt > sc::IntegralCints::electron_repulsion_deriv  ()  [vir-
     tual]
     Return a TwoBodyDerivInt that computes electron repulsion derivatives.

     Implements sc::Integral.

   Ref< TwoBodyInt > sc::IntegralCints::grt () [virtual]
     Return a TwoBodyInt that computes two-electron integrals specific to linear
     R12  methods. According to the convention in the literature, 'g' stands for
     electron repulsion integral, 'r' for the integral of r12 operator, and  't'
     for the commutator integrals. Implementation for this kind of TwoBodyInt is
     optional.

     Reimplemented from sc::Integral.

   Ref< OneBodyInt > sc::IntegralCints::hcore () [virtual]
     Return a OneBodyInt that computes the core Hamiltonian integrals.

     Implements sc::Integral.

   Ref< OneBodyDerivInt > sc::IntegralCints::hcore_deriv () [virtual]
     Return a OneBodyDerivInt that computes core Hamiltonian derivatives.

     Implements sc::Integral.

   Ref< OneBodyInt > sc::IntegralCints::kinetic () [virtual]
     Return a OneBodyInt that computes the kinetic energy.

     Implements sc::Integral.

   Ref< OneBodyDerivInt > sc::IntegralCints::kinetic_deriv () [virtual]
     Return a OneBodyDerivInt that computes kinetic energy derivatives.

     Implements sc::Integral.

   CartesianIter * sc::IntegralCints::new_cartesian_iter (int) [virtual]
     Return  a	CartesianIter  object. The caller is responsible for freeing the
     object.

     Implements sc::Integral.

   RedundantCartesianIter   *	 sc::IntegralCints::new_redundant_cartesian_iter
     (int) [virtual]
     Return a RedundantCartesianIter object. The caller is responsible for free-
     ing the object.

     Implements sc::Integral.

   RedundantCartesianSubIter	  *	 sc::IntegralCints::new_redundant_carte-
     sian_sub_iter (int) [virtual]
     Return a RedundantCartesianSubIter object. The caller  is	responsible  for
     freeing the object.

     Implements sc::Integral.

   SphericalTransformIter * sc::IntegralCints::new_spherical_transform_iter (int
     l, int inv = 0, int subl = -1) [virtual]
     Return a SphericalTransformIter object. The caller is responsible for free-
     ing the object.

     Implements sc::Integral.

   Ref< OneBodyInt > sc::IntegralCints::nuclear () [virtual]
     Return  a OneBodyInt that computes the nuclear repulsion integrals. Charges
     from the atoms on center one are used. If center two is  not  identical  to
     center one, then the charges on center two are included as well.

     Implements sc::Integral.

   Ref< OneBodyDerivInt > sc::IntegralCints::nuclear_deriv () [virtual]
     Return a OneBodyDerivInt that computes nuclear repulsion derivatives.

     Implements sc::Integral.

   Ref< OneBodyInt > sc::IntegralCints::overlap () [virtual]
     Return a OneBodyInt that computes the overlap.

     Implements sc::Integral.

   Ref< OneBodyDerivInt > sc::IntegralCints::overlap_deriv () [virtual]
     Return a OneBodyDerivInt that computes overlap derivatives.

     Implements sc::Integral.

   Ref< OneBodyInt > sc::IntegralCints::point_charge (const Ref< PointChargeData
     > & = 0) [virtual]
     Return a OneBodyInt that computes the integrals for interactions with point
     charges.

     Implements sc::Integral.

   Ref<  OneBodyInt > sc::IntegralCints::quadrupole (const Ref< DipoleData > & =
     0) [virtual]
     Return a OneBodyInt that computes electric quadrupole moment integrals. The
     canonical order of integrals in a set is x^2, xy, xz, y^2, yz, z^2.

     Implements sc::Integral.

   void sc::IntegralCints::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::Integral.

   void sc::IntegralCints::set_basis (const Ref< GaussianBasisSet > & b1,  const
     Ref<  GaussianBasisSet  > & b2 = 0, const Ref< GaussianBasisSet > & b3 = 0,
     const Ref< GaussianBasisSet > & b4 = 0) [virtual]
     Set the basis set for each center.

     Reimplemented from sc::Integral.

   const SphericalTransform * sc::IntegralCints::spherical_transform (int l, int
     inv = 0, int subl = -1) [virtual]
     Return a SphericalTransform object. The pointer is only  valid  while  this
     Integral object is valid.

     Implements sc::Integral.

   size_t sc::IntegralCints::storage_required_eri (const Ref< GaussianBasisSet >
     & b1, const Ref< GaussianBasisSet > & b2 = 0, const Ref< GaussianBasisSet >
     & b3 = 0, const Ref< GaussianBasisSet > & b4 = 0) [virtual]
     Returns  how much storage will be needed to initialize a two-body integrals
     evaluator for electron repulsion integrals.

     Reimplemented from sc::Integral.

   size_t sc::IntegralCints::storage_required_grt (const Ref< GaussianBasisSet >
     & b1, const Ref< GaussianBasisSet > & b2 = 0, const Ref< GaussianBasisSet >
     & b3 = 0, const Ref< GaussianBasisSet > & b4 = 0) [virtual]
     Returns how much storage will be needed to initialize a two-body  integrals
     evaluator for linear R12 integrals.

     Reimplemented from sc::Integral.

Author
     Generated automatically by Doxygen for MPQC from the source code.

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

home | help