10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2025-01-03 18:15:47 +01:00
QCaml/simulation/lib/simulation.mli

46 lines
880 B
OCaml
Raw Normal View History

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