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

44 lines
951 B
OCaml
Raw Normal View History

2024-02-28 10:34:39 +01:00
(** Data structure containing the number of alpha and beta electrons.
*)
2018-02-24 23:57:38 +01:00
2020-12-28 12:43:32 +01:00
type t
open Common
2018-02-24 23:57:38 +01:00
2024-02-28 10:34:39 +01:00
(** Creation *)
2020-09-26 12:02:53 +02:00
val make : int -> int -> t
2024-02-28 10:34:39 +01:00
(* make n_alfa n_beta *)
2020-09-26 12:02:53 +02:00
val of_atoms : ?multiplicity:int -> ?charge:int -> Nuclei.t -> t
2024-02-28 10:34:39 +01:00
(** Creates the data relative to electrons for a molecular system described by
Nuclei.t for a given total charge and spin multiplicity.
@param multiplicity default is 1
2020-12-28 12:43:32 +01:00
@param charge default is 0
@raise Invalid_argument if the spin multiplicity is not compatible with
2018-02-24 23:57:38 +01:00
the molecule and the total charge.
2020-12-28 12:43:32 +01:00
*)
2018-03-03 22:13:14 +01:00
2024-02-28 10:34:39 +01:00
(** Access *)
2019-12-03 12:25:31 +01:00
2020-12-28 12:43:32 +01:00
val charge : t -> Charge.t
2024-02-28 10:34:39 +01:00
(** Sum of the charges of the electrons *)
2020-12-28 12:43:32 +01:00
val n_elec : t -> int
2024-02-28 10:34:39 +01:00
(* Number of electrons *)
2020-12-28 12:43:32 +01:00
val n_alfa : t -> int
2024-02-28 10:34:39 +01:00
(* Number of alpha electrons *)
2020-12-28 12:43:32 +01:00
val n_beta : t -> int
2024-02-28 10:34:39 +01:00
(* Number of beta electrons *)
2020-12-28 12:43:32 +01:00
val multiplicity : t -> int
2024-02-28 10:34:39 +01:00
(* Spin multiplicity: 2S+1 *)
2019-02-20 19:43:16 +01:00
2024-02-28 10:34:39 +01:00
(** Printers *)
2019-02-20 19:43:16 +01:00
2020-12-28 12:43:32 +01:00
val pp : Format.formatter -> t -> unit