(* Contains the state of a simulation *) open Common open Particles open Operators type t 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) *) (** {1 Creation} *) val make : ?multiplicity:int -> ?charge:int -> ?operators:Operator.t list-> nuclei:Nuclei.t -> Ao.Basis.t -> t