2018-06-13 17:49:58 +02:00
|
|
|
(** Data structure for Atomic Orbitals. *)
|
|
|
|
|
2019-02-20 18:24:44 +01:00
|
|
|
type t
|
2018-06-13 17:49:58 +02:00
|
|
|
|
2019-02-20 18:24:44 +01:00
|
|
|
(** {1 Accessors} *)
|
|
|
|
|
|
|
|
val basis : t -> Basis.t
|
|
|
|
(** One-electron basis set *)
|
|
|
|
|
|
|
|
val overlap : t -> Overlap.t
|
|
|
|
(** Overlap matrix *)
|
|
|
|
|
|
|
|
val ortho : t -> Orthonormalization.t
|
|
|
|
(** Orthonormalization matrix of the overlap *)
|
|
|
|
|
|
|
|
val eN_ints : t -> NucInt.t
|
|
|
|
(** Electron-nucleus potential integrals *)
|
|
|
|
|
|
|
|
val ee_ints : t -> ERI.t
|
|
|
|
(** Electron-electron potential integrals *)
|
|
|
|
|
2019-03-13 22:02:08 +01:00
|
|
|
val f12_ints : t -> F12.t
|
|
|
|
(** Electron-electron potential integrals *)
|
|
|
|
|
2019-02-20 18:24:44 +01:00
|
|
|
val kin_ints : t -> KinInt.t
|
|
|
|
(** Kinetic energy integrals *)
|
|
|
|
|
|
|
|
val cartesian : t -> bool
|
|
|
|
(** If true, use cartesian Gaussians (6d, 10f, ...) *)
|
|
|
|
|
|
|
|
|
|
|
|
(** {1 Creators} *)
|
2018-06-13 17:49:58 +02:00
|
|
|
|
|
|
|
val make : cartesian:bool -> basis:Basis.t -> Nuclei.t -> t
|
|
|
|
(** Creates the data structure for atomic orbitals from a {Basis.t} and the
|
|
|
|
molecular geometry {Nuclei.t} *)
|
|
|
|
|
|
|
|
|
2018-07-05 00:39:17 +02:00
|
|
|
(** {2 Tests} *)
|
2019-02-20 18:24:44 +01:00
|
|
|
|
2018-07-05 00:39:17 +02:00
|
|
|
val test_case : t -> unit Alcotest.test_case list
|