Atomic Orbitals
Table of Contents
1 Summary
This modules contains the data structures used to characterize the atomic basis set.
2 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\).
2.1 Type
open Common open Particles open Linear_algebra open Gaussian_integrals open Operators type t
2.2 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 |
2.3 Computation
val values : t -> Coordinate.t -> Gaussian.Basis.t Vector.t
values |
Returns the values of all the AOs evaluated at a given point |
2.4 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
2.5 Printers
val pp : Format.formatter -> t -> unit
3 Basis
Data structure for Atomic Orbitals.
3.1 Polymorphic types
type t = | Unknown | Gaussian of Basis_gaussian.t
3.2 Types
type t type ao = Ao_dim.t open Common open Particles open Operators open Linear_algebra
3.3 Conversions
val of_nuclei_and_basis_filename : ?kind:[> `Gaussian ] -> ?operators:Operator.t list -> ?cartesian:bool -> nuclei:Nuclei.t -> string -> t
of_nuclei_and_basis_filename |
Creates the data structure for the atomic orbitals basis from a molecule Nuclei.t and the name of the basis-set file |
Defaults:
kind
:`Gaussian
operators
:[]
cartesian
:false
Example:
let b = Ao.Basis.of_nuclei_and_basis_filename ~nuclei filename;; val b : Ao.Basis.t = Gaussian Basis, spherical, 15 AOs
3.4 Access
val size : t -> int val ao_basis : t -> Basis_poly.t val overlap : t -> (ao,ao) Matrix.t val multipole : t -> string -> (ao,ao) Matrix.t val ortho : t -> (ao,'a) Matrix.t val eN_ints : t -> (ao,ao) Matrix.t val kin_ints : t -> (ao,ao) Matrix.t val ee_ints : t -> ao Four_idx_storage.t val ee_lr_ints : t -> ao Four_idx_storage.t val f12_ints : t -> ao Four_idx_storage.t val f12_over_r12_ints : t -> ao Four_idx_storage.t val cartesian : t -> bool val values : t -> Coordinate.t -> ao Vector.t
size |
Number of atomic orbitals in the AO basis set |
ao_basis |
One-electron basis set |
overlap |
Overlap matrix |
multipole |
Multipole matrices |
ortho |
Orthonormalization matrix of the overlap |
eN_ints |
Electron-nucleus potential integrals |
kin_ints |
Kinetic energy integrals |
ee_ints |
Electron-electron potential integrals |
ee_lr_ints |
Electron-electron long-range potential integrals |
f12_ints |
Electron-electron potential integrals |
f12_over_r12_ints |
Electron-electron potential integrals |
cartesian |
If true, use cartesian Gaussians (6d, 10f, …) |
values |
Values of the AOs evaluated at a given point |
3.5 Printers
val pp : Format.formatter -> t -> unit