From 084417669f3d67f80557c4ec8bd27ec2150548f5 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 9 Oct 2020 10:04:48 +0200 Subject: [PATCH 1/5] Fixed exception --- common/lib/qcaml.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/lib/qcaml.ml b/common/lib/qcaml.ml index dcccf10..38aa96b 100644 --- a/common/lib/qcaml.ml +++ b/common/lib/qcaml.ml @@ -3,7 +3,7 @@ let name = "QCaml" let root = let rec chop = function - | [] -> raise Not_found + | [] -> [] | x :: _ as l when x = name -> l | _ :: rest -> chop rest in From 357bb0289a034aec9a4fe75c88704bbabd33be47 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 9 Oct 2020 15:56:50 +0200 Subject: [PATCH 2/5] Exposing modules --- qcaml/lib/qcaml.ml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/qcaml/lib/qcaml.ml b/qcaml/lib/qcaml.ml index f94dc16..a96182d 100644 --- a/qcaml/lib/qcaml.ml +++ b/qcaml/lib/qcaml.ml @@ -1,2 +1,8 @@ module Common = Common module Ao = Ao +module Gaussian_basis = Gaussian_basis +module Gaussian_integrals = Gaussian_integrals +module Linear_algebra = Linear_algebra +module Operators = Operators +module Particles = Particles + From 62eacf4146af314580c7022fc6a57e2dfe8169b9 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sat, 10 Oct 2020 10:59:09 +0200 Subject: [PATCH 3/5] Renamed Gaussian_basis into Gaussian --- ao/lib/basis.ml | 2 +- ao/lib/basis_gaussian.ml | 4 ++-- ao/lib/basis_gaussian.mli | 6 +++--- ao/lib/dune | 2 +- ao/test/ao_basis_gaussian.ml | 2 +- {gaussian_basis => gaussian}/lib/atomic_shell.ml | 0 {gaussian_basis => gaussian}/lib/atomic_shell.mli | 0 {gaussian_basis => gaussian}/lib/atomic_shell_pair.ml | 0 {gaussian_basis => gaussian}/lib/atomic_shell_pair.mli | 0 .../lib/atomic_shell_pair_couple.ml | 0 .../lib/atomic_shell_pair_couple.mli | 0 {gaussian_basis => gaussian}/lib/basis.ml | 0 {gaussian_basis => gaussian}/lib/basis.mli | 0 {gaussian_basis => gaussian}/lib/contracted_shell.ml | 0 {gaussian_basis => gaussian}/lib/contracted_shell.mli | 0 {gaussian_basis => gaussian}/lib/contracted_shell_pair.ml | 0 {gaussian_basis => gaussian}/lib/contracted_shell_pair.mli | 0 .../lib/contracted_shell_pair_couple.ml | 0 .../lib/contracted_shell_pair_couple.mli | 0 {gaussian_basis => gaussian}/lib/dune | 4 ++-- {gaussian_basis => gaussian}/lib/general_basis.ml | 0 {gaussian_basis => gaussian}/lib/general_basis.mli | 0 {gaussian_basis => gaussian}/lib/primitive_shell.ml | 0 {gaussian_basis => gaussian}/lib/primitive_shell.mli | 0 {gaussian_basis => gaussian}/lib/primitive_shell_pair.ml | 0 {gaussian_basis => gaussian}/lib/primitive_shell_pair.mli | 0 .../lib/primitive_shell_pair_couple.ml | 0 .../lib/primitive_shell_pair_couple.mli | 0 {gaussian_basis => gaussian}/test/dune | 2 +- {gaussian_basis => gaussian}/test/general_basis.ml | 2 +- gaussian_integrals/lib/dune | 2 +- gaussian_integrals/lib/electron_nucleus.ml | 2 +- gaussian_integrals/lib/electron_nucleus.mli | 2 +- gaussian_integrals/lib/eri.ml | 2 +- gaussian_integrals/lib/eri_long_range.ml | 2 +- gaussian_integrals/lib/f12_rr.ml | 2 +- gaussian_integrals/lib/kinetic.ml | 2 +- gaussian_integrals/lib/matrix_on_basis.mli | 2 +- gaussian_integrals/lib/multipole.ml | 2 +- gaussian_integrals/lib/multipole.mli | 2 +- gaussian_integrals/lib/one_electron_rr.ml | 2 +- gaussian_integrals/lib/orthonormalization.ml | 2 +- gaussian_integrals/lib/orthonormalization.mli | 2 +- gaussian_integrals/lib/overlap.ml | 2 +- gaussian_integrals/lib/screened_eri.ml | 2 +- gaussian_integrals/lib/two_electron_integrals.ml | 2 +- gaussian_integrals/lib/two_electron_integrals.mli | 2 +- gaussian_integrals/lib/two_electron_rr.ml | 2 +- gaussian_integrals/lib/two_electron_rr_vectorized.ml | 2 +- gaussian_integrals/test/general_basis.ml | 2 +- qcaml/lib/dune | 2 +- qcaml/lib/qcaml.ml | 2 +- 52 files changed, 34 insertions(+), 34 deletions(-) rename {gaussian_basis => gaussian}/lib/atomic_shell.ml (100%) rename {gaussian_basis => gaussian}/lib/atomic_shell.mli (100%) rename {gaussian_basis => gaussian}/lib/atomic_shell_pair.ml (100%) rename {gaussian_basis => gaussian}/lib/atomic_shell_pair.mli (100%) rename {gaussian_basis => gaussian}/lib/atomic_shell_pair_couple.ml (100%) rename {gaussian_basis => gaussian}/lib/atomic_shell_pair_couple.mli (100%) rename {gaussian_basis => gaussian}/lib/basis.ml (100%) rename {gaussian_basis => gaussian}/lib/basis.mli (100%) rename {gaussian_basis => gaussian}/lib/contracted_shell.ml (100%) rename {gaussian_basis => gaussian}/lib/contracted_shell.mli (100%) rename {gaussian_basis => gaussian}/lib/contracted_shell_pair.ml (100%) rename {gaussian_basis => gaussian}/lib/contracted_shell_pair.mli (100%) rename {gaussian_basis => gaussian}/lib/contracted_shell_pair_couple.ml (100%) rename {gaussian_basis => gaussian}/lib/contracted_shell_pair_couple.mli (100%) rename {gaussian_basis => gaussian}/lib/dune (81%) rename {gaussian_basis => gaussian}/lib/general_basis.ml (100%) rename {gaussian_basis => gaussian}/lib/general_basis.mli (100%) rename {gaussian_basis => gaussian}/lib/primitive_shell.ml (100%) rename {gaussian_basis => gaussian}/lib/primitive_shell.mli (100%) rename {gaussian_basis => gaussian}/lib/primitive_shell_pair.ml (100%) rename {gaussian_basis => gaussian}/lib/primitive_shell_pair.mli (100%) rename {gaussian_basis => gaussian}/lib/primitive_shell_pair_couple.ml (100%) rename {gaussian_basis => gaussian}/lib/primitive_shell_pair_couple.mli (100%) rename {gaussian_basis => gaussian}/test/dune (84%) rename {gaussian_basis => gaussian}/test/general_basis.ml (99%) diff --git a/ao/lib/basis.ml b/ao/lib/basis.ml index 81b46f4..6867f76 100644 --- a/ao/lib/basis.ml +++ b/ao/lib/basis.ml @@ -14,7 +14,7 @@ let of_nuclei_and_basis_filename ?(kind=`Gaussian) ?operators ?(cartesian=false) match kind with | `Gaussian -> let basis = - Gaussian_basis.Basis.of_nuclei_and_basis_filename ~nuclei filename + Gaussian.Basis.of_nuclei_and_basis_filename ~nuclei filename in let ao_basis = Gaussian (Basis_gaussian.make ~basis ?operators ~cartesian nuclei ) diff --git a/ao/lib/basis_gaussian.ml b/ao/lib/basis_gaussian.ml index 36ee919..0122ec6 100644 --- a/ao/lib/basis_gaussian.ml +++ b/ao/lib/basis_gaussian.ml @@ -1,9 +1,9 @@ open Linear_algebra -open Gaussian_basis +open Gaussian open Gaussian_integrals open Operators -module Basis = Gaussian_basis.Basis +module Basis = Gaussian.Basis type t = { diff --git a/ao/lib/basis_gaussian.mli b/ao/lib/basis_gaussian.mli index 9b62166..dfc2630 100644 --- a/ao/lib/basis_gaussian.mli +++ b/ao/lib/basis_gaussian.mli @@ -12,7 +12,7 @@ type t val size : t -> int (** Number of atomic orbitals *) -val basis : t -> Gaussian_basis.Basis.t +val basis : t -> Gaussian.Basis.t (** One-electron basis set *) val overlap : t -> Overlap.t @@ -45,14 +45,14 @@ val kin_ints : t -> Kinetic.t val cartesian : t -> bool (** If true, use cartesian Gaussians (6d, 10f, ...) *) -val values : t -> Coordinate.t -> Gaussian_basis.Basis.t Vector.t +val values : t -> Coordinate.t -> Gaussian.Basis.t Vector.t (** Values of the AOs evaluated at a given point *) (** {1 Creators} *) -val make : basis:Gaussian_basis.Basis.t -> ?operators:Operator.t list -> +val make : basis:Gaussian.Basis.t -> ?operators:Operator.t list -> ?cartesian:bool -> Nuclei.t -> t (** Creates the data structure for atomic orbitals from a Gaussian basis and the molecular geometry {Nuclei.t} *) diff --git a/ao/lib/dune b/ao/lib/dune index 379db74..756db5f 100644 --- a/ao/lib/dune +++ b/ao/lib/dune @@ -6,7 +6,7 @@ (libraries qcaml.common qcaml.particles - qcaml.gaussian_basis + qcaml.gaussian qcaml.gaussian_integrals qcaml.operators ) diff --git a/ao/test/ao_basis_gaussian.ml b/ao/test/ao_basis_gaussian.ml index b68d948..cfd461c 100644 --- a/ao/test/ao_basis_gaussian.ml +++ b/ao/test/ao_basis_gaussian.ml @@ -1,6 +1,6 @@ open Alcotest open Gaussian_integrals -open Gaussian_basis +open Gaussian open Particles open Operators open Linear_algebra diff --git a/gaussian_basis/lib/atomic_shell.ml b/gaussian/lib/atomic_shell.ml similarity index 100% rename from gaussian_basis/lib/atomic_shell.ml rename to gaussian/lib/atomic_shell.ml diff --git a/gaussian_basis/lib/atomic_shell.mli b/gaussian/lib/atomic_shell.mli similarity index 100% rename from gaussian_basis/lib/atomic_shell.mli rename to gaussian/lib/atomic_shell.mli diff --git a/gaussian_basis/lib/atomic_shell_pair.ml b/gaussian/lib/atomic_shell_pair.ml similarity index 100% rename from gaussian_basis/lib/atomic_shell_pair.ml rename to gaussian/lib/atomic_shell_pair.ml diff --git a/gaussian_basis/lib/atomic_shell_pair.mli b/gaussian/lib/atomic_shell_pair.mli similarity index 100% rename from gaussian_basis/lib/atomic_shell_pair.mli rename to gaussian/lib/atomic_shell_pair.mli diff --git a/gaussian_basis/lib/atomic_shell_pair_couple.ml b/gaussian/lib/atomic_shell_pair_couple.ml similarity index 100% rename from gaussian_basis/lib/atomic_shell_pair_couple.ml rename to gaussian/lib/atomic_shell_pair_couple.ml diff --git a/gaussian_basis/lib/atomic_shell_pair_couple.mli b/gaussian/lib/atomic_shell_pair_couple.mli similarity index 100% rename from gaussian_basis/lib/atomic_shell_pair_couple.mli rename to gaussian/lib/atomic_shell_pair_couple.mli diff --git a/gaussian_basis/lib/basis.ml b/gaussian/lib/basis.ml similarity index 100% rename from gaussian_basis/lib/basis.ml rename to gaussian/lib/basis.ml diff --git a/gaussian_basis/lib/basis.mli b/gaussian/lib/basis.mli similarity index 100% rename from gaussian_basis/lib/basis.mli rename to gaussian/lib/basis.mli diff --git a/gaussian_basis/lib/contracted_shell.ml b/gaussian/lib/contracted_shell.ml similarity index 100% rename from gaussian_basis/lib/contracted_shell.ml rename to gaussian/lib/contracted_shell.ml diff --git a/gaussian_basis/lib/contracted_shell.mli b/gaussian/lib/contracted_shell.mli similarity index 100% rename from gaussian_basis/lib/contracted_shell.mli rename to gaussian/lib/contracted_shell.mli diff --git a/gaussian_basis/lib/contracted_shell_pair.ml b/gaussian/lib/contracted_shell_pair.ml similarity index 100% rename from gaussian_basis/lib/contracted_shell_pair.ml rename to gaussian/lib/contracted_shell_pair.ml diff --git a/gaussian_basis/lib/contracted_shell_pair.mli b/gaussian/lib/contracted_shell_pair.mli similarity index 100% rename from gaussian_basis/lib/contracted_shell_pair.mli rename to gaussian/lib/contracted_shell_pair.mli diff --git a/gaussian_basis/lib/contracted_shell_pair_couple.ml b/gaussian/lib/contracted_shell_pair_couple.ml similarity index 100% rename from gaussian_basis/lib/contracted_shell_pair_couple.ml rename to gaussian/lib/contracted_shell_pair_couple.ml diff --git a/gaussian_basis/lib/contracted_shell_pair_couple.mli b/gaussian/lib/contracted_shell_pair_couple.mli similarity index 100% rename from gaussian_basis/lib/contracted_shell_pair_couple.mli rename to gaussian/lib/contracted_shell_pair_couple.mli diff --git a/gaussian_basis/lib/dune b/gaussian/lib/dune similarity index 81% rename from gaussian_basis/lib/dune rename to gaussian/lib/dune index 3922710..6484a3f 100644 --- a/gaussian_basis/lib/dune +++ b/gaussian/lib/dune @@ -1,8 +1,8 @@ ; name = name of the supermodule that will wrap all source files as submodules ; public_name = name of the library for ocamlfind and opam (library - (name gaussian_basis) - (public_name qcaml.gaussian_basis) + (name gaussian) + (public_name qcaml.gaussian) (libraries str qcaml.common diff --git a/gaussian_basis/lib/general_basis.ml b/gaussian/lib/general_basis.ml similarity index 100% rename from gaussian_basis/lib/general_basis.ml rename to gaussian/lib/general_basis.ml diff --git a/gaussian_basis/lib/general_basis.mli b/gaussian/lib/general_basis.mli similarity index 100% rename from gaussian_basis/lib/general_basis.mli rename to gaussian/lib/general_basis.mli diff --git a/gaussian_basis/lib/primitive_shell.ml b/gaussian/lib/primitive_shell.ml similarity index 100% rename from gaussian_basis/lib/primitive_shell.ml rename to gaussian/lib/primitive_shell.ml diff --git a/gaussian_basis/lib/primitive_shell.mli b/gaussian/lib/primitive_shell.mli similarity index 100% rename from gaussian_basis/lib/primitive_shell.mli rename to gaussian/lib/primitive_shell.mli diff --git a/gaussian_basis/lib/primitive_shell_pair.ml b/gaussian/lib/primitive_shell_pair.ml similarity index 100% rename from gaussian_basis/lib/primitive_shell_pair.ml rename to gaussian/lib/primitive_shell_pair.ml diff --git a/gaussian_basis/lib/primitive_shell_pair.mli b/gaussian/lib/primitive_shell_pair.mli similarity index 100% rename from gaussian_basis/lib/primitive_shell_pair.mli rename to gaussian/lib/primitive_shell_pair.mli diff --git a/gaussian_basis/lib/primitive_shell_pair_couple.ml b/gaussian/lib/primitive_shell_pair_couple.ml similarity index 100% rename from gaussian_basis/lib/primitive_shell_pair_couple.ml rename to gaussian/lib/primitive_shell_pair_couple.ml diff --git a/gaussian_basis/lib/primitive_shell_pair_couple.mli b/gaussian/lib/primitive_shell_pair_couple.mli similarity index 100% rename from gaussian_basis/lib/primitive_shell_pair_couple.mli rename to gaussian/lib/primitive_shell_pair_couple.mli diff --git a/gaussian_basis/test/dune b/gaussian/test/dune similarity index 84% rename from gaussian_basis/test/dune rename to gaussian/test/dune index f6a55c6..7002656 100644 --- a/gaussian_basis/test/dune +++ b/gaussian/test/dune @@ -3,6 +3,6 @@ (libraries alcotest qcaml.particles - qcaml.gaussian_basis + qcaml.gaussian ) (synopsis "Tests for Gaussian basis sets")) diff --git a/gaussian_basis/test/general_basis.ml b/gaussian/test/general_basis.ml similarity index 99% rename from gaussian_basis/test/general_basis.ml rename to gaussian/test/general_basis.ml index c0df59d..b7fc4a0 100644 --- a/gaussian_basis/test/general_basis.ml +++ b/gaussian/test/general_basis.ml @@ -1,6 +1,6 @@ open Common open Particles -open Gaussian_basis +open Gaussian open Alcotest let wd = Common.Qcaml.root ^ Filename.dir_sep ^ "test" diff --git a/gaussian_integrals/lib/dune b/gaussian_integrals/lib/dune index 8bde0cc..78dc243 100644 --- a/gaussian_integrals/lib/dune +++ b/gaussian_integrals/lib/dune @@ -7,7 +7,7 @@ str qcaml.common qcaml.linear_algebra - qcaml.gaussian_basis + qcaml.gaussian qcaml.operators ) (modules_without_implementation matrix_on_basis) diff --git a/gaussian_integrals/lib/electron_nucleus.ml b/gaussian_integrals/lib/electron_nucleus.ml index 022db9b..52d006b 100644 --- a/gaussian_integrals/lib/electron_nucleus.ml +++ b/gaussian_integrals/lib/electron_nucleus.ml @@ -3,7 +3,7 @@ include Common include Particles include Linear_algebra -include Gaussian_basis +include Gaussian open Util open Constants diff --git a/gaussian_integrals/lib/electron_nucleus.mli b/gaussian_integrals/lib/electron_nucleus.mli index cc3c1d1..199887e 100644 --- a/gaussian_integrals/lib/electron_nucleus.mli +++ b/gaussian_integrals/lib/electron_nucleus.mli @@ -9,7 +9,7 @@ $$ %} include module type of Matrix_on_basis open Particles -open Gaussian_basis +open Gaussian val of_basis_nuclei : basis:Basis.t -> Nuclei.t -> t (** Build from a {Basis.t} and the nuclei (coordinates and charges). *) diff --git a/gaussian_integrals/lib/eri.ml b/gaussian_integrals/lib/eri.ml index b04d279..a98e072 100644 --- a/gaussian_integrals/lib/eri.ml +++ b/gaussian_integrals/lib/eri.ml @@ -1,7 +1,7 @@ (** Electron-electron repulsion integrals *) open Common -open Gaussian_basis +open Gaussian module Csp = Contracted_shell_pair module Cspc = Contracted_shell_pair_couple diff --git a/gaussian_integrals/lib/eri_long_range.ml b/gaussian_integrals/lib/eri_long_range.ml index c524396..ff7485f 100644 --- a/gaussian_integrals/lib/eri_long_range.ml +++ b/gaussian_integrals/lib/eri_long_range.ml @@ -3,7 +3,7 @@ *) open Common -open Gaussian_basis +open Gaussian open Operators module Csp = Contracted_shell_pair diff --git a/gaussian_integrals/lib/f12_rr.ml b/gaussian_integrals/lib/f12_rr.ml index bd72dec..89f7168 100644 --- a/gaussian_integrals/lib/f12_rr.ml +++ b/gaussian_integrals/lib/f12_rr.ml @@ -1,5 +1,5 @@ open Common -open Gaussian_basis +open Gaussian module Am = Angular_momentum module Asp = Atomic_shell_pair diff --git a/gaussian_integrals/lib/kinetic.ml b/gaussian_integrals/lib/kinetic.ml index 5bbc75d..2e1a830 100644 --- a/gaussian_integrals/lib/kinetic.ml +++ b/gaussian_integrals/lib/kinetic.ml @@ -1,6 +1,6 @@ open Common open Linear_algebra -open Gaussian_basis +open Gaussian open Util open Constants diff --git a/gaussian_integrals/lib/matrix_on_basis.mli b/gaussian_integrals/lib/matrix_on_basis.mli index 41a4a37..2ad40bd 100644 --- a/gaussian_integrals/lib/matrix_on_basis.mli +++ b/gaussian_integrals/lib/matrix_on_basis.mli @@ -1,6 +1,6 @@ (** Signature for matrices built on the {!Basis.t} *) -open Gaussian_basis +open Gaussian open Linear_algebra type t = (Basis.t, Basis.t) Matrix.t diff --git a/gaussian_integrals/lib/multipole.ml b/gaussian_integrals/lib/multipole.ml index b8e92ea..deea6e0 100644 --- a/gaussian_integrals/lib/multipole.ml +++ b/gaussian_integrals/lib/multipole.ml @@ -1,6 +1,6 @@ open Common open Linear_algebra -open Gaussian_basis +open Gaussian open Constants type t = (Basis.t, Basis.t) Matrix.t array diff --git a/gaussian_integrals/lib/multipole.mli b/gaussian_integrals/lib/multipole.mli index cbeeae8..f9e8ba8 100644 --- a/gaussian_integrals/lib/multipole.mli +++ b/gaussian_integrals/lib/multipole.mli @@ -10,7 +10,7 @@ *) open Linear_algebra -open Gaussian_basis +open Gaussian type t = (Basis.t, Basis.t) Matrix.t array diff --git a/gaussian_integrals/lib/one_electron_rr.ml b/gaussian_integrals/lib/one_electron_rr.ml index 0636d5c..956f363 100644 --- a/gaussian_integrals/lib/one_electron_rr.ml +++ b/gaussian_integrals/lib/one_electron_rr.ml @@ -2,7 +2,7 @@ open Common open Particles open Util open Constants -open Gaussian_basis +open Gaussian exception NullPair diff --git a/gaussian_integrals/lib/orthonormalization.ml b/gaussian_integrals/lib/orthonormalization.ml index 1d1c1c6..2bc6a98 100644 --- a/gaussian_integrals/lib/orthonormalization.ml +++ b/gaussian_integrals/lib/orthonormalization.ml @@ -1,6 +1,6 @@ open Common open Linear_algebra -open Gaussian_basis +open Gaussian module Am = Angular_momentum module Bs = Basis diff --git a/gaussian_integrals/lib/orthonormalization.mli b/gaussian_integrals/lib/orthonormalization.mli index 6e8d8b6..3343bbb 100644 --- a/gaussian_integrals/lib/orthonormalization.mli +++ b/gaussian_integrals/lib/orthonormalization.mli @@ -1,6 +1,6 @@ (** Orthonormalization of the basis. *) -open Gaussian_basis +open Gaussian open Linear_algebra type t = (Basis.t, Basis.t) Matrix.t diff --git a/gaussian_integrals/lib/overlap.ml b/gaussian_integrals/lib/overlap.ml index b22bd89..9915ee7 100644 --- a/gaussian_integrals/lib/overlap.ml +++ b/gaussian_integrals/lib/overlap.ml @@ -1,6 +1,6 @@ open Common open Linear_algebra -open Gaussian_basis +open Gaussian open Util open Constants diff --git a/gaussian_integrals/lib/screened_eri.ml b/gaussian_integrals/lib/screened_eri.ml index 28573b3..5c5f6ce 100644 --- a/gaussian_integrals/lib/screened_eri.ml +++ b/gaussian_integrals/lib/screened_eri.ml @@ -1,7 +1,7 @@ (** Screened Electron-electron repulsion integrals (Yukawa potential). Required for F12/r12. *) open Common -open Gaussian_basis +open Gaussian open Operators module Csp = Contracted_shell_pair diff --git a/gaussian_integrals/lib/two_electron_integrals.ml b/gaussian_integrals/lib/two_electron_integrals.ml index 6601792..6551d47 100644 --- a/gaussian_integrals/lib/two_electron_integrals.ml +++ b/gaussian_integrals/lib/two_electron_integrals.ml @@ -3,7 +3,7 @@ open Common open Linear_algebra -open Gaussian_basis +open Gaussian open Operators open Constants diff --git a/gaussian_integrals/lib/two_electron_integrals.mli b/gaussian_integrals/lib/two_electron_integrals.mli index d78a7fd..12a2cf2 100644 --- a/gaussian_integrals/lib/two_electron_integrals.mli +++ b/gaussian_integrals/lib/two_electron_integrals.mli @@ -6,7 +6,7 @@ *) open Common -open Gaussian_basis +open Gaussian open Linear_algebra open Operators diff --git a/gaussian_integrals/lib/two_electron_rr.ml b/gaussian_integrals/lib/two_electron_rr.ml index 1dac495..e6969dd 100644 --- a/gaussian_integrals/lib/two_electron_rr.ml +++ b/gaussian_integrals/lib/two_electron_rr.ml @@ -1,5 +1,5 @@ open Common -open Gaussian_basis +open Gaussian module Am = Angular_momentum module Asp = Atomic_shell_pair diff --git a/gaussian_integrals/lib/two_electron_rr_vectorized.ml b/gaussian_integrals/lib/two_electron_rr_vectorized.ml index 789d9ea..e0701ae 100644 --- a/gaussian_integrals/lib/two_electron_rr_vectorized.ml +++ b/gaussian_integrals/lib/two_electron_rr_vectorized.ml @@ -1,5 +1,5 @@ open Common -open Gaussian_basis +open Gaussian open Linear_algebra module Am = Angular_momentum diff --git a/gaussian_integrals/test/general_basis.ml b/gaussian_integrals/test/general_basis.ml index 59dd7a7..8e7d504 100644 --- a/gaussian_integrals/test/general_basis.ml +++ b/gaussian_integrals/test/general_basis.ml @@ -1,6 +1,6 @@ open Common open Particles -open Gaussian_basis +open Gaussian open Alcotest let wd = Common.Qcaml.root ^ Filename.dir_sep ^ "test" diff --git a/qcaml/lib/dune b/qcaml/lib/dune index 6f107cf..9453e6b 100644 --- a/qcaml/lib/dune +++ b/qcaml/lib/dune @@ -6,7 +6,7 @@ (libraries qcaml.common qcaml.particles - qcaml.gaussian_basis + qcaml.gaussian qcaml.gaussian_integrals qcaml.operators qcaml.ao diff --git a/qcaml/lib/qcaml.ml b/qcaml/lib/qcaml.ml index a96182d..8784bd8 100644 --- a/qcaml/lib/qcaml.ml +++ b/qcaml/lib/qcaml.ml @@ -1,6 +1,6 @@ module Common = Common module Ao = Ao -module Gaussian_basis = Gaussian_basis +module Gaussian = Gaussian module Gaussian_integrals = Gaussian_integrals module Linear_algebra = Linear_algebra module Operators = Operators From 20a054719b484ba2b97c2a0856d150ae935bd001 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sun, 11 Oct 2020 22:43:12 +0200 Subject: [PATCH 4/5] Removed str --- dune-project | 1 - 1 file changed, 1 deletion(-) diff --git a/dune-project b/dune-project index 3d7638a..74b9906 100644 --- a/dune-project +++ b/dune-project @@ -27,7 +27,6 @@ in quantum chemistry.") (depends (ocaml (>= 4.10)) (dune (>= 1.10)) - str lacaml getopt zarith From fa3a407253907ea754ac813d7ab3efd788d78778 Mon Sep 17 00:00:00 2001 From: Pierre-Francois Loos Date: Mon, 12 Oct 2020 08:57:00 +0200 Subject: [PATCH 5/5] Add Multipole.to_file --- dune-project | 1 - gaussian_integrals/lib/multipole.ml | 16 ++++++++++++++++ gaussian_integrals/lib/multipole.mli | 4 ++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/dune-project b/dune-project index 3d7638a..74b9906 100644 --- a/dune-project +++ b/dune-project @@ -27,7 +27,6 @@ in quantum chemistry.") (depends (ocaml (>= 4.10)) (dune (>= 1.10)) - str lacaml getopt zarith diff --git a/gaussian_integrals/lib/multipole.ml b/gaussian_integrals/lib/multipole.ml index deea6e0..83cfe40 100644 --- a/gaussian_integrals/lib/multipole.ml +++ b/gaussian_integrals/lib/multipole.ml @@ -222,3 +222,19 @@ let of_basis basis = Array.iter Matrix.detri_inplace result; result + +let to_file ~filename eni_array = + let n = Matrix.dim1 eni_array in + let eni_array = Matrix.to_bigarray_inplace eni_array in + let oc = open_out filename in + + for j=1 to n do + for i=1 to j do + let value = eni_array.{i,j} in + if (value <> 0.) then + Printf.fprintf oc " %5d %5d %20.15f\n" i j value; + done; + done; + close_out oc + + diff --git a/gaussian_integrals/lib/multipole.mli b/gaussian_integrals/lib/multipole.mli index f9e8ba8..f897ccc 100644 --- a/gaussian_integrals/lib/multipole.mli +++ b/gaussian_integrals/lib/multipole.mli @@ -60,3 +60,7 @@ val matrix_z4 : t -> (Basis.t, Basis.t) Matrix.t (** {% $$ \langle \chi_i | z^4 | \chi_j \rangle $$ %} *) val of_basis : Basis.t -> t + +val to_file : filename:string -> (Basis.t, Basis.t) Matrix.t -> unit +(** Write a matrix to a file *) +