mirror of
https://gitlab.com/scemama/QCaml.git
synced 2024-11-18 20:12:26 +01:00
60 lines
1.4 KiB
OCaml
60 lines
1.4 KiB
OCaml
(** Data structure for Atomic Orbitals. *)
|
|
open Common
|
|
open Particles
|
|
open Linear_algebra
|
|
open Gaussian_integrals
|
|
open Operators
|
|
|
|
type t
|
|
|
|
(** {1 Accessors} *)
|
|
|
|
val size : t -> int
|
|
(** Number of atomic orbitals *)
|
|
|
|
val basis : t -> Gaussian.Basis.t
|
|
(** One-electron basis set *)
|
|
|
|
val overlap : t -> Overlap.t
|
|
(** Overlap matrix *)
|
|
|
|
val multipole : t -> Multipole.t
|
|
(** Multipole matrices *)
|
|
|
|
val ortho : t -> Orthonormalization.t
|
|
(** Orthonormalization matrix of the overlap *)
|
|
|
|
val eN_ints : t -> Electron_nucleus.t
|
|
(** Electron-nucleus potential integrals *)
|
|
|
|
val ee_ints : t -> Eri.t
|
|
(** Electron-electron potential integrals *)
|
|
|
|
val ee_lr_ints : t -> Eri_long_range.t
|
|
(** Electron-electron long-range potential integrals *)
|
|
|
|
val f12_ints : t -> F12.t
|
|
(** Electron-electron potential integrals *)
|
|
|
|
val f12_over_r12_ints : t -> Screened_eri.t
|
|
(** Electron-electron potential integrals *)
|
|
|
|
val kin_ints : t -> Kinetic.t
|
|
(** Kinetic energy integrals *)
|
|
|
|
val cartesian : t -> bool
|
|
(** If true, use cartesian Gaussians (6d, 10f, ...) *)
|
|
|
|
val values : t -> Coordinate.t -> Gaussian.Basis.t Vector.t
|
|
(** Values of the AOs evaluated at a given point *)
|
|
|
|
|
|
|
|
(** {1 Creators} *)
|
|
|
|
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}.
|
|
*)
|