Class GB2Integral

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class GB2Integral : public GBCalculator

Subclassed by GB2AttractionIntegral, GB2KineticIntegral, GB2MomentIntegral, GB2OverlapIntegral

Public Functions

GB2Integral(long max_shell_type)

Cartesian basis function iterator.

Construct a GB2Integral object.

Parameters
  • max_shell_type: The maximum shell type in the basis set. This is used to allocate sufficiently large working arrays.

void reset(long shell_type0, long shell_type1, const double *r0, const double *r1)

Re-initialize on a new shell.

Parameters
  • shell_type0: Shell 0 type
  • shell_type1: Shell 1 type
  • r0: Gaussian Centre 0
  • r1: Gaussian Centre 1

virtual void add(double coeff, double alpha0, double alpha1, const double *scales0, const double *scales1) = 0

Add results for a combination of Cartesian primitive shells to the work array.

See eqn 2.12 of Taketa et al. (1966)

Parameters
  • coeff: Product of the contraction coefficients of the two primitives.
  • alpha0: The exponent of primitive shell 0.
  • alpha1: The exponent of primitive shell 1.
  • scales0: The normalization prefactors for basis functions in primitive shell 0
  • scales1: The normalization prefactors for basis functions in primitive shell 1

void cart_to_pure()

Transform the work arrays from cartesian into pure coordinates.

N.B. The results are store back into work_cart!

const long get_shell_type0() const
const long get_shell_type1() const

Protected Attributes

long shell_type0
long shell_type1
const double *r0

shell types

const double *r1
IterPow2 i2p

Gaussian centres.