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 TypeMethodDescriptiondoubledoublecalcG(int n, double t, double alphai, double alphaj, double xi, double xj, double xN) Transfer equation for the calculation of core potentialsdoublecalcG(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.doublecalcI(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 >.doublecalcI(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.doublecalcJ(int i, int j) Calculates the impulse J = -<d/dr chi_i | d/dr chi_j>.doublecalcJ(int ni, int nj, double alphai, double alphaj, double xi, double xj) Transfer equation the the calculation of the impulsedoublecalcS(int i, int j) Calculate the overlap integral S = <phi_i|phi_j>.doublecalcV(int i, int j) Calculates the core potential.doubleCalculates the core potential.doublegetMaxX()Gets the dimension of the volume, which describes the base.doublegetMaxY()Gets the dimension of the volume, which describes the base.doublegetMaxZ()Gets the dimension of the volume, which describes the base.doublegetMinX()Gets the dimension of the volume, which describes the base.doublegetMinY()Gets the dimension of the volume, which describes the base.doublegetMinZ()Gets the dimension of the volume, which describes the base.getPosition(int index) Gets the position of a base.intgetSize()Gets the number of base vectors.doublegetValue(int index, double x, double y, double z) Calculates the function value an (x,y,z).Calculates the function values.protected voidSet 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:IBasisCalculate 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:IBasisCalculates 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:IBasisCalculates a two eletron fout center integral I = <chi_i chi_j | 1/r12 | chi_k chi_l >.
-