Package org.openscience.cdk.math.qm
Class GaussiansBasis
java.lang.Object
org.openscience.cdk.math.qm.GaussiansBasis
- All Implemented Interfaces:
IBasis
- Direct Known Subclasses:
SimpleBasisSet
This class contains the information to use gauss function as a base
for calculation of quantum mechanics. The function is defined as:
f(x,y,z) = (x-rx)^nx * (y-ry)^ny * (z-rz)^nz * exp(-alpha*(r-ri)^2)
S = <phi_i|phi_j>
J = <d/dr phi_i | d/dr phi_j>
V = <phi_i | 1/r | phi_j>
- Author:
- Stephan Michels <stephan@vern.chem.tu-berlin.de>
- Source code:
- main
- Belongs to CDK module:
- qm
- Keywords:
- Gaussian basis set
- Created on:
- 2001-06-14
-
Constructor Summary
ConstructorsConstructorDescriptionGaussiansBasis
(int[] nx, int[] ny, int[] nz, double[] alpha, Vector[] r, IAtom[] atoms) Set up basis with gauss funktions f(x,y,z) = (x-rx)^nx * (y-ry)^ny * (z-rz)^nz * exp(-alpha*(r-ri)^2). -
Method Summary
Modifier and TypeMethodDescriptiondouble
double
calcG
(int n, double t, double alphai, double alphaj, double xi, double xj, double xN) Transfer equation for the calculation of core potentialsdouble
calcG
(int n, int m, double u, double alphai, double alphaj, double alphak, double alphal, double xi, double xj, double xk, double xl) Transfer equation for a four center integral.double
calcI
(int i, int j, int k, int l) Calculates a two eletron fout center integral I = <chi_i chi_j | 1/r12 | chi_k chi_l >.double
calcI
(int ni, int nj, int nk, int nl, double u, double alphai, double alphaj, double alphak, double alphal, double xi, double xj, double xk, double xl) Transfer equation for a four center integral.double
calcJ
(int i, int j) Calculates the impulse J = -<d/dr chi_i | d/dr chi_j>.double
calcJ
(int ni, int nj, double alphai, double alphaj, double xi, double xj) Transfer equation the the calculation of the impulsedouble
calcS
(int i, int j) Calculate the overlap integral S = <phi_i|phi_j>.double
calcV
(int i, int j) Calculates the core potential.double
Calculates the core potential.double
getMaxX()
Gets the dimension of the volume, which describes the base.double
getMaxY()
Gets the dimension of the volume, which describes the base.double
getMaxZ()
Gets the dimension of the volume, which describes the base.double
getMinX()
Gets the dimension of the volume, which describes the base.double
getMinY()
Gets the dimension of the volume, which describes the base.double
getMinZ()
Gets the dimension of the volume, which describes the base.getPosition
(int index) Gets the position of a base.int
getSize()
Gets the number of base vectors.double
getValue
(int index, double x, double y, double z) Calculates the function value an (x,y,z).Calculates the function values.protected void
Set up basis with gauss funktions f(x,y,z) = (x-rx)^nx * (y-ry)^ny * (z-rz)^nz * exp(-alpha*(r-ri)^2).
-
Constructor Details
-
GaussiansBasis
public GaussiansBasis() -
GaussiansBasis
Set up basis with gauss funktions f(x,y,z) = (x-rx)^nx * (y-ry)^ny * (z-rz)^nz * exp(-alpha*(r-ri)^2).- Parameters:
atoms
- The atom will need to calculate the core potential
-
-
Method Details
-
setBasis
Set up basis with gauss funktions f(x,y,z) = (x-rx)^nx * (y-ry)^ny * (z-rz)^nz * exp(-alpha*(r-ri)^2).- Parameters:
atoms
- The atom will need to calculate the core potential
-
getSize
public int getSize()Gets the number of base vectors. -
getMinX
public double getMinX()Gets the dimension of the volume, which describes the base. -
getMaxX
public double getMaxX()Gets the dimension of the volume, which describes the base. -
getMinY
public double getMinY()Gets the dimension of the volume, which describes the base. -
getMaxY
public double getMaxY()Gets the dimension of the volume, which describes the base. -
getMinZ
public double getMinZ()Gets the dimension of the volume, which describes the base. -
getMaxZ
public double getMaxZ()Gets the dimension of the volume, which describes the base. -
getValue
public double getValue(int index, double x, double y, double z) Calculates the function value an (x,y,z). -
getValues
Calculates the function values. -
getPosition
Gets the position of a base. -
calcD
-
calcS
public double calcS(int i, int j) Description copied from interface:IBasis
Calculate the overlap integral S = <phi_i|phi_j>. -
calcJ
public double calcJ(int ni, int nj, double alphai, double alphaj, double xi, double xj) Transfer equation the the calculation of the impulse -
calcJ
public double calcJ(int i, int j) Description copied from interface:IBasis
Calculates the impulse J = -<d/dr chi_i | d/dr chi_j>. -
calcG
public double calcG(int n, double t, double alphai, double alphaj, double xi, double xj, double xN) Transfer equation for the calculation of core potentials -
calcV
Calculates the core potential. It use a 10 point Simpson formula.- Parameters:
i
- Index of the first basej
- Index of the second baserN
- Position the core potentialZ
- Atomic number of the nucleous
-
calcV
public double calcV(int i, int j) Calculates the core potential. It use a 10 point Simpson formula. -
calcG
public double calcG(int n, int m, double u, double alphai, double alphaj, double alphak, double alphal, double xi, double xj, double xk, double xl) Transfer equation for a four center integral. -
calcI
public double calcI(int ni, int nj, int nk, int nl, double u, double alphai, double alphaj, double alphak, double alphal, double xi, double xj, double xk, double xl) Transfer equation for a four center integral. -
calcI
public double calcI(int i, int j, int k, int l) Description copied from interface:IBasis
Calculates a two eletron fout center integral I = <chi_i chi_j | 1/r12 | chi_k chi_l >.
-