qrunch.chemistry.integral_builders.creators

Module containing creators for the two-body electron repulsion integral builders.

Classes

IntegralBuilderSubCreator

Two-body electron repulsion integral builder sub-creator.

class IntegralBuilderSubCreator

Bases: Generic[T]

Two-body electron repulsion integral builder sub-creator.

__init__(parent: T, field_name: str) None

Initialize an electron repulsion integral builder.

Parameters:
  • parent (T) – Parent object to which the integral builder will be assigned.

  • field_name (str) – Name of the field in the parent object where the integral builder will be assigned.

Return type:

None

resolution_of_the_identity(auxiliary_basis: str | BasisSet | None = None) T

Set the repulsion integral builder to the resolution-of-the-identity builder.

Resolution of the identity (RI) replaces 4-center integrals by products of 3-center terms using the auxiliary basis. In some cases, using resolution-of-the-identity integrals can be significantly faster and less memory-intensive than standard four-center integrals, at the cost of a small approximation error that depends on the size and quality of the auxiliary basis.

Parameters:

auxiliary_basis (str | BasisSet | None) –

The auxiliary density-fitting RI basis set. Resolution order:

  • This argument, if provided.

  • The auxiliary basis on the molecular configuration, if set.

  • An auxiliary basis matched to the orbital basis (e.g. cc-pVDZ → cc-pVDZ-RI).

  • An auto-generated auxiliary basis if no match exists.

To ensure low approximation error, make sure the auxiliary basis is comparable in quality to the orbital basis chosen for the molecular configuration input.

Return type:

T

standard() T

Set the repulsion integral builder to a two-body electron repulsion integral builder.

This will build integrals by performing the full 4-index four-center AO to MO transformation.

Return type:

T