PAOFLOW.utils.pyints#
pyints — Two-electron Coulomb repulsion integrals over Gaussian-type orbitals.
This module provides a pure-Python implementation of the analytical two-electron electron-repulsion integrals (ERIs) needed by the ACBN0 and eACBN0 Hartree exchange-correlation routines in PAOFLOW. The algorithms follow the Obara–Saika / THO (Taketa–Huzinaga–O-Ohata) recurrence-relation formalism.
Overview#
The central quantity computed is the four-centre two-electron repulsion integral over contracted Gaussian-type orbitals (cGTOs):
The evaluation chain is:
Primitive ERI —
coulomb_repulsion()computes the integral for a single Gaussian primitive on each of the four centres, using the Boys functionFgamma()and the Cartesian B-array expansion (B_array(),fB(),B0()) from THO eq. 2.22.Contraction —
contr_coulomb()sums the primitive integrals over all contraction coefficients and normalisation factors, yielding the contracted ERI used by ACBN0.
Special functions#
gammln()Natural logarithm of the Gamma function via the Lanczos approximation (Numerical Recipes sect. 6.1).
gammp()Incomplete Gamma function \(P(a; x)\) via series expansion (
_gser()) for \(x < a+1\) or continued-fraction representation (_gcf()) otherwise (Numerical Recipes sect. 6.2).gamm_inc()Unnormalised incomplete Gamma function \(\gamma(a, x)\).
Fgamma()Boys function \(F_m(x) = \int_0^1 t^{2m} e^{-xt^2}\,dt\), evaluated via the relation \(F_m(x) = \gamma(m+\tfrac{1}{2}, x)/(2x^{m+\tfrac{1}{2}})\).
Combinatorial utilities#
fact(),fact_ratio(),binomial(),binomial_prefactor()Factorial, double-factorial ratio, and binomial-coefficient helpers used in the Cartesian angular-momentum reduction (Augspurger & Dykstra).
Geometry helpers#
dist()Squared Euclidean distance \(|A - B|^2\) between two 3D points.
gaussian_product_center()Gaussian product theorem centre \(P = (\alpha_1 A + \alpha_2 B)/(\alpha_1+\alpha_2)\).
Data structure#
CGBFLightweight container for a contracted Gaussian basis function, storing the centre origin, angular-momentum powers, primitive exponents, contraction coefficients, and normalisation factors.
Classes#
Class for a contracted Gaussian basis function |
Functions#
|
Numerical recipes, section 6.1 |
|
|
|
|
|
Incomplete gamma function |
|
Returns the incomplete gamma function P(a;x). NumRec sect 6.2. |
|
Incomple gamma function; computed from NumRec routine gammp. |
|
Normal factorial |
|
|
|
Binomial coefficient |
|
From Augspurger and Dykstra |
|
|
|
|
|
|
|
|
|
Module Contents#
- class PAOFLOW.utils.pyints.CGBF(origin, atid=0)[source]#
Class for a contracted Gaussian basis function
- PAOFLOW.utils.pyints.gammp(a, x)[source]#
Returns the incomplete gamma function P(a;x). NumRec sect 6.2.
- PAOFLOW.utils.pyints.gamm_inc(a, x)[source]#
Incomple gamma function; computed from NumRec routine gammp.