diff --git a/ocaml/Input_ao_two_e_eff_pot.ml b/ocaml/Input_ao_two_e_eff_pot.ml deleted file mode 100644 index e4e2c059..00000000 --- a/ocaml/Input_ao_two_e_eff_pot.ml +++ /dev/null @@ -1,113 +0,0 @@ -(* =~=~ *) -(* Init *) -(* =~=~ *) - -open Qptypes;; -open Qputils;; -open Sexplib.Std;; - -module Ao_two_e_eff_pot : sig -(* Generate type *) - type t = - { - adjoint_tc_h : bool; - grad_squared : bool; - } [@@deriving sexp] - ;; - val read : unit -> t option - val write : t-> unit - val to_string : t -> string - val to_rst : t -> Rst_string.t - val of_rst : Rst_string.t -> t option -end = struct -(* Generate type *) - type t = - { - adjoint_tc_h : bool; - grad_squared : bool; - } [@@deriving sexp] - ;; - - let get_default = Qpackage.get_ezfio_default "ao_two_e_eff_pot";; - -(* =~=~=~=~=~=~==~=~=~=~=~=~ *) -(* Generate Special Function *) -(* =~=~=~==~=~~=~=~=~=~=~=~=~ *) - -(* Read snippet for adjoint_tc_h *) - let read_adjoint_tc_h () = - if not (Ezfio.has_ao_two_e_eff_pot_adjoint_tc_h ()) then - get_default "adjoint_tc_h" - |> bool_of_string - |> Ezfio.set_ao_two_e_eff_pot_adjoint_tc_h - ; - Ezfio.get_ao_two_e_eff_pot_adjoint_tc_h () - ;; -(* Write snippet for adjoint_tc_h *) - let write_adjoint_tc_h = - Ezfio.set_ao_two_e_eff_pot_adjoint_tc_h - ;; - -(* Read snippet for grad_squared *) - let read_grad_squared () = - if not (Ezfio.has_ao_two_e_eff_pot_grad_squared ()) then - get_default "grad_squared" - |> bool_of_string - |> Ezfio.set_ao_two_e_eff_pot_grad_squared - ; - Ezfio.get_ao_two_e_eff_pot_grad_squared () - ;; -(* Write snippet for grad_squared *) - let write_grad_squared = - Ezfio.set_ao_two_e_eff_pot_grad_squared - ;; - -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) -(* Generate Global Function *) -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) - -(* Read all *) - let read() = - Some - { - adjoint_tc_h = read_adjoint_tc_h (); - grad_squared = read_grad_squared (); - } - ;; -(* Write all *) - let write{ - adjoint_tc_h; - grad_squared; - } = - write_adjoint_tc_h adjoint_tc_h; - write_grad_squared grad_squared; - ;; -(* to_string*) - let to_string b = - Printf.sprintf " - adjoint_tc_h = %s - grad_squared = %s - " - (string_of_bool b.adjoint_tc_h) - (string_of_bool b.grad_squared) - ;; -(* to_rst*) - let to_rst b = - Printf.sprintf " - If |true|, you compute the adjoint of the transcorrelated Hamiltonian :: - - adjoint_tc_h = %s - - If |true|, you compute also the square of the gradient of the correlation factor :: - - grad_squared = %s - - " - (string_of_bool b.adjoint_tc_h) - (string_of_bool b.grad_squared) - |> Rst_string.of_string - ;; - include Generic_input_of_rst;; - let of_rst = of_rst t_of_sexp;; - -end \ No newline at end of file diff --git a/ocaml/Input_bi_ortho_mos.ml b/ocaml/Input_bi_ortho_mos.ml deleted file mode 100644 index 5523a589..00000000 --- a/ocaml/Input_bi_ortho_mos.ml +++ /dev/null @@ -1,87 +0,0 @@ -(* =~=~ *) -(* Init *) -(* =~=~ *) - -open Qptypes;; -open Qputils;; -open Sexplib.Std;; - -module Bi_ortho_mos : sig -(* Generate type *) - type t = - { - bi_ortho : bool; - } [@@deriving sexp] - ;; - val read : unit -> t option - val write : t-> unit - val to_string : t -> string - val to_rst : t -> Rst_string.t - val of_rst : Rst_string.t -> t option -end = struct -(* Generate type *) - type t = - { - bi_ortho : bool; - } [@@deriving sexp] - ;; - - let get_default = Qpackage.get_ezfio_default "bi_ortho_mos";; - -(* =~=~=~=~=~=~==~=~=~=~=~=~ *) -(* Generate Special Function *) -(* =~=~=~==~=~~=~=~=~=~=~=~=~ *) - -(* Read snippet for bi_ortho *) - let read_bi_ortho () = - if not (Ezfio.has_bi_ortho_mos_bi_ortho ()) then - get_default "bi_ortho" - |> bool_of_string - |> Ezfio.set_bi_ortho_mos_bi_ortho - ; - Ezfio.get_bi_ortho_mos_bi_ortho () - ;; -(* Write snippet for bi_ortho *) - let write_bi_ortho = - Ezfio.set_bi_ortho_mos_bi_ortho - ;; - -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) -(* Generate Global Function *) -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) - -(* Read all *) - let read() = - Some - { - bi_ortho = read_bi_ortho (); - } - ;; -(* Write all *) - let write{ - bi_ortho; - } = - write_bi_ortho bi_ortho; - ;; -(* to_string*) - let to_string b = - Printf.sprintf " - bi_ortho = %s - " - (string_of_bool b.bi_ortho) - ;; -(* to_rst*) - let to_rst b = - Printf.sprintf " - If |true|, the MO basis is assumed to be bi-orthonormal :: - - bi_ortho = %s - - " - (string_of_bool b.bi_ortho) - |> Rst_string.of_string - ;; - include Generic_input_of_rst;; - let of_rst = of_rst t_of_sexp;; - -end \ No newline at end of file diff --git a/ocaml/Input_cassd.ml b/ocaml/Input_cassd.ml deleted file mode 100644 index 03416f42..00000000 --- a/ocaml/Input_cassd.ml +++ /dev/null @@ -1,113 +0,0 @@ -(* =~=~ *) -(* Init *) -(* =~=~ *) - -open Qptypes;; -open Qputils;; -open Sexplib.Std;; - -module Cassd : sig -(* Generate type *) - type t = - { - do_ddci : bool; - do_only_1h1p : bool; - } [@@deriving sexp] - ;; - val read : unit -> t option - val write : t-> unit - val to_string : t -> string - val to_rst : t -> Rst_string.t - val of_rst : Rst_string.t -> t option -end = struct -(* Generate type *) - type t = - { - do_ddci : bool; - do_only_1h1p : bool; - } [@@deriving sexp] - ;; - - let get_default = Qpackage.get_ezfio_default "cassd";; - -(* =~=~=~=~=~=~==~=~=~=~=~=~ *) -(* Generate Special Function *) -(* =~=~=~==~=~~=~=~=~=~=~=~=~ *) - -(* Read snippet for do_ddci *) - let read_do_ddci () = - if not (Ezfio.has_cassd_do_ddci ()) then - get_default "do_ddci" - |> bool_of_string - |> Ezfio.set_cassd_do_ddci - ; - Ezfio.get_cassd_do_ddci () - ;; -(* Write snippet for do_ddci *) - let write_do_ddci = - Ezfio.set_cassd_do_ddci - ;; - -(* Read snippet for do_only_1h1p *) - let read_do_only_1h1p () = - if not (Ezfio.has_cassd_do_only_1h1p ()) then - get_default "do_only_1h1p" - |> bool_of_string - |> Ezfio.set_cassd_do_only_1h1p - ; - Ezfio.get_cassd_do_only_1h1p () - ;; -(* Write snippet for do_only_1h1p *) - let write_do_only_1h1p = - Ezfio.set_cassd_do_only_1h1p - ;; - -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) -(* Generate Global Function *) -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) - -(* Read all *) - let read() = - Some - { - do_ddci = read_do_ddci (); - do_only_1h1p = read_do_only_1h1p (); - } - ;; -(* Write all *) - let write{ - do_ddci; - do_only_1h1p; - } = - write_do_ddci do_ddci; - write_do_only_1h1p do_only_1h1p; - ;; -(* to_string*) - let to_string b = - Printf.sprintf " - do_ddci = %s - do_only_1h1p = %s - " - (string_of_bool b.do_ddci) - (string_of_bool b.do_only_1h1p) - ;; -(* to_rst*) - let to_rst b = - Printf.sprintf " - If true, remove purely inactive double excitations :: - - do_ddci = %s - - If true, do only one hole/one particle excitations :: - - do_only_1h1p = %s - - " - (string_of_bool b.do_ddci) - (string_of_bool b.do_only_1h1p) - |> Rst_string.of_string - ;; - include Generic_input_of_rst;; - let of_rst = of_rst t_of_sexp;; - -end \ No newline at end of file diff --git a/ocaml/Input_cipsi_deb.ml b/ocaml/Input_cipsi_deb.ml deleted file mode 100644 index 9849b0e2..00000000 --- a/ocaml/Input_cipsi_deb.ml +++ /dev/null @@ -1,243 +0,0 @@ -(* =~=~ *) -(* Init *) -(* =~=~ *) - -open Qptypes;; -open Qputils;; -open Sexplib.Std;; - -module Cipsi_deb : sig -(* Generate type *) - type t = - { - pert_2rdm : bool; - save_wf_after_selection : bool; - seniority_max : int; - excitation_ref : int; - excitation_max : int; - excitation_alpha_max : int; - excitation_beta_max : int; - } [@@deriving sexp] - ;; - val read : unit -> t option - val write : t-> unit - val to_string : t -> string - val to_rst : t -> Rst_string.t - val of_rst : Rst_string.t -> t option -end = struct -(* Generate type *) - type t = - { - pert_2rdm : bool; - save_wf_after_selection : bool; - seniority_max : int; - excitation_ref : int; - excitation_max : int; - excitation_alpha_max : int; - excitation_beta_max : int; - } [@@deriving sexp] - ;; - - let get_default = Qpackage.get_ezfio_default "cipsi_deb";; - -(* =~=~=~=~=~=~==~=~=~=~=~=~ *) -(* Generate Special Function *) -(* =~=~=~==~=~~=~=~=~=~=~=~=~ *) - -(* Read snippet for excitation_alpha_max *) - let read_excitation_alpha_max () = - if not (Ezfio.has_cipsi_deb_excitation_alpha_max ()) then - get_default "excitation_alpha_max" - |> int_of_string - |> Ezfio.set_cipsi_deb_excitation_alpha_max - ; - Ezfio.get_cipsi_deb_excitation_alpha_max () - ;; -(* Write snippet for excitation_alpha_max *) - let write_excitation_alpha_max = - Ezfio.set_cipsi_deb_excitation_alpha_max - ;; - -(* Read snippet for excitation_beta_max *) - let read_excitation_beta_max () = - if not (Ezfio.has_cipsi_deb_excitation_beta_max ()) then - get_default "excitation_beta_max" - |> int_of_string - |> Ezfio.set_cipsi_deb_excitation_beta_max - ; - Ezfio.get_cipsi_deb_excitation_beta_max () - ;; -(* Write snippet for excitation_beta_max *) - let write_excitation_beta_max = - Ezfio.set_cipsi_deb_excitation_beta_max - ;; - -(* Read snippet for excitation_max *) - let read_excitation_max () = - if not (Ezfio.has_cipsi_deb_excitation_max ()) then - get_default "excitation_max" - |> int_of_string - |> Ezfio.set_cipsi_deb_excitation_max - ; - Ezfio.get_cipsi_deb_excitation_max () - ;; -(* Write snippet for excitation_max *) - let write_excitation_max = - Ezfio.set_cipsi_deb_excitation_max - ;; - -(* Read snippet for excitation_ref *) - let read_excitation_ref () = - if not (Ezfio.has_cipsi_deb_excitation_ref ()) then - get_default "excitation_ref" - |> int_of_string - |> Ezfio.set_cipsi_deb_excitation_ref - ; - Ezfio.get_cipsi_deb_excitation_ref () - ;; -(* Write snippet for excitation_ref *) - let write_excitation_ref = - Ezfio.set_cipsi_deb_excitation_ref - ;; - -(* Read snippet for pert_2rdm *) - let read_pert_2rdm () = - if not (Ezfio.has_cipsi_deb_pert_2rdm ()) then - get_default "pert_2rdm" - |> bool_of_string - |> Ezfio.set_cipsi_deb_pert_2rdm - ; - Ezfio.get_cipsi_deb_pert_2rdm () - ;; -(* Write snippet for pert_2rdm *) - let write_pert_2rdm = - Ezfio.set_cipsi_deb_pert_2rdm - ;; - -(* Read snippet for save_wf_after_selection *) - let read_save_wf_after_selection () = - if not (Ezfio.has_cipsi_deb_save_wf_after_selection ()) then - get_default "save_wf_after_selection" - |> bool_of_string - |> Ezfio.set_cipsi_deb_save_wf_after_selection - ; - Ezfio.get_cipsi_deb_save_wf_after_selection () - ;; -(* Write snippet for save_wf_after_selection *) - let write_save_wf_after_selection = - Ezfio.set_cipsi_deb_save_wf_after_selection - ;; - -(* Read snippet for seniority_max *) - let read_seniority_max () = - if not (Ezfio.has_cipsi_deb_seniority_max ()) then - get_default "seniority_max" - |> int_of_string - |> Ezfio.set_cipsi_deb_seniority_max - ; - Ezfio.get_cipsi_deb_seniority_max () - ;; -(* Write snippet for seniority_max *) - let write_seniority_max = - Ezfio.set_cipsi_deb_seniority_max - ;; - -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) -(* Generate Global Function *) -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) - -(* Read all *) - let read() = - Some - { - pert_2rdm = read_pert_2rdm (); - save_wf_after_selection = read_save_wf_after_selection (); - seniority_max = read_seniority_max (); - excitation_ref = read_excitation_ref (); - excitation_max = read_excitation_max (); - excitation_alpha_max = read_excitation_alpha_max (); - excitation_beta_max = read_excitation_beta_max (); - } - ;; -(* Write all *) - let write{ - pert_2rdm; - save_wf_after_selection; - seniority_max; - excitation_ref; - excitation_max; - excitation_alpha_max; - excitation_beta_max; - } = - write_pert_2rdm pert_2rdm; - write_save_wf_after_selection save_wf_after_selection; - write_seniority_max seniority_max; - write_excitation_ref excitation_ref; - write_excitation_max excitation_max; - write_excitation_alpha_max excitation_alpha_max; - write_excitation_beta_max excitation_beta_max; - ;; -(* to_string*) - let to_string b = - Printf.sprintf " - pert_2rdm = %s - save_wf_after_selection = %s - seniority_max = %s - excitation_ref = %s - excitation_max = %s - excitation_alpha_max = %s - excitation_beta_max = %s - " - (string_of_bool b.pert_2rdm) - (string_of_bool b.save_wf_after_selection) - (string_of_int b.seniority_max) - (string_of_int b.excitation_ref) - (string_of_int b.excitation_max) - (string_of_int b.excitation_alpha_max) - (string_of_int b.excitation_beta_max) - ;; -(* to_rst*) - let to_rst b = - Printf.sprintf " - If true, computes the one- and two-body rdms with perturbation theory :: - - pert_2rdm = %s - - If true, saves the wave function after the selection, before the diagonalization :: - - save_wf_after_selection = %s - - Maximum number of allowed open shells. Using -1 selects all determinants :: - - seniority_max = %s - - 1: Hartree-Fock determinant, 2:All determinants of the dominant configuration :: - - excitation_ref = %s - - Maximum number of excitation with respect to the Hartree-Fock determinant. Using -1 selects all determinants :: - - excitation_max = %s - - Maximum number of excitation for alpha determinants with respect to the Hartree-Fock determinant. Using -1 selects all determinants :: - - excitation_alpha_max = %s - - Maximum number of excitation for beta determinants with respect to the Hartree-Fock determinant. Using -1 selects all determinants :: - - excitation_beta_max = %s - - " - (string_of_bool b.pert_2rdm) - (string_of_bool b.save_wf_after_selection) - (string_of_int b.seniority_max) - (string_of_int b.excitation_ref) - (string_of_int b.excitation_max) - (string_of_int b.excitation_alpha_max) - (string_of_int b.excitation_beta_max) - |> Rst_string.of_string - ;; - include Generic_input_of_rst;; - let of_rst = of_rst t_of_sexp;; - -end \ No newline at end of file diff --git a/ocaml/Input_tc_h_clean.ml b/ocaml/Input_tc_h_clean.ml deleted file mode 100644 index 2fd145fa..00000000 --- a/ocaml/Input_tc_h_clean.ml +++ /dev/null @@ -1,351 +0,0 @@ -(* =~=~ *) -(* Init *) -(* =~=~ *) - -open Qptypes;; -open Qputils;; -open Sexplib.Std;; - -module Tc_h_clean : sig -(* Generate type *) - type t = - { - read_rl_eigv : bool; - comp_left_eigv : bool; - three_body_h_tc : bool; - pure_three_body_h_tc : bool; - double_normal_ord : bool; - core_tc_op : bool; - full_tc_h_solver : bool; - thresh_it_dav : Threshold.t; - max_it_dav : int; - thresh_psi_r : Threshold.t; - thresh_psi_r_norm : bool; - } [@@deriving sexp] - ;; - val read : unit -> t option - val write : t-> unit - val to_string : t -> string - val to_rst : t -> Rst_string.t - val of_rst : Rst_string.t -> t option -end = struct -(* Generate type *) - type t = - { - read_rl_eigv : bool; - comp_left_eigv : bool; - three_body_h_tc : bool; - pure_three_body_h_tc : bool; - double_normal_ord : bool; - core_tc_op : bool; - full_tc_h_solver : bool; - thresh_it_dav : Threshold.t; - max_it_dav : int; - thresh_psi_r : Threshold.t; - thresh_psi_r_norm : bool; - } [@@deriving sexp] - ;; - - let get_default = Qpackage.get_ezfio_default "tc_h_clean";; - -(* =~=~=~=~=~=~==~=~=~=~=~=~ *) -(* Generate Special Function *) -(* =~=~=~==~=~~=~=~=~=~=~=~=~ *) - -(* Read snippet for comp_left_eigv *) - let read_comp_left_eigv () = - if not (Ezfio.has_tc_h_clean_comp_left_eigv ()) then - get_default "comp_left_eigv" - |> bool_of_string - |> Ezfio.set_tc_h_clean_comp_left_eigv - ; - Ezfio.get_tc_h_clean_comp_left_eigv () - ;; -(* Write snippet for comp_left_eigv *) - let write_comp_left_eigv = - Ezfio.set_tc_h_clean_comp_left_eigv - ;; - -(* Read snippet for core_tc_op *) - let read_core_tc_op () = - if not (Ezfio.has_tc_h_clean_core_tc_op ()) then - get_default "core_tc_op" - |> bool_of_string - |> Ezfio.set_tc_h_clean_core_tc_op - ; - Ezfio.get_tc_h_clean_core_tc_op () - ;; -(* Write snippet for core_tc_op *) - let write_core_tc_op = - Ezfio.set_tc_h_clean_core_tc_op - ;; - -(* Read snippet for double_normal_ord *) - let read_double_normal_ord () = - if not (Ezfio.has_tc_h_clean_double_normal_ord ()) then - get_default "double_normal_ord" - |> bool_of_string - |> Ezfio.set_tc_h_clean_double_normal_ord - ; - Ezfio.get_tc_h_clean_double_normal_ord () - ;; -(* Write snippet for double_normal_ord *) - let write_double_normal_ord = - Ezfio.set_tc_h_clean_double_normal_ord - ;; - -(* Read snippet for full_tc_h_solver *) - let read_full_tc_h_solver () = - if not (Ezfio.has_tc_h_clean_full_tc_h_solver ()) then - get_default "full_tc_h_solver" - |> bool_of_string - |> Ezfio.set_tc_h_clean_full_tc_h_solver - ; - Ezfio.get_tc_h_clean_full_tc_h_solver () - ;; -(* Write snippet for full_tc_h_solver *) - let write_full_tc_h_solver = - Ezfio.set_tc_h_clean_full_tc_h_solver - ;; - -(* Read snippet for max_it_dav *) - let read_max_it_dav () = - if not (Ezfio.has_tc_h_clean_max_it_dav ()) then - get_default "max_it_dav" - |> int_of_string - |> Ezfio.set_tc_h_clean_max_it_dav - ; - Ezfio.get_tc_h_clean_max_it_dav () - ;; -(* Write snippet for max_it_dav *) - let write_max_it_dav = - Ezfio.set_tc_h_clean_max_it_dav - ;; - -(* Read snippet for pure_three_body_h_tc *) - let read_pure_three_body_h_tc () = - if not (Ezfio.has_tc_h_clean_pure_three_body_h_tc ()) then - get_default "pure_three_body_h_tc" - |> bool_of_string - |> Ezfio.set_tc_h_clean_pure_three_body_h_tc - ; - Ezfio.get_tc_h_clean_pure_three_body_h_tc () - ;; -(* Write snippet for pure_three_body_h_tc *) - let write_pure_three_body_h_tc = - Ezfio.set_tc_h_clean_pure_three_body_h_tc - ;; - -(* Read snippet for read_rl_eigv *) - let read_read_rl_eigv () = - if not (Ezfio.has_tc_h_clean_read_rl_eigv ()) then - get_default "read_rl_eigv" - |> bool_of_string - |> Ezfio.set_tc_h_clean_read_rl_eigv - ; - Ezfio.get_tc_h_clean_read_rl_eigv () - ;; -(* Write snippet for read_rl_eigv *) - let write_read_rl_eigv = - Ezfio.set_tc_h_clean_read_rl_eigv - ;; - -(* Read snippet for three_body_h_tc *) - let read_three_body_h_tc () = - if not (Ezfio.has_tc_h_clean_three_body_h_tc ()) then - get_default "three_body_h_tc" - |> bool_of_string - |> Ezfio.set_tc_h_clean_three_body_h_tc - ; - Ezfio.get_tc_h_clean_three_body_h_tc () - ;; -(* Write snippet for three_body_h_tc *) - let write_three_body_h_tc = - Ezfio.set_tc_h_clean_three_body_h_tc - ;; - -(* Read snippet for thresh_it_dav *) - let read_thresh_it_dav () = - if not (Ezfio.has_tc_h_clean_thresh_it_dav ()) then - get_default "thresh_it_dav" - |> float_of_string - |> Ezfio.set_tc_h_clean_thresh_it_dav - ; - Ezfio.get_tc_h_clean_thresh_it_dav () - |> Threshold.of_float - ;; -(* Write snippet for thresh_it_dav *) - let write_thresh_it_dav var = - Threshold.to_float var - |> Ezfio.set_tc_h_clean_thresh_it_dav - ;; - -(* Read snippet for thresh_psi_r *) - let read_thresh_psi_r () = - if not (Ezfio.has_tc_h_clean_thresh_psi_r ()) then - get_default "thresh_psi_r" - |> float_of_string - |> Ezfio.set_tc_h_clean_thresh_psi_r - ; - Ezfio.get_tc_h_clean_thresh_psi_r () - |> Threshold.of_float - ;; -(* Write snippet for thresh_psi_r *) - let write_thresh_psi_r var = - Threshold.to_float var - |> Ezfio.set_tc_h_clean_thresh_psi_r - ;; - -(* Read snippet for thresh_psi_r_norm *) - let read_thresh_psi_r_norm () = - if not (Ezfio.has_tc_h_clean_thresh_psi_r_norm ()) then - get_default "thresh_psi_r_norm" - |> bool_of_string - |> Ezfio.set_tc_h_clean_thresh_psi_r_norm - ; - Ezfio.get_tc_h_clean_thresh_psi_r_norm () - ;; -(* Write snippet for thresh_psi_r_norm *) - let write_thresh_psi_r_norm = - Ezfio.set_tc_h_clean_thresh_psi_r_norm - ;; - -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) -(* Generate Global Function *) -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) - -(* Read all *) - let read() = - Some - { - read_rl_eigv = read_read_rl_eigv (); - comp_left_eigv = read_comp_left_eigv (); - three_body_h_tc = read_three_body_h_tc (); - pure_three_body_h_tc = read_pure_three_body_h_tc (); - double_normal_ord = read_double_normal_ord (); - core_tc_op = read_core_tc_op (); - full_tc_h_solver = read_full_tc_h_solver (); - thresh_it_dav = read_thresh_it_dav (); - max_it_dav = read_max_it_dav (); - thresh_psi_r = read_thresh_psi_r (); - thresh_psi_r_norm = read_thresh_psi_r_norm (); - } - ;; -(* Write all *) - let write{ - read_rl_eigv; - comp_left_eigv; - three_body_h_tc; - pure_three_body_h_tc; - double_normal_ord; - core_tc_op; - full_tc_h_solver; - thresh_it_dav; - max_it_dav; - thresh_psi_r; - thresh_psi_r_norm; - } = - write_read_rl_eigv read_rl_eigv; - write_comp_left_eigv comp_left_eigv; - write_three_body_h_tc three_body_h_tc; - write_pure_three_body_h_tc pure_three_body_h_tc; - write_double_normal_ord double_normal_ord; - write_core_tc_op core_tc_op; - write_full_tc_h_solver full_tc_h_solver; - write_thresh_it_dav thresh_it_dav; - write_max_it_dav max_it_dav; - write_thresh_psi_r thresh_psi_r; - write_thresh_psi_r_norm thresh_psi_r_norm; - ;; -(* to_string*) - let to_string b = - Printf.sprintf " - read_rl_eigv = %s - comp_left_eigv = %s - three_body_h_tc = %s - pure_three_body_h_tc = %s - double_normal_ord = %s - core_tc_op = %s - full_tc_h_solver = %s - thresh_it_dav = %s - max_it_dav = %s - thresh_psi_r = %s - thresh_psi_r_norm = %s - " - (string_of_bool b.read_rl_eigv) - (string_of_bool b.comp_left_eigv) - (string_of_bool b.three_body_h_tc) - (string_of_bool b.pure_three_body_h_tc) - (string_of_bool b.double_normal_ord) - (string_of_bool b.core_tc_op) - (string_of_bool b.full_tc_h_solver) - (Threshold.to_string b.thresh_it_dav) - (string_of_int b.max_it_dav) - (Threshold.to_string b.thresh_psi_r) - (string_of_bool b.thresh_psi_r_norm) - ;; -(* to_rst*) - let to_rst b = - Printf.sprintf " - If |true|, read the right/left eigenvectors from ezfio :: - - read_rl_eigv = %s - - If |true|, computes also the left-eigenvector :: - - comp_left_eigv = %s - - If |true|, three-body terms are included :: - - three_body_h_tc = %s - - If |true|, pure triple excitation three-body terms are included :: - - pure_three_body_h_tc = %s - - If |true|, contracted double excitation three-body terms are included :: - - double_normal_ord = %s - - If |true|, takes the usual Hamiltonian for core orbitals (assumed to be doubly occupied) :: - - core_tc_op = %s - - If |true|, you diagonalize the full TC H matrix :: - - full_tc_h_solver = %s - - Thresholds on the energy for iterative Davidson used in TC :: - - thresh_it_dav = %s - - nb max of iteration in Davidson used in TC :: - - max_it_dav = %s - - Thresholds on the coefficients of the right-eigenvector. Used for PT2 computation. :: - - thresh_psi_r = %s - - If |true|, you prune the WF to compute the PT1 coef based on the norm. If False, the pruning is done through the amplitude on the right-coefficient. :: - - thresh_psi_r_norm = %s - - " - (string_of_bool b.read_rl_eigv) - (string_of_bool b.comp_left_eigv) - (string_of_bool b.three_body_h_tc) - (string_of_bool b.pure_three_body_h_tc) - (string_of_bool b.double_normal_ord) - (string_of_bool b.core_tc_op) - (string_of_bool b.full_tc_h_solver) - (Threshold.to_string b.thresh_it_dav) - (string_of_int b.max_it_dav) - (Threshold.to_string b.thresh_psi_r) - (string_of_bool b.thresh_psi_r_norm) - |> Rst_string.of_string - ;; - include Generic_input_of_rst;; - let of_rst = of_rst t_of_sexp;; - -end \ No newline at end of file diff --git a/ocaml/Input_tc_scf.ml b/ocaml/Input_tc_scf.ml deleted file mode 100644 index 2a709716..00000000 --- a/ocaml/Input_tc_scf.ml +++ /dev/null @@ -1,143 +0,0 @@ -(* =~=~ *) -(* Init *) -(* =~=~ *) - -open Qptypes;; -open Qputils;; -open Sexplib.Std;; - -module Tc_scf : sig -(* Generate type *) - type t = - { - bi_ortho : bool; - thresh_tcscf : Threshold.t; - n_it_tcscf_max : Strictly_positive_int.t; - } [@@deriving sexp] - ;; - val read : unit -> t option - val write : t-> unit - val to_string : t -> string - val to_rst : t -> Rst_string.t - val of_rst : Rst_string.t -> t option -end = struct -(* Generate type *) - type t = - { - bi_ortho : bool; - thresh_tcscf : Threshold.t; - n_it_tcscf_max : Strictly_positive_int.t; - } [@@deriving sexp] - ;; - - let get_default = Qpackage.get_ezfio_default "tc_scf";; - -(* =~=~=~=~=~=~==~=~=~=~=~=~ *) -(* Generate Special Function *) -(* =~=~=~==~=~~=~=~=~=~=~=~=~ *) - -(* Read snippet for bi_ortho *) - let read_bi_ortho () = - if not (Ezfio.has_tc_scf_bi_ortho ()) then - get_default "bi_ortho" - |> bool_of_string - |> Ezfio.set_tc_scf_bi_ortho - ; - Ezfio.get_tc_scf_bi_ortho () - ;; -(* Write snippet for bi_ortho *) - let write_bi_ortho = - Ezfio.set_tc_scf_bi_ortho - ;; - -(* Read snippet for n_it_tcscf_max *) - let read_n_it_tcscf_max () = - if not (Ezfio.has_tc_scf_n_it_tcscf_max ()) then - get_default "n_it_tcscf_max" - |> int_of_string - |> Ezfio.set_tc_scf_n_it_tcscf_max - ; - Ezfio.get_tc_scf_n_it_tcscf_max () - |> Strictly_positive_int.of_int - ;; -(* Write snippet for n_it_tcscf_max *) - let write_n_it_tcscf_max var = - Strictly_positive_int.to_int var - |> Ezfio.set_tc_scf_n_it_tcscf_max - ;; - -(* Read snippet for thresh_tcscf *) - let read_thresh_tcscf () = - if not (Ezfio.has_tc_scf_thresh_tcscf ()) then - get_default "thresh_tcscf" - |> float_of_string - |> Ezfio.set_tc_scf_thresh_tcscf - ; - Ezfio.get_tc_scf_thresh_tcscf () - |> Threshold.of_float - ;; -(* Write snippet for thresh_tcscf *) - let write_thresh_tcscf var = - Threshold.to_float var - |> Ezfio.set_tc_scf_thresh_tcscf - ;; - -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) -(* Generate Global Function *) -(* =~=~=~=~=~=~=~=~=~=~=~=~ *) - -(* Read all *) - let read() = - Some - { - bi_ortho = read_bi_ortho (); - thresh_tcscf = read_thresh_tcscf (); - n_it_tcscf_max = read_n_it_tcscf_max (); - } - ;; -(* Write all *) - let write{ - bi_ortho; - thresh_tcscf; - n_it_tcscf_max; - } = - write_bi_ortho bi_ortho; - write_thresh_tcscf thresh_tcscf; - write_n_it_tcscf_max n_it_tcscf_max; - ;; -(* to_string*) - let to_string b = - Printf.sprintf " - bi_ortho = %s - thresh_tcscf = %s - n_it_tcscf_max = %s - " - (string_of_bool b.bi_ortho) - (Threshold.to_string b.thresh_tcscf) - (Strictly_positive_int.to_string b.n_it_tcscf_max) - ;; -(* to_rst*) - let to_rst b = - Printf.sprintf " - If |true|, the MO basis is assumed to be bi-orthonormal :: - - bi_ortho = %s - - Threshold on the convergence of the Hartree Fock energy. :: - - thresh_tcscf = %s - - Maximum number of SCF iterations :: - - n_it_tcscf_max = %s - - " - (string_of_bool b.bi_ortho) - (Threshold.to_string b.thresh_tcscf) - (Strictly_positive_int.to_string b.n_it_tcscf_max) - |> Rst_string.of_string - ;; - include Generic_input_of_rst;; - let of_rst = of_rst t_of_sexp;; - -end \ No newline at end of file