3.3.8. horton/gbasis/common.h – Auxiliary functions




long fac(long n)
long fac2(long n)
long binom(long n, long m)
long get_shell_nbasis(long shell_type)
long get_max_shell_type()
const double dist_sq(const double *r0, const double *r1)
void compute_gpt_center(double alpha0, const double *r0, double alpha1, const double *r1, double gamma_inv, double *gpt_center)
double gpt_coeff(long k, long n0, long n1, double pa, double pb)
double gb_overlap_int1d(long n0, long n1, double pa, double pb, double gamma_inv)
void nuclear_attraction_helper(double *work_g, long n0, long n1, double pa, double pb, double pc, double gamma_inv)
double cit(int i, double t, int m)

cit =t^m (2^(2i)/(2i +1)!)

long jfac(int j, int n)


double dtaylor(int n, double alpha, double t, double prefac)

Evaluas the taylor series for r^alpha integrals.

Sum_i t^i * Gamma(i+(alpha+3)/2)*(2^(2i)/(2i +1)!

  • n -

    Angular moment (the order of the derivative of the basic integral Gn in Alhrichs Phys. Chem. Chem. Phys., 8, 3072 (2006)). The maximum value implemented is n=10.

  • alpha -

    The power of r in the potential.

  • t -


  • prefac -

    e^(-t)/rho^3/2 - This term helps the Taylor series to converge when t is a large number, the factor 1/2*sqrt(rho^alpha) was “replaced” and multiplied outside, at the end, in the laplace_of_potential function.