mirror of
https://gitlab.com/scemama/QCaml.git
synced 2024-11-15 18:43:40 +01:00
44 lines
729 B
OCaml
44 lines
729 B
OCaml
open Lacaml.D
|
|
|
|
type t =
|
|
{
|
|
basis : Basis.t ;
|
|
overlap : Overlap.t lazy_t;
|
|
ortho : Orthonormalization.t lazy_t;
|
|
eN_ints : NucInt.t lazy_t;
|
|
ee_ints : ERI.t lazy_t;
|
|
kin_ints : KinInt.t lazy_t;
|
|
cartesian : bool;
|
|
}
|
|
|
|
let make ~cartesian ~basis nuclei =
|
|
|
|
let overlap = lazy (
|
|
Overlap.of_basis basis
|
|
) in
|
|
|
|
let ortho = lazy (
|
|
Orthonormalization.make ~cartesian ~basis (Lazy.force overlap)
|
|
) in
|
|
|
|
let eN_ints = lazy (
|
|
NucInt.of_basis_nuclei ~basis nuclei
|
|
) in
|
|
|
|
let kin_ints = lazy (
|
|
KinInt.of_basis basis
|
|
) in
|
|
|
|
let ee_ints = lazy (
|
|
ERI.of_basis basis
|
|
) in
|
|
|
|
{ basis ; overlap ; ortho ; eN_ints ; kin_ints ; ee_ints ;
|
|
cartesian ;
|
|
}
|
|
|
|
|
|
|
|
|
|
|