The Julia Interface to Libint2
Lints.jl provides an interface to the Libint2 molecular integral generation library.
Only the default Libint library is supported, and is distributed as a binary when Lints is installed. Practically speaking, this means that nuclear gradients and Hessians are currently unavailable. This is not a technical issue, it just has not yet been required by the developers. If you want a Libint library with different features, please open an issue and we will take care of it!
Example of using Lints to compute overlap integrals for a molecule with the cc-pVDZ basis set.
using Lints @lints begin mol = Lints.Molecule([8,1,1],[[0.0,0.0,0.0], [1.0,0.0,0.0], [0.0,1.0,0.0]]) bas = Lints.BasisSet("cc-pVDZ",mol) S = Lints.make_S(bas) end
Wrapping the code that uses Lints in
@lints begin ... end takes care of initializing and finalizing Libint2 for you.
Technically, only some Lints functions are required to be in an
@lints block, but its easiest to remember to just put
all Lints-using code inside of one of these blocks.
|Integral type||Function signature|
|4 center ERI (mn|rs)||
|3-center ERI (Q|mn)||
|2-center ERI (P|Q)||