2024-02-28 10:34:39 +01:00
|
|
|
(** Type *)
|
2018-03-03 22:13:14 +01:00
|
|
|
|
2020-10-09 09:47:57 +02:00
|
|
|
open Common
|
2020-09-26 12:02:53 +02:00
|
|
|
|
2019-06-18 14:29:57 +02:00
|
|
|
type t = (Element.t * Coordinate.t) array
|
2018-03-03 22:13:14 +01:00
|
|
|
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Conversion *)
|
2018-03-03 22:13:14 +01:00
|
|
|
|
2020-04-16 19:49:23 +02:00
|
|
|
|
2020-12-29 18:06:54 +01:00
|
|
|
val of_xyz_string : string -> t
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Create from a string, in xyz format *)
|
|
|
|
|
2020-12-29 18:06:54 +01:00
|
|
|
val to_xyz_string : t -> string
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Transform into a string, in xyz format *)
|
|
|
|
|
2020-12-29 18:06:54 +01:00
|
|
|
val of_xyz_file : string -> t
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Create from a file, in xyz format *)
|
2018-03-03 22:13:14 +01:00
|
|
|
|
2018-06-29 16:04:40 +02:00
|
|
|
val of_zmt_string : string -> t
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Create from a string, in z-matrix format *)
|
|
|
|
|
2020-12-29 18:06:54 +01:00
|
|
|
val of_zmt_file : string -> t
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Create from a file, in z-matrix format *)
|
2018-03-03 22:13:14 +01:00
|
|
|
|
2020-12-29 18:06:54 +01:00
|
|
|
val to_string : t -> string
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Transform to a string, for printing *)
|
2018-03-03 22:13:14 +01:00
|
|
|
|
|
|
|
val of_filename : string -> t
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Detects the type of file (xyz, z-matrix) and reads the file *)
|
2018-03-03 22:13:14 +01:00
|
|
|
|
|
|
|
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Query *)
|
2018-03-03 22:13:14 +01:00
|
|
|
|
2021-01-01 11:46:11 +01:00
|
|
|
val formula : t -> string
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Returns the chemical formula *)
|
|
|
|
|
2020-12-29 18:06:54 +01:00
|
|
|
val repulsion : t -> float
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Nuclear repulsion energy, in atomic units *)
|
|
|
|
|
2020-12-29 18:06:54 +01:00
|
|
|
val charge : t -> Charge.t
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Sum of the charges of the nuclei *)
|
|
|
|
|
2018-07-04 18:08:38 +02:00
|
|
|
val small_core : t -> int
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Number of core electrons in the small core model *)
|
|
|
|
|
2020-12-29 18:06:54 +01:00
|
|
|
val large_core : t -> int
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Number of core electrons in the large core model | *)
|
2018-07-04 18:08:38 +02:00
|
|
|
|
2023-04-24 19:01:42 +02:00
|
|
|
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Read *)
|
2023-04-24 19:01:42 +02:00
|
|
|
|
|
|
|
val of_trexio : Trexio.trexio_file -> t
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Read from a file in TREXIO format *)
|
2023-04-24 19:01:42 +02:00
|
|
|
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Write *)
|
2023-04-24 19:01:42 +02:00
|
|
|
|
|
|
|
val to_trexio : Trexio.trexio_file -> t -> unit
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Write to a file in TREXIO format *)
|
2023-04-24 19:01:42 +02:00
|
|
|
|
2020-12-29 18:06:54 +01:00
|
|
|
|
2024-02-28 10:34:39 +01:00
|
|
|
(** Printers *)
|
2020-12-29 18:06:54 +01:00
|
|
|
|
|
|
|
val pp : Format.formatter -> t -> unit
|
2024-02-28 10:34:39 +01:00
|
|
|
|