From 1ca670e4b733b01c9ddaab4dbfef74f8113ec403 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 21 Mar 2018 22:48:02 +0100 Subject: [PATCH] Cleaning --- Basis/ERI.ml | 195 ------------------------------- Basis/TwoElectronRR.ml | 13 --- Basis/TwoElectronRRVectorized.ml | 11 -- 3 files changed, 219 deletions(-) diff --git a/Basis/ERI.ml b/Basis/ERI.ml index ad05f22..c1e6dfd 100644 --- a/Basis/ERI.ml +++ b/Basis/ERI.ml @@ -41,14 +41,6 @@ let zero_m ~maxm ~expo_pq_inv ~norm_pq_sq = result -(** Compute all the integrals of a contracted class *) -(* -let contracted_class shell_a shell_b shell_c shell_d : float Zmap.t = - TwoElectronRRVectorized.contracted_class ~zero_m shell_a shell_b shell_c shell_d - *) -let contracted_class shell_a shell_b shell_c shell_d : float Zmap.t = - TwoElectronRR.contracted_class ~zero_m shell_a shell_b shell_c shell_d - (** Compute all the integrals of a contracted class *) let contracted_class_shell_pairs_vec ?schwartz_p ?schwartz_q shell_p shell_q : float Zmap.t = TwoElectronRRVectorized.contracted_class_shell_pairs ~zero_m ?schwartz_p ?schwartz_q shell_p shell_q @@ -253,190 +245,3 @@ let to_file ~filename eri_array = done; close_out oc -(* - -module IntegralMap = Zmap -let index i j k l = - Zkey.of_int_array Zkey.Kind_4 [| i;j;k;l |] - - -module Key = struct - type t=int - let equal (x:int) (y:int) = x = y - let hash (x:int) = x -end -module IntegralMap = Hashtbl.Make(Key) -let index i j k l = - let f i k = - let (p,r) = - if i <= k then (i,k) else (k,i) - in p+ (r*r-r)/2 - in - let p = f i k and q = f j l in - f p q - - -let to_file ~filename basis = - let oc = open_out filename in - let zkey = Array.map (fun b -> - let result = - Angular_momentum.(zkey_array (Kind_1 b.totAngMom)) - in - { n=Array.length result ; cls=result } - ) basis - in - - let key_array = Array.make 12 0 in - let result = ref [] in - - let i_shift = ref 1 in - for i=0 to (Array.length basis) - 1 do - print_int !i_shift ; print_newline (); - let j_shift = ref 1 in - for j=0 to i do - let k_shift = ref 1 in - for k=0 to i do - let l_shift = ref 1 in - for l=0 to k do - let cls = - contracted_class basis.(i) basis.(j) basis.(k) basis.(l) - in - - for i_c = 0 to zkey.(i).n - 1 do - let x = Zkey.(to_int_array Kind_3 zkey.(i).cls.(i_c)) in - key_array.(0) <- x.(0); - key_array.(1) <- x.(1); - key_array.(2) <- x.(2); - for j_c = 0 to zkey.(j).n - 1 do - let x = Zkey.(to_int_array Kind_3 zkey.(j).cls.(j_c)) in - key_array.(3) <- x.(0); - key_array.(4) <- x.(1); - key_array.(5) <- x.(2); - for k_c = 0 to zkey.(k).n - 1 do - let x = Zkey.(to_int_array Kind_3 zkey.(k).cls.(k_c)) in - key_array.(6) <- x.(0); - key_array.(7) <- x.(1); - key_array.(8) <- x.(2); - for l_c = 0 to zkey.(l).n - 1 do - let x = Zkey.(to_int_array Kind_3 zkey.(l).cls.(l_c)) in - key_array.( 9) <- x.(0); - key_array.(10) <- x.(1); - key_array.(11) <- x.(2); - let key = - Zkey.(of_int_array Kind_12 key_array) - in - let value = - Zmap.find cls key - in - if (abs_float value > cutoff) then - let key = - index (!i_shift+i_c) (!j_shift+j_c) (!k_shift+k_c) (!l_shift+l_c) - in - result := (key, value) :: !result - done - done - done - done; - l_shift := !l_shift + zkey.(l).n - done; - k_shift := !k_shift + zkey.(k).n - done; - j_shift := !j_shift + zkey.(j).n - done; - i_shift := !i_shift + zkey.(i).n - done - ; - print_endline "Computation Done"; - - let result = Array.of_list !result in - let result = - let a = IntegralMap.create (Array.length result) in - Array.iter (fun (k,v) -> IntegralMap.add a k v) result; - a - in - print_endline "Map formed"; - - for i=1 to !i_shift - 1 do - for k=1 to !i_shift - 1 do - for j=1 to !i_shift - 1 do - for l=1 to !i_shift - 1 do - let key = - index i j k l - in - try - let value = - IntegralMap.find result key - in - Printf.fprintf oc " %5d %5d %5d %5d%20.15f\n" i j k l value - with Not_found -> () - done - done - done - done; - close_out oc - -let xto_file ~filename basis = - let zkey = Array.map (fun b -> - let result = - Angular_momentum.(zkey_array (Kind_1 b.totAngMom)) - in - { n=Array.length result ; cls=result } - ) basis - in - - let key_array = Array.make 12 0 in - let result = ref [] in - - let (i,j,k,l) = (1,1,1,18) in - let (i,j,k,l) = (i-1,j-1,k-1,l-1) in - basis.(i) |> Cs.to_string |> print_endline; - basis.(j) |> Cs.to_string |> print_endline; - basis.(k) |> Cs.to_string |> print_endline; - basis.(l) |> Cs.to_string |> print_endline; - let bi, bj, bk, bl = - basis.(i), basis.(j), basis.(k), basis.(l) - in - let cls = - (*contracted_class basis.(i) basis.(j) basis.(k) basis.(l) *) - contracted_class bi bj bk bl - in - Zmap.iter (fun k v -> Printf.printf "%50s %20e\n" Zkey.(to_string Kind_12 k) v) cls; - - for i_c = 0 to zkey.(i).n - 1 do - let x = Zkey.(to_int_array Kind_3 zkey.(i).cls.(i_c)) in - key_array.(0) <- x.(0); - key_array.(1) <- x.(1); - key_array.(2) <- x.(2); - for j_c = 0 to zkey.(j).n - 1 do - let x = Zkey.(to_int_array Kind_3 zkey.(j).cls.(j_c)) in - key_array.(3) <- x.(0); - key_array.(4) <- x.(1); - key_array.(5) <- x.(2); - for k_c = 0 to zkey.(k).n - 1 do - let x = Zkey.(to_int_array Kind_3 zkey.(k).cls.(k_c)) in - key_array.(6) <- x.(0); - key_array.(7) <- x.(1); - key_array.(8) <- x.(2); - for l_c = 0 to zkey.(l).n - 1 do - let x = Zkey.(to_int_array Kind_3 zkey.(l).cls.(l_c)) in - key_array.( 9) <- x.(0); - key_array.(10) <- x.(1); - key_array.(11) <- x.(2); - let key = - Zkey.(of_int_array Kind_12 key_array) - in - let value = - Zmap.find cls key - in - if (abs_float value > cutoff) then - result := (key, value) :: !result - done - done - done - done; - - List.iter (fun (k,v) -> Printf.printf "%60s %e\n" Zkey.(to_string Kind_12 k) v) !result - ; - *) - - diff --git a/Basis/TwoElectronRR.ml b/Basis/TwoElectronRR.ml index fdcbbb0..64a07f9 100644 --- a/Basis/TwoElectronRR.ml +++ b/Basis/TwoElectronRR.ml @@ -421,16 +421,3 @@ let contracted_class_shell_pairs ~zero_m ?schwartz_p ?schwartz_q shell_p shell_q result - -(** Computes all the two-electron integrals of the contracted shell quartet *) -let contracted_class ~zero_m shell_a shell_b shell_c shell_d : float Zmap.t = - - let shell_p = Csp.make ~cutoff shell_a shell_b - and shell_q = Csp.make ~cutoff shell_c shell_d - in - match shell_p, shell_q with - | Some shell_p, Some shell_q -> - contracted_class_shell_pairs ~zero_m shell_p shell_q - | _ -> Zmap.create 0 - - diff --git a/Basis/TwoElectronRRVectorized.ml b/Basis/TwoElectronRRVectorized.ml index 3ba4031..0e85d76 100644 --- a/Basis/TwoElectronRRVectorized.ml +++ b/Basis/TwoElectronRRVectorized.ml @@ -855,14 +855,3 @@ let contracted_class_shell_pairs ~zero_m ?schwartz_p ?schwartz_q shell_p shell_q -(** Computes all the two-electron integrals of the contracted shell quartet *) -let contracted_class ~zero_m shell_a shell_b shell_c shell_d : float Zmap.t = - - let shell_p = Csp.make ~cutoff shell_a shell_b - and shell_q = Csp.make ~cutoff shell_c shell_d - in - match shell_p, shell_q with - | Some shell_p, Some shell_q -> - contracted_class_shell_pairs ~zero_m shell_p shell_q - | _ -> Zmap.create 0 -