Main Page Class Hierarchy Compound List File List Compound Members Related Pages

# sc::Integral Class Reference

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

`#include <integral.h>`

Inheritance diagram for sc::Integral

[legend]
Collaboration diagram for sc::Integral:

[legend]
List of all members.

## 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. More...
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. More...
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. More...
virtual RedundantCartesianIter* | new_redundant_cartesian_iter (int)=0
| Return a RedundantCartesianIter object. More...
virtual RedundantCartesianSubIter* | new_redundant_cartesian_sub_iter (int)=0
| Return a RedundantCartesianSubIter object. More...
virtual SphericalTransformIter* | new_spherical_transform_iter (int l, int inv=0, int subl=-1)=0
| Return a SphericalTransformIter object. More...
virtual const SphericalTransform* | spherical_transform (int l, int inv=0, int subl=-1)=0
| Return a SphericalTransform object. More...
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. More...
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

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

| Return a CartesianIter object. The caller is responsible for freeing the object. Reimplemented in sc::IntegralV3.

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

| Return a RedundantCartesianIter object. The caller is responsible for freeing the object. Reimplemented in sc::IntegralV3.

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

| Return a RedundantCartesianSubIter object. The caller is responsible for freeing the object. Reimplemented in sc::IntegralV3.

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. Reimplemented in sc::IntegralV3.

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. Reimplemented in sc::IntegralV3.

void sc::Integral::save_data_state ( | StateOut & s )`[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.

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. Reimplemented in sc::IntegralV3.

The documentation for this class was generated from the following file:

- integral.h