2018-02-24 23:57:38 +01:00
|
|
|
(** Information related to electrons. *)
|
|
|
|
|
|
|
|
type t = {
|
2018-03-03 21:33:32 +01:00
|
|
|
n_alpha : int ; (** Number of alpha electrons *)
|
|
|
|
n_beta : int ; (** Number of beta electrons *)
|
2018-03-06 18:25:48 +01:00
|
|
|
multiplicity : int ; (** Spin multiplicity: {% $2S+1$ %} *)
|
2018-02-24 23:57:38 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
val make : ?multiplicity:int -> ?charge:int -> Nuclei.t -> t
|
|
|
|
(** 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. *)
|
|
|
|
|