sc::Integral(3)

NAME
sc::Integral - The Integral abstract class acts as a factory to provide objects that compute one and two electron integrals.

SYNOPSIS

#include <integral.h>

Inherits sc::SavableState.

Inherited by sc::IntegralV3.

  Public Methods
Integral (StateIn &)
Restore the Integral object from the given StateIn object.
Integral (const Ref< KeyVal > &)
Integral 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 int equiv (const Ref< Integral > &)
Returns nonzero if this and the given Integral object have the same integral 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.
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 momentum.
virtual void set_basis (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &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< 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 dipole 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< 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.
Ref< MessageGrp > messagegrp ()
Return the MessageGrp used by the integrals objects.

  Protected Methods
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 center.

  Protected Attributes
Ref< GaussianBasisSet > bs1_
Ref< GaussianBasisSet > bs2_
Ref< GaussianBasisSet > bs3_
Ref< GaussianBasisSet > bs4_
size_t storage_
size_t storage_used_
Ref< MessageGrp > grp_

DETAILED DESCRIPTION

The Integral abstract class acts as a factory to provide objects that compute one and two electron integrals.

MEMBER FUNCTION DOCUMENTATION

  virtual CartesianIter* sc::Integral::new_cartesian_iter (int) [pure virtual]

Return a CartesianIter object.

The caller is responsible for freeing the object.

Implemented in sc::IntegralV3.

  virtual RedundantCartesianIter* sc::Integral::new_redundant_cartesian_iter (int) [pure virtual]

Return a RedundantCartesianIter object.

The caller is responsible for freeing the object.

Implemented in sc::IntegralV3.

  virtual RedundantCartesianSubIter* sc::Integral::new_redundant_cartesian_sub_iter (int) [pure virtual]

Return a RedundantCartesianSubIter object.

The caller is responsible for freeing the object.

Implemented in sc::IntegralV3.

  virtual SphericalTransformIter* sc::Integral::new_spherical_transform_iter (int l, int inv = 0, int subl = -1) [pure virtual]

Return a SphericalTransformIter object.

The caller is responsible for freeing the object.

Implemented in sc::IntegralV3.

  virtual Ref<OneBodyInt> sc::Integral::nuclear () [pure virtual]

Return a OneBodyInt that computes the nuclear repulsion integrals.

Charges from the atoms on the center one are used.

Implemented in sc::IntegralV3.

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

Reimplemented in sc::IntegralV3.

  ShellRotation sc::Integral::shell_rotation (int am, SymmetryOperation &, int pure = 0)

Return the ShellRotation object for a shell of the given angular momentum.

Pass nonzero to pure to do solid harmonics.

  virtual const SphericalTransform* sc::Integral::spherical_transform (int l, int inv = 0, int subl = -1) [pure virtual]

Return a SphericalTransform object.

The pointer is only valid while this Integral object is valid.

Implemented in sc::IntegralV3.

AUTHOR

Generated automatically by Doxygen for MPQC from the source code.