10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-12-22 12:23:31 +01:00

Spindet_space ok with frozen core

This commit is contained in:
Anthony Scemama 2019-02-20 18:27:58 +01:00
parent ccb4967993
commit e634e84e87
2 changed files with 4 additions and 7 deletions

View File

@ -30,10 +30,7 @@ let fci_of_mo_basis ?(frozen_core=true) mo_basis elec_num =
let occ_mask = m (MOClass.core_mos mo_class) let occ_mask = m (MOClass.core_mos mo_class)
and active_mask = m (MOClass.active_mos mo_class) and active_mask = m (MOClass.active_mos mo_class)
in in
let neg_active_mask = Z.neg active_mask in let neg_active_mask = Z.lognot active_mask in
Format.printf "%a\n" Util.pp_bitstring occ_mask;
Format.printf "%a\n" Util.pp_bitstring active_mask;
Format.printf "%a\n" Util.pp_bitstring neg_active_mask;
let spindets = let spindets =
Util.bit_permtutations elec_num mo_num Util.bit_permtutations elec_num mo_num
|> List.filter (fun b -> Z.logand neg_active_mask b = occ_mask) |> List.filter (fun b -> Z.logand neg_active_mask b = occ_mask)

View File

@ -173,7 +173,7 @@ let of_rhf hf =
for i = 1 to 5 do for i = 1 to 5 do
e := !e +. 2. *. (t.{i,i} +. v.{i,i}) e := !e +. 2. *. (t.{i,i} +. v.{i,i})
done; done;
Printf.printf "Energy Mono = %20.15f\n" !e; Printf.printf "Energy one-e = %20.15f\n" !e;
let e2 = ref 0. in let e2 = ref 0. in
for i = 1 to 5 do for i = 1 to 5 do
for j = i+1 to 5 do for j = i+1 to 5 do
@ -186,7 +186,7 @@ let of_rhf hf =
e2 := !e2 +. ERI.get_phys g i j i j e2 := !e2 +. ERI.get_phys g i j i j
done; done;
done; done;
Printf.printf "Energy bi = %20.15f\n" !e2; Printf.printf "Energy two-e = %20.15f\n" !e2;
Printf.printf "Energy = %20.15f\n" (Si.nuclear_repulsion simulation +. !e +. !e2) Printf.printf "Energy = %20.15f\n" (Si.nuclear_repulsion simulation +. !e +. !e2)
in in
result result