mirror of
https://gitlab.com/scemama/QCaml.git
synced 2024-10-04 23:36:08 +02:00
Transposed 0m
This commit is contained in:
parent
e9c25e7fe4
commit
9a8f440f7a
@ -43,10 +43,10 @@ let hvrr_two_e_vector (angMom_a, angMom_b, angMom_c, angMom_d)
|
||||
in
|
||||
let f = expo_b *. (Coordinate.coord center_ab xyz) in
|
||||
Array.mapi (fun k c -> c *. expo_inv_p *.
|
||||
( (Coordinate.coord center_pq.(k) xyz) *. zero_m_array.(k).(m+1)
|
||||
-. f *. zero_m_array.(k).(m) ) ) coef_prod
|
||||
( (Coordinate.coord center_pq.(k) xyz) *. zero_m_array.(m+1).(k)
|
||||
-. f *. zero_m_array.(m).(k) ) ) coef_prod
|
||||
|
||||
| 0 -> Array.mapi (fun k c -> c *. zero_m_array.(k).(m)) coef_prod
|
||||
| 0 -> Array.mapi (fun k c -> c *. zero_m_array.(m).(k)) coef_prod
|
||||
| totAngMom_a ->
|
||||
let key = Zkey.of_int_tuple (Zkey.Three angMom_a)
|
||||
in
|
||||
@ -93,8 +93,7 @@ let hvrr_two_e_vector (angMom_a, angMom_b, angMom_c, angMom_d)
|
||||
| (i,0) -> if (i>0) then
|
||||
vrr0_v m angMom_a totAngMom_a
|
||||
else
|
||||
(* TODO : TRANSPOSE zero_m_array *)
|
||||
Array.mapi (fun k c -> c *. zero_m_array.(k).(m)) coef_prod
|
||||
Array.mapi (fun k c -> c *. zero_m_array.(m).(k)) coef_prod
|
||||
| (_,_) ->
|
||||
|
||||
let key = Zkey.of_int_tuple (Zkey.Six (angMom_a, angMom_c))
|
||||
@ -196,7 +195,7 @@ let hvrr_two_e_vector (angMom_a, angMom_b, angMom_c, angMom_d)
|
||||
| 0 ->
|
||||
begin
|
||||
match (totAngMom_a, totAngMom_c) with
|
||||
| (0,0) -> Array.mapi (fun k c -> c *. zero_m_array.(k).(0)) coef_prod
|
||||
| (0,0) -> Array.mapi (fun k c -> c *. zero_m_array.(0).(k)) coef_prod
|
||||
| (_,0) -> vrr0_v 0 angMom_a totAngMom_a
|
||||
| (_,_) -> vrr_v 0 angMom_a angMom_c totAngMom_a totAngMom_c
|
||||
end
|
||||
@ -336,7 +335,7 @@ let contracted_class_shell_pairs ~zero_m ?schwartz_p ?schwartz_q shell_p shell_q
|
||||
in
|
||||
|
||||
let zero_m_array =
|
||||
zero_m ~maxm ~expo_pq_inv ~norm_pq_sq
|
||||
zero_m ~maxm:0 ~expo_pq_inv ~norm_pq_sq
|
||||
in
|
||||
|
||||
accu +. coef_prod *. zero_m_array.(0)
|
||||
@ -391,6 +390,20 @@ let contracted_class_shell_pairs ~zero_m ?schwartz_p ?schwartz_q shell_p shell_q
|
||||
and coef_prod = Array.map (fun (zero_m_array, expo_inv, d, center_cd,
|
||||
center_pq,coef_prod) -> coef_prod) common
|
||||
in
|
||||
(* Transpose zero_m_array
|
||||
*)
|
||||
let zero_m_array =
|
||||
let result = Array.init (maxm+1) (fun _ ->
|
||||
Array.make (Array.length coef_prod) 0.)
|
||||
in
|
||||
for m=0 to maxm do
|
||||
for k=0 to (Array.length coef_prod-1) do
|
||||
result.(m).(k) <- zero_m_array.(k).(m)
|
||||
done;
|
||||
done;
|
||||
result
|
||||
in
|
||||
|
||||
(* Compute the integral class from the primitive shell quartet *)
|
||||
let map_1d = Array.init maxm (fun _ -> Zmap.create (4*maxm)) in
|
||||
let map_2d = Array.init maxm (fun _ -> Zmap.create (Array.length class_indices)) in
|
||||
|
Loading…
Reference in New Issue
Block a user