mirror of
https://gitlab.com/scemama/qmcchem.git
synced 2024-09-01 15:53:40 +02:00
831 lines
33 KiB
OCaml
831 lines
33 KiB
OCaml
open Core.Std
|
|
let warning = print_string
|
|
|
|
|
|
|
|
module Positive_float : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( assert (x >= 0.) ; x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module Strictly_positive_float : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( assert (x > 0.) ; x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module Negative_float : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( assert (x <= 0.) ; x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module Strictly_negative_float : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( assert (x < 0.) ; x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module Positive_int : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val of_int : int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_int x = x
|
|
let of_int x = ( assert (x >= 0) ; x )
|
|
let to_string x = Int.to_string x
|
|
end
|
|
|
|
|
|
module Strictly_positive_int : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val of_int : int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_int x = x
|
|
let of_int x = ( assert (x > 0) ; x )
|
|
let to_string x = Int.to_string x
|
|
end
|
|
|
|
|
|
module Negative_int : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val of_int : int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_int x = x
|
|
let of_int x = ( assert (x <= 0) ; x )
|
|
let to_string x = Int.to_string x
|
|
end
|
|
|
|
|
|
module Det_coef : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( assert (x >= -1.) ;
|
|
assert (x <= 1.) ; x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module Normalized_float : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( assert (x <= 1.) ;
|
|
assert (x >= 0.) ; x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module Strictly_negative_int : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val of_int : int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_int x = x
|
|
let of_int x = ( assert (x < 0) ; x )
|
|
let to_string x = Int.to_string x
|
|
end
|
|
|
|
|
|
module Non_empty_string : sig
|
|
type t with sexp
|
|
val to_string : t -> string
|
|
val of_string : string -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = string with sexp
|
|
let to_string x = x
|
|
let of_string x = ( assert (x <> "") ; x )
|
|
let to_string x = String.to_string x
|
|
end
|
|
|
|
|
|
module Det_number_max : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val of_int : int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_int x = x
|
|
let of_int x = ( assert (x > 0) ;
|
|
if (x > 100000000) then
|
|
warning "More than 100 million determinants"; x )
|
|
let to_string x = Int.to_string x
|
|
end
|
|
|
|
|
|
module MO_coef : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module MO_occ : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( assert (x >= 0.); x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module AO_coef : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module AO_expo : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( assert (x >= 0.) ; x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module AO_prim_number : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val of_int : int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_int x = x
|
|
let of_int x = ( assert (x > 0) ; x )
|
|
let to_string x = Int.to_string x
|
|
end
|
|
|
|
|
|
module Threshold : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( assert (x >= 0.) ;
|
|
assert (x <= 1.) ; x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module PT2_energy : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( assert (x >=0.) ; x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module Elec_alpha_number : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val of_int : int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_int x = x
|
|
let of_int x = ( assert (x > 0) ; x )
|
|
let to_string x = Int.to_string x
|
|
end
|
|
|
|
|
|
module Elec_beta_number : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val of_int : int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_int x = x
|
|
let of_int x = ( assert (x >= 0) ; x )
|
|
let to_string x = Int.to_string x
|
|
end
|
|
|
|
|
|
module Elec_number : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val of_int : int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_int x = x
|
|
let of_int x = ( assert (x > 0) ; x )
|
|
let to_string x = Int.to_string x
|
|
end
|
|
|
|
|
|
module MD5 : sig
|
|
type t with sexp
|
|
val to_string : t -> string
|
|
val of_string : string -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = string with sexp
|
|
let to_string x = x
|
|
let of_string x = ( assert ((String.length x) = 32); x )
|
|
let to_string x = String.to_string x
|
|
end
|
|
|
|
|
|
module Rst_string : sig
|
|
type t with sexp
|
|
val to_string : t -> string
|
|
val of_string : string -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = string with sexp
|
|
let to_string x = x
|
|
let of_string x = ( x )
|
|
let to_string x = String.to_string x
|
|
end
|
|
|
|
|
|
module Weight : sig
|
|
type t with sexp
|
|
val to_float : t -> float
|
|
val of_float : float -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = float with sexp
|
|
let to_float x = x
|
|
let of_float x = ( assert (x >= 0.) ; x )
|
|
let to_string x = Float.to_string x
|
|
end
|
|
|
|
|
|
module Block_id : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val of_int : int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_int x = x
|
|
let of_int x = ( assert (x > 0) ; x )
|
|
let to_string x = Int.to_string x
|
|
end
|
|
|
|
|
|
module Compute_node : sig
|
|
type t with sexp
|
|
val to_string : t -> string
|
|
val of_string : string -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = string with sexp
|
|
let to_string x = x
|
|
let of_string x = ( assert (x <> "") ; x )
|
|
let to_string x = String.to_string x
|
|
end
|
|
|
|
|
|
|
|
module MO_number : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val get_max : unit -> int
|
|
val of_int : ?min:int -> ?max:int -> int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_string x = Int.to_string x
|
|
let get_max () =
|
|
if (Ezfio.has_mo_basis_mo_tot_num ()) then
|
|
Ezfio.get_mo_basis_mo_tot_num ()
|
|
else
|
|
10000
|
|
let get_min () =
|
|
1
|
|
let to_int x = x
|
|
let of_int ?(min=get_min ()) ?(max=get_max ()) x =
|
|
begin
|
|
assert (x >= min) ;
|
|
if (x > 10000) then
|
|
warning "More than 10000 MOs";
|
|
begin
|
|
match max with
|
|
| 1 -> ()
|
|
| i -> assert ( x <= i )
|
|
end ;
|
|
x
|
|
end
|
|
end
|
|
|
|
module AO_number : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val get_max : unit -> int
|
|
val of_int : ?min:int -> ?max:int -> int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_string x = Int.to_string x
|
|
let get_max () =
|
|
if (Ezfio.has_ao_basis_ao_num ()) then
|
|
Ezfio.get_ao_basis_ao_num ()
|
|
else
|
|
10000
|
|
let get_min () =
|
|
1
|
|
let to_int x = x
|
|
let of_int ?(min=get_min ()) ?(max=get_max ()) x =
|
|
begin
|
|
assert (x >= min) ;
|
|
if (x > 10000) then
|
|
warning "More than 10000 AOs";
|
|
begin
|
|
match max with
|
|
| 1 -> ()
|
|
| i -> assert ( x <= i )
|
|
end ;
|
|
x
|
|
end
|
|
end
|
|
|
|
module Nucl_number : sig
|
|
type t with sexp
|
|
val to_int : t -> int
|
|
val get_max : unit -> int
|
|
val of_int : ?min:int -> ?max:int -> int -> t
|
|
val to_string : t -> string
|
|
end = struct
|
|
type t = int with sexp
|
|
let to_string x = Int.to_string x
|
|
let get_max () =
|
|
if (Ezfio.has_nuclei_nucl_num ()) then
|
|
Ezfio.get_nuclei_nucl_num ()
|
|
else
|
|
10000
|
|
let get_min () =
|
|
1
|
|
let to_int x = x
|
|
let of_int ?(min=get_min ()) ?(max=get_max ()) x =
|
|
begin
|
|
assert (x >= min) ;
|
|
if (x > 10000) then
|
|
warning "More than 10000 nuclei";
|
|
begin
|
|
match max with
|
|
| 1 -> ()
|
|
| i -> assert ( x <= i )
|
|
end ;
|
|
x
|
|
end
|
|
end
|
|
|
|
let decode_ezfio_message msg =
|
|
match msg with
|
|
| "get_blocks_empty" -> Ezfio.read_string "blocks" "empty"
|
|
| "get_mo_basis_mo_tot_num" -> Ezfio.read_string "mo_basis" "mo_tot_num"
|
|
| "get_mo_basis_mo_coef" ->
|
|
Ezfio.read_string_array "mo_basis" "mo_coef"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_mo_basis_mo_classif" ->
|
|
Ezfio.read_string_array "mo_basis" "mo_classif"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_mo_basis_mo_energy" ->
|
|
Ezfio.read_string_array "mo_basis" "mo_energy"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_mo_basis_mo_occ" ->
|
|
Ezfio.read_string_array "mo_basis" "mo_occ"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_mo_basis_mo_symmetry" ->
|
|
Ezfio.read_string_array "mo_basis" "mo_symmetry"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_pseudo_ao_pseudo_grid" ->
|
|
Ezfio.read_string_array "pseudo" "ao_pseudo_grid"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_pseudo_do_pseudo" -> Ezfio.read_string "pseudo" "do_pseudo"
|
|
| "get_pseudo_mo_pseudo_grid" ->
|
|
Ezfio.read_string_array "pseudo" "mo_pseudo_grid"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_pseudo_pseudo_dz_k" ->
|
|
Ezfio.read_string_array "pseudo" "pseudo_dz_k"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_pseudo_pseudo_dz_kl" ->
|
|
Ezfio.read_string_array "pseudo" "pseudo_dz_kl"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_pseudo_pseudo_grid_rmax" -> Ezfio.read_string "pseudo" "pseudo_grid_rmax"
|
|
| "get_pseudo_pseudo_grid_size" -> Ezfio.read_string "pseudo" "pseudo_grid_size"
|
|
| "get_pseudo_pseudo_klocmax" -> Ezfio.read_string "pseudo" "pseudo_klocmax"
|
|
| "get_pseudo_pseudo_kmax" -> Ezfio.read_string "pseudo" "pseudo_kmax"
|
|
| "get_pseudo_pseudo_lmax" -> Ezfio.read_string "pseudo" "pseudo_lmax"
|
|
| "get_pseudo_pseudo_n_k" ->
|
|
Ezfio.read_string_array "pseudo" "pseudo_n_k"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_pseudo_pseudo_n_kl" ->
|
|
Ezfio.read_string_array "pseudo" "pseudo_n_kl"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_pseudo_pseudo_v_k" ->
|
|
Ezfio.read_string_array "pseudo" "pseudo_v_k"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_pseudo_pseudo_v_kl" ->
|
|
Ezfio.read_string_array "pseudo" "pseudo_v_kl"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_ezfio_creation" -> Ezfio.read_string "ezfio" "creation"
|
|
| "get_ezfio_user" -> Ezfio.read_string "ezfio" "user"
|
|
| "get_ezfio_library" -> Ezfio.read_string "ezfio" "library"
|
|
| "get_ezfio_last_library" -> Ezfio.read_string "ezfio" "last_library"
|
|
| "get_simulation_do_run" -> Ezfio.read_string "simulation" "do_run"
|
|
| "get_simulation_stop_time" -> Ezfio.read_string "simulation" "stop_time"
|
|
| "get_simulation_equilibration" -> Ezfio.read_string "simulation" "equilibration"
|
|
| "get_simulation_title" -> Ezfio.read_string "simulation" "title"
|
|
| "get_simulation_http_server" -> Ezfio.read_string "simulation" "http_server"
|
|
| "get_simulation_do_jast" -> Ezfio.read_string "simulation" "do_jast"
|
|
| "get_simulation_do_nucl_fitcusp" -> Ezfio.read_string "simulation" "do_nucl_fitcusp"
|
|
| "get_simulation_method" -> Ezfio.read_string "simulation" "method"
|
|
| "get_simulation_block_time" -> Ezfio.read_string "simulation" "block_time"
|
|
| "get_simulation_sampling" -> Ezfio.read_string "simulation" "sampling"
|
|
| "get_simulation_save_data" -> Ezfio.read_string "simulation" "save_data"
|
|
| "get_simulation_time_step" -> Ezfio.read_string "simulation" "time_step"
|
|
| "get_simulation_print_level" -> Ezfio.read_string "simulation" "print_level"
|
|
| "get_simulation_ci_threshold" -> Ezfio.read_string "simulation" "ci_threshold"
|
|
| "get_simulation_md5_key" -> Ezfio.read_string "simulation" "md5_key"
|
|
| "get_simulation_orig_time" -> Ezfio.read_string "simulation" "orig_time"
|
|
| "get_simulation_e_ref" -> Ezfio.read_string "simulation" "e_ref"
|
|
| "get_spindeterminants_n_det_alpha" -> Ezfio.read_string "spindeterminants" "n_det_alpha"
|
|
| "get_spindeterminants_n_det_beta" -> Ezfio.read_string "spindeterminants" "n_det_beta"
|
|
| "get_spindeterminants_n_det" -> Ezfio.read_string "spindeterminants" "n_det"
|
|
| "get_spindeterminants_n_int" -> Ezfio.read_string "spindeterminants" "n_int"
|
|
| "get_spindeterminants_bit_kind" -> Ezfio.read_string "spindeterminants" "bit_kind"
|
|
| "get_spindeterminants_n_states" -> Ezfio.read_string "spindeterminants" "n_states"
|
|
| "get_spindeterminants_psi_det_alpha" ->
|
|
Ezfio.read_string_array "spindeterminants" "psi_det_alpha"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_spindeterminants_psi_det_beta" ->
|
|
Ezfio.read_string_array "spindeterminants" "psi_det_beta"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_spindeterminants_psi_coef_matrix_rows" ->
|
|
Ezfio.read_string_array "spindeterminants" "psi_coef_matrix_rows"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_spindeterminants_psi_coef_matrix_columns" ->
|
|
Ezfio.read_string_array "spindeterminants" "psi_coef_matrix_columns"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_spindeterminants_psi_coef_matrix_values" ->
|
|
Ezfio.read_string_array "spindeterminants" "psi_coef_matrix_values"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_ao_basis_ao_num" -> Ezfio.read_string "ao_basis" "ao_num"
|
|
| "get_ao_basis_ao_prim_num" ->
|
|
Ezfio.read_string_array "ao_basis" "ao_prim_num"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_ao_basis_ao_nucl" ->
|
|
Ezfio.read_string_array "ao_basis" "ao_nucl"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_ao_basis_ao_power" ->
|
|
Ezfio.read_string_array "ao_basis" "ao_power"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_ao_basis_ao_coef" ->
|
|
Ezfio.read_string_array "ao_basis" "ao_coef"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_ao_basis_ao_expo" ->
|
|
Ezfio.read_string_array "ao_basis" "ao_expo"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_electrons_elec_alpha_num" -> Ezfio.read_string "electrons" "elec_alpha_num"
|
|
| "get_electrons_elec_beta_num" -> Ezfio.read_string "electrons" "elec_beta_num"
|
|
| "get_electrons_elec_walk_num_tot" -> Ezfio.read_string "electrons" "elec_walk_num_tot"
|
|
| "get_electrons_elec_walk_num" -> Ezfio.read_string "electrons" "elec_walk_num"
|
|
| "get_electrons_elec_coord_pool" ->
|
|
Ezfio.read_string_array "electrons" "elec_coord_pool"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_electrons_elec_coord_pool_size" -> Ezfio.read_string "electrons" "elec_coord_pool_size"
|
|
| "get_electrons_elec_fitcusp_radius" -> Ezfio.read_string "electrons" "elec_fitcusp_radius"
|
|
| "get_jastrow_jast_type" -> Ezfio.read_string "jastrow" "jast_type"
|
|
| "get_jastrow_jast_a_up_up" -> Ezfio.read_string "jastrow" "jast_a_up_up"
|
|
| "get_jastrow_jast_a_up_dn" -> Ezfio.read_string "jastrow" "jast_a_up_dn"
|
|
| "get_jastrow_jast_b_up_up" -> Ezfio.read_string "jastrow" "jast_b_up_up"
|
|
| "get_jastrow_jast_b_up_dn" -> Ezfio.read_string "jastrow" "jast_b_up_dn"
|
|
| "get_jastrow_jast_pen" ->
|
|
Ezfio.read_string_array "jastrow" "jast_pen"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_jastrow_jast_een_e_a" ->
|
|
Ezfio.read_string_array "jastrow" "jast_een_e_a"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_jastrow_jast_een_e_b" ->
|
|
Ezfio.read_string_array "jastrow" "jast_een_e_b"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_jastrow_jast_een_n" ->
|
|
Ezfio.read_string_array "jastrow" "jast_een_n"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_jastrow_jast_core_a1" ->
|
|
Ezfio.read_string_array "jastrow" "jast_core_a1"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_jastrow_jast_core_a2" ->
|
|
Ezfio.read_string_array "jastrow" "jast_core_a2"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_jastrow_jast_core_b1" ->
|
|
Ezfio.read_string_array "jastrow" "jast_core_b1"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_jastrow_jast_core_b2" ->
|
|
Ezfio.read_string_array "jastrow" "jast_core_b2"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_nuclei_nucl_num" -> Ezfio.read_string "nuclei" "nucl_num"
|
|
| "get_nuclei_nucl_label" ->
|
|
Ezfio.read_string_array "nuclei" "nucl_label"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_nuclei_nucl_charge" ->
|
|
Ezfio.read_string_array "nuclei" "nucl_charge"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_nuclei_nucl_coord" ->
|
|
Ezfio.read_string_array "nuclei" "nucl_coord"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_nuclei_nucl_fitcusp_radius" ->
|
|
Ezfio.read_string_array "nuclei" "nucl_fitcusp_radius"
|
|
|> Ezfio.flattened_ezfio
|
|
|> Array.to_list
|
|
|> String.concat ~sep:" "
|
|
| "get_properties_d_var_jast_a_up_dn" -> Ezfio.read_string "properties" "d_var_jast_a_up_dn"
|
|
| "get_properties_d_var_jast_a_up_up" -> Ezfio.read_string "properties" "d_var_jast_a_up_up"
|
|
| "get_properties_d_var_jast_b_up_dn" -> Ezfio.read_string "properties" "d_var_jast_b_up_dn"
|
|
| "get_properties_d_var_jast_b_up_up" -> Ezfio.read_string "properties" "d_var_jast_b_up_up"
|
|
| "get_properties_d_var_jast_core_a1" -> Ezfio.read_string "properties" "d_var_jast_core_a1"
|
|
| "get_properties_d_var_jast_core_b1" -> Ezfio.read_string "properties" "d_var_jast_core_b1"
|
|
| "get_properties_d_var_jast_een_e_a" -> Ezfio.read_string "properties" "d_var_jast_een_e_a"
|
|
| "get_properties_d_var_jast_een_e_b" -> Ezfio.read_string "properties" "d_var_jast_een_e_b"
|
|
| "get_properties_d_var_jast_een_n" -> Ezfio.read_string "properties" "d_var_jast_een_n"
|
|
| "get_properties_d_var_jast_pen" -> Ezfio.read_string "properties" "d_var_jast_pen"
|
|
| "get_properties_density1d" -> Ezfio.read_string "properties" "density1d"
|
|
| "get_properties_dipole" -> Ezfio.read_string "properties" "dipole"
|
|
| "get_properties_drift_mod" -> Ezfio.read_string "properties" "drift_mod"
|
|
| "get_properties_e_kin" -> Ezfio.read_string "properties" "e_kin"
|
|
| "get_properties_e_loc" -> Ezfio.read_string "properties" "e_loc"
|
|
| "get_properties_e_loc_one" -> Ezfio.read_string "properties" "e_loc_one"
|
|
| "get_properties_e_loc_per_electron" -> Ezfio.read_string "properties" "e_loc_per_electron"
|
|
| "get_properties_e_loc_split_core" -> Ezfio.read_string "properties" "e_loc_split_core"
|
|
| "get_properties_e_loc_two" -> Ezfio.read_string "properties" "e_loc_two"
|
|
| "get_properties_e_nucl" -> Ezfio.read_string "properties" "e_nucl"
|
|
| "get_properties_e_pot" -> Ezfio.read_string "properties" "e_pot"
|
|
| "get_properties_e_pot_one" -> Ezfio.read_string "properties" "e_pot_one"
|
|
| "get_properties_n_s_inverted" -> Ezfio.read_string "properties" "n_s_inverted"
|
|
| "get_properties_n_s_updated" -> Ezfio.read_string "properties" "n_s_updated"
|
|
| "get_properties_n_s_updates" -> Ezfio.read_string "properties" "n_s_updates"
|
|
| "get_properties_voronoi_charges" -> Ezfio.read_string "properties" "voronoi_charges"
|
|
| "get_properties_voronoi_charges_covariance" -> Ezfio.read_string "properties" "voronoi_charges_covariance"
|
|
| "get_properties_voronoi_dipoles" -> Ezfio.read_string "properties" "voronoi_dipoles"
|
|
| "get_properties_wf_extension" -> Ezfio.read_string "properties" "wf_extension"
|
|
| "has_blocks_empty" -> if (Ezfio.has_blocks_empty ()) then "T" else "F"
|
|
| "has_mo_basis_mo_tot_num" -> if (Ezfio.has_mo_basis_mo_tot_num ()) then "T" else "F"
|
|
| "has_mo_basis_mo_coef" -> if (Ezfio.has_mo_basis_mo_coef ()) then "T" else "F"
|
|
| "has_mo_basis_mo_classif" -> if (Ezfio.has_mo_basis_mo_classif ()) then "T" else "F"
|
|
| "has_mo_basis_mo_energy" -> if (Ezfio.has_mo_basis_mo_energy ()) then "T" else "F"
|
|
| "has_mo_basis_mo_occ" -> if (Ezfio.has_mo_basis_mo_occ ()) then "T" else "F"
|
|
| "has_mo_basis_mo_symmetry" -> if (Ezfio.has_mo_basis_mo_symmetry ()) then "T" else "F"
|
|
| "has_pseudo_ao_pseudo_grid" -> if (Ezfio.has_pseudo_ao_pseudo_grid ()) then "T" else "F"
|
|
| "has_pseudo_do_pseudo" -> if (Ezfio.has_pseudo_do_pseudo ()) then "T" else "F"
|
|
| "has_pseudo_mo_pseudo_grid" -> if (Ezfio.has_pseudo_mo_pseudo_grid ()) then "T" else "F"
|
|
| "has_pseudo_pseudo_dz_k" -> if (Ezfio.has_pseudo_pseudo_dz_k ()) then "T" else "F"
|
|
| "has_pseudo_pseudo_dz_kl" -> if (Ezfio.has_pseudo_pseudo_dz_kl ()) then "T" else "F"
|
|
| "has_pseudo_pseudo_grid_rmax" -> if (Ezfio.has_pseudo_pseudo_grid_rmax ()) then "T" else "F"
|
|
| "has_pseudo_pseudo_grid_size" -> if (Ezfio.has_pseudo_pseudo_grid_size ()) then "T" else "F"
|
|
| "has_pseudo_pseudo_klocmax" -> if (Ezfio.has_pseudo_pseudo_klocmax ()) then "T" else "F"
|
|
| "has_pseudo_pseudo_kmax" -> if (Ezfio.has_pseudo_pseudo_kmax ()) then "T" else "F"
|
|
| "has_pseudo_pseudo_lmax" -> if (Ezfio.has_pseudo_pseudo_lmax ()) then "T" else "F"
|
|
| "has_pseudo_pseudo_n_k" -> if (Ezfio.has_pseudo_pseudo_n_k ()) then "T" else "F"
|
|
| "has_pseudo_pseudo_n_kl" -> if (Ezfio.has_pseudo_pseudo_n_kl ()) then "T" else "F"
|
|
| "has_pseudo_pseudo_v_k" -> if (Ezfio.has_pseudo_pseudo_v_k ()) then "T" else "F"
|
|
| "has_pseudo_pseudo_v_kl" -> if (Ezfio.has_pseudo_pseudo_v_kl ()) then "T" else "F"
|
|
| "has_ezfio_creation" -> if (Ezfio.has_ezfio_creation ()) then "T" else "F"
|
|
| "has_ezfio_user" -> if (Ezfio.has_ezfio_user ()) then "T" else "F"
|
|
| "has_ezfio_library" -> if (Ezfio.has_ezfio_library ()) then "T" else "F"
|
|
| "has_ezfio_last_library" -> if (Ezfio.has_ezfio_last_library ()) then "T" else "F"
|
|
| "has_simulation_do_run" -> if (Ezfio.has_simulation_do_run ()) then "T" else "F"
|
|
| "has_simulation_stop_time" -> if (Ezfio.has_simulation_stop_time ()) then "T" else "F"
|
|
| "has_simulation_equilibration" -> if (Ezfio.has_simulation_equilibration ()) then "T" else "F"
|
|
| "has_simulation_title" -> if (Ezfio.has_simulation_title ()) then "T" else "F"
|
|
| "has_simulation_http_server" -> if (Ezfio.has_simulation_http_server ()) then "T" else "F"
|
|
| "has_simulation_do_jast" -> if (Ezfio.has_simulation_do_jast ()) then "T" else "F"
|
|
| "has_simulation_do_nucl_fitcusp" -> if (Ezfio.has_simulation_do_nucl_fitcusp ()) then "T" else "F"
|
|
| "has_simulation_method" -> if (Ezfio.has_simulation_method ()) then "T" else "F"
|
|
| "has_simulation_block_time" -> if (Ezfio.has_simulation_block_time ()) then "T" else "F"
|
|
| "has_simulation_sampling" -> if (Ezfio.has_simulation_sampling ()) then "T" else "F"
|
|
| "has_simulation_save_data" -> if (Ezfio.has_simulation_save_data ()) then "T" else "F"
|
|
| "has_simulation_time_step" -> if (Ezfio.has_simulation_time_step ()) then "T" else "F"
|
|
| "has_simulation_print_level" -> if (Ezfio.has_simulation_print_level ()) then "T" else "F"
|
|
| "has_simulation_ci_threshold" -> if (Ezfio.has_simulation_ci_threshold ()) then "T" else "F"
|
|
| "has_simulation_md5_key" -> if (Ezfio.has_simulation_md5_key ()) then "T" else "F"
|
|
| "has_simulation_orig_time" -> if (Ezfio.has_simulation_orig_time ()) then "T" else "F"
|
|
| "has_simulation_e_ref" -> if (Ezfio.has_simulation_e_ref ()) then "T" else "F"
|
|
| "has_spindeterminants_n_det_alpha" -> if (Ezfio.has_spindeterminants_n_det_alpha ()) then "T" else "F"
|
|
| "has_spindeterminants_n_det_beta" -> if (Ezfio.has_spindeterminants_n_det_beta ()) then "T" else "F"
|
|
| "has_spindeterminants_n_det" -> if (Ezfio.has_spindeterminants_n_det ()) then "T" else "F"
|
|
| "has_spindeterminants_n_int" -> if (Ezfio.has_spindeterminants_n_int ()) then "T" else "F"
|
|
| "has_spindeterminants_bit_kind" -> if (Ezfio.has_spindeterminants_bit_kind ()) then "T" else "F"
|
|
| "has_spindeterminants_n_states" -> if (Ezfio.has_spindeterminants_n_states ()) then "T" else "F"
|
|
| "has_spindeterminants_psi_det_alpha" -> if (Ezfio.has_spindeterminants_psi_det_alpha ()) then "T" else "F"
|
|
| "has_spindeterminants_psi_det_beta" -> if (Ezfio.has_spindeterminants_psi_det_beta ()) then "T" else "F"
|
|
| "has_spindeterminants_psi_coef_matrix_rows" -> if (Ezfio.has_spindeterminants_psi_coef_matrix_rows ()) then "T" else "F"
|
|
| "has_spindeterminants_psi_coef_matrix_columns" -> if (Ezfio.has_spindeterminants_psi_coef_matrix_columns ()) then "T" else "F"
|
|
| "has_spindeterminants_psi_coef_matrix_values" -> if (Ezfio.has_spindeterminants_psi_coef_matrix_values ()) then "T" else "F"
|
|
| "has_ao_basis_ao_num" -> if (Ezfio.has_ao_basis_ao_num ()) then "T" else "F"
|
|
| "has_ao_basis_ao_prim_num" -> if (Ezfio.has_ao_basis_ao_prim_num ()) then "T" else "F"
|
|
| "has_ao_basis_ao_nucl" -> if (Ezfio.has_ao_basis_ao_nucl ()) then "T" else "F"
|
|
| "has_ao_basis_ao_power" -> if (Ezfio.has_ao_basis_ao_power ()) then "T" else "F"
|
|
| "has_ao_basis_ao_coef" -> if (Ezfio.has_ao_basis_ao_coef ()) then "T" else "F"
|
|
| "has_ao_basis_ao_expo" -> if (Ezfio.has_ao_basis_ao_expo ()) then "T" else "F"
|
|
| "has_electrons_elec_alpha_num" -> if (Ezfio.has_electrons_elec_alpha_num ()) then "T" else "F"
|
|
| "has_electrons_elec_beta_num" -> if (Ezfio.has_electrons_elec_beta_num ()) then "T" else "F"
|
|
| "has_electrons_elec_walk_num_tot" -> if (Ezfio.has_electrons_elec_walk_num_tot ()) then "T" else "F"
|
|
| "has_electrons_elec_walk_num" -> if (Ezfio.has_electrons_elec_walk_num ()) then "T" else "F"
|
|
| "has_electrons_elec_coord_pool" -> if (Ezfio.has_electrons_elec_coord_pool ()) then "T" else "F"
|
|
| "has_electrons_elec_coord_pool_size" -> if (Ezfio.has_electrons_elec_coord_pool_size ()) then "T" else "F"
|
|
| "has_electrons_elec_fitcusp_radius" -> if (Ezfio.has_electrons_elec_fitcusp_radius ()) then "T" else "F"
|
|
| "has_jastrow_jast_type" -> if (Ezfio.has_jastrow_jast_type ()) then "T" else "F"
|
|
| "has_jastrow_jast_a_up_up" -> if (Ezfio.has_jastrow_jast_a_up_up ()) then "T" else "F"
|
|
| "has_jastrow_jast_a_up_dn" -> if (Ezfio.has_jastrow_jast_a_up_dn ()) then "T" else "F"
|
|
| "has_jastrow_jast_b_up_up" -> if (Ezfio.has_jastrow_jast_b_up_up ()) then "T" else "F"
|
|
| "has_jastrow_jast_b_up_dn" -> if (Ezfio.has_jastrow_jast_b_up_dn ()) then "T" else "F"
|
|
| "has_jastrow_jast_pen" -> if (Ezfio.has_jastrow_jast_pen ()) then "T" else "F"
|
|
| "has_jastrow_jast_een_e_a" -> if (Ezfio.has_jastrow_jast_een_e_a ()) then "T" else "F"
|
|
| "has_jastrow_jast_een_e_b" -> if (Ezfio.has_jastrow_jast_een_e_b ()) then "T" else "F"
|
|
| "has_jastrow_jast_een_n" -> if (Ezfio.has_jastrow_jast_een_n ()) then "T" else "F"
|
|
| "has_jastrow_jast_core_a1" -> if (Ezfio.has_jastrow_jast_core_a1 ()) then "T" else "F"
|
|
| "has_jastrow_jast_core_a2" -> if (Ezfio.has_jastrow_jast_core_a2 ()) then "T" else "F"
|
|
| "has_jastrow_jast_core_b1" -> if (Ezfio.has_jastrow_jast_core_b1 ()) then "T" else "F"
|
|
| "has_jastrow_jast_core_b2" -> if (Ezfio.has_jastrow_jast_core_b2 ()) then "T" else "F"
|
|
| "has_nuclei_nucl_num" -> if (Ezfio.has_nuclei_nucl_num ()) then "T" else "F"
|
|
| "has_nuclei_nucl_label" -> if (Ezfio.has_nuclei_nucl_label ()) then "T" else "F"
|
|
| "has_nuclei_nucl_charge" -> if (Ezfio.has_nuclei_nucl_charge ()) then "T" else "F"
|
|
| "has_nuclei_nucl_coord" -> if (Ezfio.has_nuclei_nucl_coord ()) then "T" else "F"
|
|
| "has_nuclei_nucl_fitcusp_radius" -> if (Ezfio.has_nuclei_nucl_fitcusp_radius ()) then "T" else "F"
|
|
| "has_properties_d_var_jast_a_up_dn" -> if (Ezfio.has_properties_d_var_jast_a_up_dn ()) then "T" else "F"
|
|
| "has_properties_d_var_jast_a_up_up" -> if (Ezfio.has_properties_d_var_jast_a_up_up ()) then "T" else "F"
|
|
| "has_properties_d_var_jast_b_up_dn" -> if (Ezfio.has_properties_d_var_jast_b_up_dn ()) then "T" else "F"
|
|
| "has_properties_d_var_jast_b_up_up" -> if (Ezfio.has_properties_d_var_jast_b_up_up ()) then "T" else "F"
|
|
| "has_properties_d_var_jast_core_a1" -> if (Ezfio.has_properties_d_var_jast_core_a1 ()) then "T" else "F"
|
|
| "has_properties_d_var_jast_core_b1" -> if (Ezfio.has_properties_d_var_jast_core_b1 ()) then "T" else "F"
|
|
| "has_properties_d_var_jast_een_e_a" -> if (Ezfio.has_properties_d_var_jast_een_e_a ()) then "T" else "F"
|
|
| "has_properties_d_var_jast_een_e_b" -> if (Ezfio.has_properties_d_var_jast_een_e_b ()) then "T" else "F"
|
|
| "has_properties_d_var_jast_een_n" -> if (Ezfio.has_properties_d_var_jast_een_n ()) then "T" else "F"
|
|
| "has_properties_d_var_jast_pen" -> if (Ezfio.has_properties_d_var_jast_pen ()) then "T" else "F"
|
|
| "has_properties_density1d" -> if (Ezfio.has_properties_density1d ()) then "T" else "F"
|
|
| "has_properties_dipole" -> if (Ezfio.has_properties_dipole ()) then "T" else "F"
|
|
| "has_properties_drift_mod" -> if (Ezfio.has_properties_drift_mod ()) then "T" else "F"
|
|
| "has_properties_e_kin" -> if (Ezfio.has_properties_e_kin ()) then "T" else "F"
|
|
| "has_properties_e_loc" -> if (Ezfio.has_properties_e_loc ()) then "T" else "F"
|
|
| "has_properties_e_loc_one" -> if (Ezfio.has_properties_e_loc_one ()) then "T" else "F"
|
|
| "has_properties_e_loc_per_electron" -> if (Ezfio.has_properties_e_loc_per_electron ()) then "T" else "F"
|
|
| "has_properties_e_loc_split_core" -> if (Ezfio.has_properties_e_loc_split_core ()) then "T" else "F"
|
|
| "has_properties_e_loc_two" -> if (Ezfio.has_properties_e_loc_two ()) then "T" else "F"
|
|
| "has_properties_e_nucl" -> if (Ezfio.has_properties_e_nucl ()) then "T" else "F"
|
|
| "has_properties_e_pot" -> if (Ezfio.has_properties_e_pot ()) then "T" else "F"
|
|
| "has_properties_e_pot_one" -> if (Ezfio.has_properties_e_pot_one ()) then "T" else "F"
|
|
| "has_properties_n_s_inverted" -> if (Ezfio.has_properties_n_s_inverted ()) then "T" else "F"
|
|
| "has_properties_n_s_updated" -> if (Ezfio.has_properties_n_s_updated ()) then "T" else "F"
|
|
| "has_properties_n_s_updates" -> if (Ezfio.has_properties_n_s_updates ()) then "T" else "F"
|
|
| "has_properties_voronoi_charges" -> if (Ezfio.has_properties_voronoi_charges ()) then "T" else "F"
|
|
| "has_properties_voronoi_charges_covariance" -> if (Ezfio.has_properties_voronoi_charges_covariance ()) then "T" else "F"
|
|
| "has_properties_voronoi_dipoles" -> if (Ezfio.has_properties_voronoi_dipoles ()) then "T" else "F"
|
|
| "has_properties_wf_extension" -> if (Ezfio.has_properties_wf_extension ()) then "T" else "F"
|
|
| x -> failwith (x^" : Unknown EZFIO function")
|
|
;;
|
|
|