# sc::IntegralCints Class Reference

IntegralCints computes integrals between Gaussian basis functions. More...

`#include <cints.h>`

Inheritance diagram for sc::IntegralCints:

List of all members.

## Public Member Functions
| IntegralCints (const Ref< GaussianBasisSet > &b1=0, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &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 integrals 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 integrals 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< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0)
| Set the basis set for each center.

## Detailed Description

IntegralCints computes integrals between Gaussian basis functions.

## Member Function Documentation

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< EfieldDotVectorData > & | = `0` | ) | `[virtual]`

Return a OneBodyInt that computes the electric field integrals dotted with a given vector.

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.

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 freeing the object.

Implements sc::Integral.

RedundantCartesianSubIter* sc::IntegralCints::new_redundant_cartesian_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 freeing 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<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.

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.

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

- cints.h