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