2018-02-24 23:57:38 +01:00
|
|
|
(** Information related to electrons. *)
|
|
|
|
|
2020-10-09 09:47:57 +02:00
|
|
|
open Common
|
2020-09-26 12:02:53 +02:00
|
|
|
|
2019-02-20 19:43:16 +01:00
|
|
|
type t
|
2018-02-24 23:57:38 +01:00
|
|
|
|
2020-09-26 12:02:53 +02:00
|
|
|
val make : int -> int -> t
|
|
|
|
(** make [n_alfa] [n_beta] *)
|
|
|
|
|
|
|
|
val of_atoms : ?multiplicity:int -> ?charge:int -> Nuclei.t -> t
|
2018-02-24 23:57:38 +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
|
|
|
|
@param charge default is 0
|
|
|
|
@raise Invalid_argument if the spin multiplicity is not compatible with
|
|
|
|
the molecule and the total charge.
|
|
|
|
*)
|
2018-03-03 22:13:14 +01:00
|
|
|
|
|
|
|
val charge : t -> Charge.t
|
|
|
|
(** Sum of the charges of the electrons. *)
|
|
|
|
|
2019-12-03 12:25:31 +01:00
|
|
|
val n_elec : t -> int
|
|
|
|
(** Number of electrons *)
|
|
|
|
|
2019-02-20 19:43:16 +01:00
|
|
|
val n_alfa : t -> int
|
|
|
|
(** Number of alpha electrons *)
|
|
|
|
|
|
|
|
val n_beta : t -> int
|
|
|
|
(** Number of beta electrons *)
|
|
|
|
|
|
|
|
val multiplicity : t -> int
|
|
|
|
(** Spin multiplicity: {% $2S+1$ %} *)
|
|
|
|
|