QCaml/particles/lib/electrons.mli

44 lines
951 B
OCaml

(** Data structure containing the number of alpha and beta electrons.
*)
type t
open Common
(** Creation *)
val make : int -> int -> t
(* make n_alfa n_beta *)
val of_atoms : ?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.
*)
(** Access *)
val charge : t -> Charge.t
(** Sum of the charges of the electrons *)
val n_elec : t -> int
(* Number of electrons *)
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 *)
(** Printers *)
val pp : Format.formatter -> t -> unit