mirror of
https://gitlab.com/scemama/QCaml.git
synced 2025-01-03 10:05:40 +01:00
6.8 KiB
6.8 KiB
Gaussian basis
Data structure for Gaussian Atomic Orbitals:
\[ \chi_i(\mathbf{r}) = P_i(\mathbf{r}) \sum_k c_k \exp\left( -\alpha_k (\mathbf{r-R_A})^2 \right) \]
where the polynomial $P_i$ and the Gaussian part are both centered on nucleus $A$.
Type
<<<~Gaussian_basis.t~>>>
open Common
open Particles
open Linear_algebra
open Gaussian_integrals
open Operators
type t
Access
val basis : t -> Gaussian.Basis.t
val cartesian : t -> bool
val ee_ints : t -> Eri.t
val ee_lr_ints : t -> Eri_long_range.t
val eN_ints : t -> Electron_nucleus.t
val f12_ints : t -> F12.t
val f12_over_r12_ints : t -> Screened_eri.t
val kin_ints : t -> Kinetic.t
val multipole : t -> Multipole.t
val ortho : t -> Orthonormalization.t
val overlap : t -> Overlap.t
val size : t -> int
basis |
One-electron basis set |
cartesian |
If true, use cartesian Gaussians (6d, 10f, …) |
ee_ints |
Electron-electron potential integrals |
ee_lr_ints |
Electron-electron long-range potential integrals |
eN_ints |
Electron-nucleus potential integrals |
f12_ints |
Electron-electron potential integrals |
f12_over_r12_ints |
Electron-electron potential integrals |
kin_ints |
Kinetic energy integrals |
multipole |
Multipole matrices |
ortho |
Orthonormalization matrix of the overlap |
overlap |
Overlap matrix |
size |
Number of atomic orbitals |
Computation
val values : t ->
Coordinate.t ->
Gaussian.Basis.t Vector.t
values |
Returns the values of all the AOs evaluated at a given point |
Creation
val make : basis:Gaussian.Basis.t ->
?operators:Operator.t list ->
?cartesian:bool ->
Nuclei.t ->
t
Creates the data structure for atomic orbitals from a Gaussian basis and the
molecular geometry Nuclei.t
.
Defaults:
operators
:[]
cartesian
:false
Example:
let b = Ao.Basis_gaussian.make ~basis nuclei ;; val b : Ao.Basis_gaussian.t = Gaussian Basis, spherical, 15 AOs
Printers
val pp : Format.formatter -> t -> unit