Class IterGB4¶
- Defined in File iter_gb.h
Class Documentation¶
-
class
IterGB4
¶ Iterates over 4 basis functions in order. Used for 2-electron integrals.
Public Functions
-
int
inc_shell
()¶ Increment the shell counters (oprims, ishells) Takes into account 8-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.
Public Members
-
long
shell_type0
¶ shell types
-
long
shell_type1
¶
-
long
shell_type2
¶
-
long
shell_type3
¶
-
double
con_coeff
¶ Contraction coefficient.
-
double
alpha0
¶ Exponents.
-
double
alpha1
¶
-
double
alpha2
¶
-
double
alpha3
¶
-
const double *
r0
¶ current gaussian centers
-
const double *
r1
¶
-
const double *
r2
¶
-
const double *
r3
¶
-
const double *
scales0
¶ normalization constants
-
const double *
scales1
¶
-
const double *
scales2
¶
-
const double *
scales3
¶
-
long
ibasis0
¶ basis function counters
-
long
ibasis1
¶
-
long
ibasis2
¶
-
long
ibasis3
¶
-
long
ishell0
¶ shell counters
-
long
ishell1
¶
-
long
ishell2
¶
-
long
ishell3
¶
-
long
ishell3_max
¶
-
long
nprim0
¶ number of primitives
-
long
nprim1
¶
-
long
nprim2
¶
-
long
nprim3
¶
-
long
iprim0
¶ primitive counters
-
long
iprim1
¶
-
long
iprim2
¶
-
long
iprim3
¶
-
long
oprim0
¶ primitive offsets
-
long
oprim1
¶
-
long
oprim2
¶
-
long
oprim3
¶
-
int