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

Subclassed by GOBasis

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)
~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

Inherits from GBasis

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)
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_erf_attraction(double *charges, double *centers, long ncharge, double *output, double mu)

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.
  • mu: The range-separation parameter.

void compute_gauss_attraction(double *charges, double *centers, long ncharge, double *output, double c, double alpha)

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.
  • c: Coefficient of the gaussian.
  • alpha: Exponential parameter of the gaussian.

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_grad_exp(long nfn, double *coeffs, long npoint, double *points, long norb, long *iorbs, double *output)

Computes the gradient of the molecular orbital on a grid.

Parameters
  • nfn: The number of functions.
  • coeffs: The coefficients for the basisfunction expanion.
  • npoint: The number of grid points to be calculated.
  • points: The coordinates of grid points to be calculated.
  • norb: The number of orbitals to be calculated.
  • iorbs: The orbitals to be calculated.
  • output: The output array with the integrals.

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)