Class GOBasis

Inheritance Relationships

Base Type

Class Documentation

class GOBasis : public 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_delta_repulsion(double *output, double *shift = nullptr)

Computes the Dirac-Delta electron repulsion integrals.

Parameters
  • output: The output array with the integrals.

void compute_intra_density(double *output, double *point)

Computes the Intracule core integrals.

Parameters
  • output: The output array with the integrals.
  • point: The intracular coordinate.

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)