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

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.

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

- integral.h