3.3.10. horton/gbasis/gbasis.h – Gaussian basis set classes

Functions

const double gob_cart_normalization(const double alpha, const long *n)
const double gob_pure_normalization(const double alpha, const long l)
class GBasis

Public Functions

GBasis(const double *centers, const long *shell_map, const long *nprims, const long *shell_types, const double *alphas, const double *con_coeffs, const long ncenter, const long nshell, const long nprim_total)
virtual ~GBasis()
virtual const double normalization(const double alpha, const long *n) const = 0
void init_scales()
void compute_two_index(double *output, GB2Integral *integral)
void compute_four_index(double *output, GB4Integral *integral)
void compute_grid_point1(double *output, double *point, GB1GridFn *grid_fn)
double compute_grid_point2(double *dm, double *point, GB2DMGridFn *grid_fn)
const long get_nbasis() const
const long get_nscales() const
const long get_max_shell_type() const
const long *get_basis_offsets() const
const long *get_prim_offsets() const
const long *get_shell_lookup() const
const double *get_scales(long iprim) const

Public Members

const double *centers
const long *shell_map
const long *nprims
const long *shell_types
const double *alphas
const double *con_coeffs
const long ncenter
const long nshell
const long nprim_total

Private Members

long *basis_offsets
long *prim_offsets
long *scales_offsets
long *shell_lookup
double *scales
long nbasis
long nscales
long max_shell_type
class GOBasis

Public Functions

GOBasis(const double *centers, const long *shell_map, const long *nprims, const long *shell_types, const double *alphas, const double *con_coeffs, const long ncenter, const long nshell, const long nprim_total)
virtual const double normalization(const double alpha, const long *n) const
void compute_overlap(double *output)

Computes the overlap integrals.

Parameters
  • output -

    The output array with the integrals.

void compute_kinetic(double *output)

Computes the kinetic integrals.

Parameters
  • output -

    The output array with the integrals.

void compute_nuclear_attraction(double *charges, double *centers, long ncharge, double *output)

Computes the nuclear attraction integrals.

Parameters
  • charges -

    The array with values on the nuclear charges.

  • centers -

    The array with location of the nuclear charges.

  • ncharge -

    The number of nuclear charges.

  • output -

    The output array with the integrals.

void compute_electron_repulsion(double *output)

Computes the electron repulsion integrals.

Parameters
  • output -

    The output array with the integrals.

void compute_erf_repulsion(double *output, double mu)

Computes the ERF electron repulsion integrals.

Parameters
  • output -

    The output array with the integrals.

  • mu -

    The range-separation parameter.

void compute_gauss_repulsion(double *output, double c, double alpha)

Computes the Gaussian electron repulsion integrals.

Parameters
  • output -

    The output array with the integrals.

  • c -

    Coefficient of the gaussian.

  • alpha -

    Exponential parameter of the gaussian.

void compute_ralpha_repulsion(double *output, double alpha)

Computes the r^alpha electron repulsion integrals.

Parameters
  • output -

    The output array with the integrals.

  • alpha -

    The power of r in the potential.

void compute_multipole_moment(long *xyz, double *center, double *output)

Computes the (multipole) moment integrals.

Parameters
  • xyz -

    The powers of xyz in the integrals.

  • center -

    The location around which the moment integrals are computed.

  • output -

    The output array with the integrals.

void compute_grid1_exp(long nfn, double *coeffs, long npoint, double *points, long norb, long *iorbs, double *output)
void compute_grid1_dm(double *dm, long npoint, double *points, GB1DMGridFn *grid_fn, double *output, double epsilon, double *dmmaxrow)
void compute_grid2_dm(double *dm, long npoint, double *points, double *output)
void compute_grid1_fock(long npoint, double *points, double *weights, long pot_stride, double *pots, GB1DMGridFn *grid_fn, double *output)