GaIn
1.0
|
GaIn is intended to provide routines with a relatively simple interface for calculation of overlap, kinetic and 2,3 and 4 center Coulomb integrals over either Solid or Cubic Harmonics Gaussian basis sets.
Two types of gaussian basis functions are implemented:
the function naming convention use the prefix "C" for the cubic harmonics orbitals :
the function naming convention use the prefix "Y" for the solid harmonics orbitals :
While there is no ambiguity for cubic harmonic, we give below the expressions used for the first solid harmonics:
For convenience, a function Y_Value is provided to get the value in r of any solid harmonic up to l=6 in the current convention.
To build from scrath you need to perform:
./configure # generates Makefiles and config.h
make # build
make check # run the tests
make install # install the library in the lib folder
Two type of routines are provided:
C_integral_C
and
Y_integral_Y
where "C" stand for cubic harmonics dedicated routines and "Y" for solid harmonics routines. Here, "integral" can be either "Overlap", "Laplacian" or "Coulomb".
For Coulomb integrals, we have also defined YY_Coulomb_Y and CC_Coulomb_C for three center integrals, YY_Coulomb_YY and CC_Coulomb_CC for four centers integrals, and YY_Coulomb_Ion and CC_Coulomb_Ion for ionic potential calculation.
Each Solid Harmonics is passed through its (single) zeta exponent (double precision) , center (double precision [3]), l (integer) and m (integer) momentum, while Cubic Harmonic are described with their (single) zeta exponent (double precision), center (double precision [3]), and x (integer), y (integer) and z (integer) respective power.
As an example the calling convention of the overlap routine from fortran is thus:
S12 = C_Overlap_C(zeta1,R1,nx1,ny1,nz1,zeta2,R2,nx2,ny2,nz2)
or
S12 = Y_Overlap_Y(zeta1,R1,l1,m1,zeta2,R2,l2,m2)
A C/C++ header is provided in the include folder, defining the calling convetion to be used form C/C++ programs.
The file documentation gives the detailed API for the functions provided within the GaIn library.