QCaml/Nuclei/Nuclei.mli

38 lines
947 B
OCaml

(** Data structure for the molecular geometry, represented as an array
of tuples ({!Element.t}, {!Coordinate.t}).
*)
type t = (Element.t * Coordinate.t) array
val of_xyz_string : string -> t
(** Create from a string, in [xyz] format. *)
val of_xyz_file : string -> t
(** Create from a file, in [xyz] format. *)
val of_zmt_string : string -> t
(** Create from a string, in z-matrix format. *)
val of_zmt_file : string -> t
(** Create from a file, in z-matrix format. *)
val to_string : t -> string
(** Transform to a string, for printing. *)
val of_filename : string -> t
(** Detects the type of file ([xyz], z-matrix) and reads the file. *)
val repulsion : t -> float
(** Nuclear repulsion energy, in atomic units. *)
val charge : t -> Charge.t
(** Sum of the charges of the nuclei. *)
val small_core : t -> int
(** Number of core electrons in the small core model. *)
val to_xyz_string : t -> string
val to_t2_string : t -> string