Working n multipole integrals

This commit is contained in:
Anthony Scemama 2020-04-19 18:38:14 +02:00
parent eb2cd547fa
commit 28e6241346
3 changed files with 24 additions and 17 deletions

View File

@ -141,7 +141,7 @@ let contracted_class shell_a shell_b : float Zmap.t array =
let result =
Array.map (fun c -> Zmap.create (Array.length c) ) contracted_class
in
for j=0 to Array.length result do
for j=0 to Array.length result -1 do
let rj = result.(j) in
let cj = contracted_class.(j) in
Array.iteri (fun i key -> Zmap.add rj key cj.(i)) class_indices

View File

@ -102,6 +102,10 @@ let make ~simulation ~mo_type ~mo_occupation ~mo_coef () =
f12_ints }
let values t point =
let c = mo_coef t in
let a = AOBasis.values (Simulation.ao_basis t.simulation) point in
gemv ~trans:`T c a
let of_hartree_fock hf =
let mo_coef = HF.eigenvectors hf in

View File

@ -55,6 +55,9 @@ val size : t -> int
val mo_energies : t -> Vec.t
(** Fock MO energies *)
val values : t -> Coordinate.t -> Vec.t
(** Values of the MOs evaluated at a given coordinate. *)
(** {1 Creators} *)
val make : simulation:Simulation.t ->