diff --git a/Simulation.ml b/Simulation.ml new file mode 100644 index 0000000..d979da5 --- /dev/null +++ b/Simulation.ml @@ -0,0 +1,28 @@ +type t = { + basis : Basis.t; + nuclei : Nuclei.t; + overlap : Overlap.t lazy_t; + eN_ints : NucInt.t lazy_t; + kin_ints : KinInt.t lazy_t; + ee_ints : ERI.t lazy_t; +} + +let make ~nuclei ~basis = + { + basis ; nuclei ; + overlap = lazy (Overlap.of_basis basis); + eN_ints = lazy (NucInt.of_basis_nuclei basis nuclei); + kin_ints = lazy (KinInt.of_basis basis); + ee_ints = lazy (ERI.of_basis basis); + } + + +let of_filenames ~basis ~nuclei = + let nuclei = + Nuclei.of_filename ~filename:nuclei + in + let basis = + Basis.of_nuclei_and_basis_filename ~nuclei ~filename:basis + in + make ~nuclei ~basis +