QCaml/simulation/lib/simulation.mli

46 lines
880 B
OCaml

(** Contains the state of the simulation. *)
open Common
open Particles
open Operators
type t
(** Access *)
val nuclei : t -> Nuclei.t
(** Nuclear coordinates used in the smiulation *)
val charge : t -> Charge.t
(** Total charge (electrons + nuclei) *)
val electrons : t -> Electrons.t
(** Electrons used in the simulation *)
val ao_basis : t -> Ao.Basis.t
(** Atomic basis set *)
val nuclear_repulsion : t -> float
(** Nuclear repulsion energy *)
val operators : t -> Operator.t list
(** List of extra operators (range-separation, f12, etc) *)
(** Creation *)
val make : ?multiplicity:int -> ?charge:int ->
?operators:Operator.t list-> nuclei:Nuclei.t ->
Ao.Basis.t -> t
(** Defaults:
* - multiplicity : ~1~
* - charge : ~0~
* - operators : ~[]~
*)
(** Printers *)
val pp : Format.formatter -> t -> unit