10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-11-06 22:23:42 +01:00
QCaml/Basis/AOBasis.mli

22 lines
900 B
OCaml

(** Data structure for Atomic Orbitals. *)
type t = private
{
basis : Basis.t ; (* One-electron basis set *)
overlap : Overlap.t lazy_t; (* Overlap matrix *)
ortho : Orthonormalization.t lazy_t; (* Orthonormalization matrix of the overlap *)
eN_ints : NucInt.t lazy_t; (* Electron-nucleus potential integrals *)
ee_ints : ERI.t lazy_t; (* Electron-electron potential integrals *)
kin_ints : KinInt.t lazy_t; (* Kinetic energy integrals *)
cartesian : bool ; (* If true, use cartesian Gaussians (6d, 10f, ...) *)
}
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} *)
(** {2 Tests} *)
val test_case : t -> unit Alcotest.test_case list