mirror of
https://gitlab.com/scemama/QCaml.git
synced 2025-01-03 10:05:40 +01:00
7.0 KiB
7.0 KiB
Basis
Data structure for Atomic Orbitals.
Polymorphic types
<<<~Basis.t~>>>
type t =
| Unknown
| Gaussian of Basis_gaussian.t
Types
<<<~Basis.t~>>>
type t
type ao = Ao_dim.t
open Common
open Particles
open Operators
open Linear_algebra
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
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 |
Printers
val pp : Format.formatter -> t -> unit