QCaml/Basis/AOBasis.mli

20 lines
833 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} *)