Class IterGB2¶
- Defined in File iter_gb.h
Class Documentation¶
-
class
IterGB2¶ A 2-basis function iterator. Used for 1-electron integrals.
Public Functions
-
int
inc_shell()¶ Increment the shell counters (oprims, ishells) Takes into account 2-fold symmetry.
-
void
update_shell()¶ Update fields that depend on primitive counters (centres, shells types, nprim) from the gbasis instance.
-
int
inc_prim()¶ Increment the primitive counters (iprims)
-
void
update_prim()¶ Update fields that depend on primitive counters (alphas, contraction coeffs, and scaling factors) from gbasis.
-
void
store(const double *work, double *output)¶ Write the current shell, stored in work, into the output array.
Only works for dense storage at the moment.
- Parameters
work: array of pure basis functions for the current shell.output: array storing the entire integral.
-
double
dot(const double *work, const double *dm)¶ Dot product of the current shell, stored in work, with dm.
- Return
- the dot product of the current shell with the array dm.
- Parameters
work: array of pure basis functions for the current shell.dm: array which will be dotted with the current shell.
Public Members
-
long
shell_type0¶ Shell types.
-
long
shell_type1¶
-
double
con_coeff¶ Contraction coefficient.
-
double
alpha0¶ Exponents.
-
double
alpha1¶
-
const double *
r0¶ Current gaussian centers.
-
const double *
r1¶
-
const double *
scales0¶ Normalization constants.
-
const double *
scales1¶
-
long
ibasis0¶ Basis function counters.
-
long
ibasis1¶
-
long
ishell0¶ Shell counters.
-
long
ishell1¶
-
long
nprim0¶ Primitive counters.
-
long
nprim1¶
-
long
iprim0¶
-
long
iprim1¶
-
long
oprim0¶
-
long
oprim1¶
-
int