10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-10-19 06:21:37 +02:00
QCaml/particles/lib/nuclei.mli

65 lines
1.3 KiB
OCaml
Raw Normal View History

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
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