mirror of
https://gitlab.com/scemama/QCaml.git
synced 2024-11-15 18:43:40 +01:00
22 lines
900 B
OCaml
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
|