Gaussian Basis Sets
QuantumFoca.GaussianBasis
— TypeGaussianBasis
is a subtype of Basis
that stores the coefficients, exponents and angular momenta of the atomic orbital. A basis set in theoretical and computational chemistry is a set of functions (called basis functions) that is used to represent the electronic wave function in the Hartree–Fock method or density-functional theory in order to turn the partial differential equations of the model into algebraic equations suitable for efficient implementation on a computer. The use of basis sets is equivalent to the use of an approximate resolution of the identity: the orbitals $\vert \psi_{i} \rangle$ are expanded within the basis set as a linear combination of the basis functions $\vert \psi_{i} \rangle \approx \sum_{\mu } c_{\mu i} \vert \mu \rangle$, where the expansion coefficients $c_{\mu i}$ are given by $c_{\mu i} = \sum_{\nu } \langle \mu \vert \nu \rangle^{-1} \langle \nu \vert \psi_{i} \rangle$. The basis set can either be composed of atomic orbitals (yielding the linear combination of atomic orbitals approach), which is the usual choice within the quantum chemistry community; plane waves which are typically used within the solid state community, or real-space approaches. Several types of atomic orbitals can be used: Gaussian-type orbitals, Slater-type orbitals, or numerical atomic orbitals. Out of the three, Gaussian-type orbitals are by far the most often used, as they allow efficient implementations of Post-Hartree–Fock methods.
QuantumFoca.buildbasis
— MethodThe buildbasis
method takes a Molecule
as input and return for us an array of GaussianBasis
types. For example, let's open the same h2.xyz
example. As a standard basis set, we use STO-3G data.
2
H -1.788131055 0.000000000 -4.028513155
H -1.331928651 0.434077746 -3.639854078
We give the file as an input:
hydrogen = molecule("h2.xyz")
sto3g = buildbasis(hydrogen)