org.jscience.chemistry.quantum.integral
Class Integrals

java.lang.Object
  extended by org.jscience.chemistry.quantum.integral.Integrals

public final class Integrals
extends java.lang.Object

The equations herein are based upon:
'Gaussian Expansion Methods for Molecular Orbitals.' H. Taketa, S. Huzinaga, and K. O-ohata. H. Phys. Soc. Japan, 21, 2313, 1966. [THO paper].
and PyQuante ( http://pyquante.sf.net ).


Method Summary
static double binomial(int i, int j)
          the binomial coefficient
static double binomialPrefactor(int s, int ia, int ib, double xpa, double xpb)
          From Augspurger and Dykstra
static double computeFGamma(int m, double x)
          Incomplete gamma function
static double[] constructAArray(int l1, int l2, double pa, double pb, double cp, double gamma)
           "THO eq. 2.18 and 3.1
static double constructATerm(int i, int r, int u, int l1, int l2, double pax, double pbx, double cpx, double gamma)
          the A term
"THO eq. 2.18
static double[] constructBArray(int l1, int l2, int l3, int l4, double p, double a, double b, double q, double c, double d, double g1, double g2, double delta)
          Construct B array.
static double constructBTerm(int i1, int i2, int r1, int r2, int u, int l1, int l2, int l3, int l4, double px, double ax, double bx, double qx, double cx, double dx, double gamma1, double gamma2, double delta)
          Construct the B term

THO eq. 2.22

static double coulomb(ContractedGaussian a, ContractedGaussian b, ContractedGaussian c, ContractedGaussian d)
          2E coulomb interactions between 4 contracted Gaussians
static double coulombRepulsion(Point3D a, double aNorm, Power aPower, double aAlpha, Point3D b, double bNorm, Power bPower, double bAlpha, Point3D c, double cNorm, Power cPower, double cAlpha, Point3D d, double dNorm, Power dPower, double dAlpha)
          coulomb repulsion term
static double functionB(int i, int l1, int l2, double p, double a, double b, int r, double g)
          the function B, taken from PyQuante
static double functionB0(int i, int r, double g)
          the function B0, taken from PyQuante
static double gammaIncomplete(double a, double x)
          Incomple gamma function gamma() computed from Numerical Recipes routine gammp.
static double gammln(double x)
          Numerical recipes, section 6.1
static Point3D gaussianProductCenter(double alpha1, Point3D a, double alpha2, Point3D b)
          the gaussian product theorem
static int ijkl2intindex(int i, int j, int k, int l)
          Indexing (i,j,k,l) into long array.
static double kinetic(double alpha1, Power power1, Point3D a, double alpha2, Power power2, Point3D b)
          The Kinetic Energy (KE) componant

Taken from THO eq. 2.12

static double nuclearAttraction(Point3D a, double norm1, Power power1, double alpha1, Point3D b, double norm2, Power power2, double alpha2, Point3D c)
          The nuclear attraction term.
static double overlap(double alpha1, Power power, Point3D a, double alpha2, Power power2, Point3D b)
          Overlap matrix element taken form Taken from THO eq. 2.12
static double overlap1D(int l1, int l2, double pax, double pbx, double gamma)
          1D overlap.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

binomialPrefactor

public static double binomialPrefactor(int s,
                                       int ia,
                                       int ib,
                                       double xpa,
                                       double xpb)
From Augspurger and Dykstra


binomial

public static double binomial(int i,
                              int j)
the binomial coefficient


overlap

public static double overlap(double alpha1,
                             Power power,
                             Point3D a,
                             double alpha2,
                             Power power2,
                             Point3D b)
Overlap matrix element taken form Taken from THO eq. 2.12


overlap1D

public static double overlap1D(int l1,
                               int l2,
                               double pax,
                               double pbx,
                               double gamma)
1D overlap.

Taken from THO eq. 2.12


gaussianProductCenter

public static Point3D gaussianProductCenter(double alpha1,
                                            Point3D a,
                                            double alpha2,
                                            Point3D b)
the gaussian product theorem


kinetic

public static double kinetic(double alpha1,
                             Power power1,
                             Point3D a,
                             double alpha2,
                             Power power2,
                             Point3D b)
The Kinetic Energy (KE) componant

Taken from THO eq. 2.12


nuclearAttraction

public static double nuclearAttraction(Point3D a,
                                       double norm1,
                                       Power power1,
                                       double alpha1,
                                       Point3D b,
                                       double norm2,
                                       Power power2,
                                       double alpha2,
                                       Point3D c)
The nuclear attraction term.

Taken from THO eq. 2.12


constructAArray

public static double[] constructAArray(int l1,
                                       int l2,
                                       double pa,
                                       double pb,
                                       double cp,
                                       double gamma)
"THO eq. 2.18 and 3.1


constructATerm

public static double constructATerm(int i,
                                    int r,
                                    int u,
                                    int l1,
                                    int l2,
                                    double pax,
                                    double pbx,
                                    double cpx,
                                    double gamma)
the A term
"THO eq. 2.18


coulomb

public static double coulomb(ContractedGaussian a,
                             ContractedGaussian b,
                             ContractedGaussian c,
                             ContractedGaussian d)
2E coulomb interactions between 4 contracted Gaussians


coulombRepulsion

public static double coulombRepulsion(Point3D a,
                                      double aNorm,
                                      Power aPower,
                                      double aAlpha,
                                      Point3D b,
                                      double bNorm,
                                      Power bPower,
                                      double bAlpha,
                                      Point3D c,
                                      double cNorm,
                                      Power cPower,
                                      double cAlpha,
                                      Point3D d,
                                      double dNorm,
                                      Power dPower,
                                      double dAlpha)
coulomb repulsion term


constructBArray

public static double[] constructBArray(int l1,
                                       int l2,
                                       int l3,
                                       int l4,
                                       double p,
                                       double a,
                                       double b,
                                       double q,
                                       double c,
                                       double d,
                                       double g1,
                                       double g2,
                                       double delta)
Construct B array.

THO eq. 2.22


constructBTerm

public static double constructBTerm(int i1,
                                    int i2,
                                    int r1,
                                    int r2,
                                    int u,
                                    int l1,
                                    int l2,
                                    int l3,
                                    int l4,
                                    double px,
                                    double ax,
                                    double bx,
                                    double qx,
                                    double cx,
                                    double dx,
                                    double gamma1,
                                    double gamma2,
                                    double delta)
Construct the B term

THO eq. 2.22


functionB

public static double functionB(int i,
                               int l1,
                               int l2,
                               double p,
                               double a,
                               double b,
                               int r,
                               double g)
the function B, taken from PyQuante


functionB0

public static double functionB0(int i,
                                int r,
                                double g)
the function B0, taken from PyQuante


ijkl2intindex

public static int ijkl2intindex(int i,
                                int j,
                                int k,
                                int l)
Indexing (i,j,k,l) into long array.


computeFGamma

public static double computeFGamma(int m,
                                   double x)
Incomplete gamma function


gammaIncomplete

public static double gammaIncomplete(double a,
                                     double x)
Incomple gamma function gamma() computed from Numerical Recipes routine gammp.


gammln

public static double gammln(double x)
Numerical recipes, section 6.1