mirror of
https://gitlab.com/scemama/QCaml.git
synced 2024-12-22 12:23:31 +01:00
41 lines
1.1 KiB
OCaml
41 lines
1.1 KiB
OCaml
(** CI Classes of MOs : active, inactive, etc *)
|
|
|
|
type mo_class =
|
|
| Core of int (* Always doubly occupied *)
|
|
| Inactive of int (* With 0,1 or 2 holes *)
|
|
| Active of int (* With 0,1 or 2 holes or particles *)
|
|
| Virtual of int (* With 0,1 or 2 particles *)
|
|
| Deleted of int (* Always unoccupied *)
|
|
|
|
type t
|
|
|
|
(** Creation *)
|
|
val of_list : mo_class list -> t
|
|
|
|
val fci : ?frozen_core:bool -> MOBasis.t -> t
|
|
(** Creates the MO classes for FCI calculations : all [Active]. The
|
|
[n] lowest MOs are [Core] if [frozen_core = true].
|
|
*)
|
|
|
|
|
|
val core_mos : t -> int list
|
|
(** Returns a list containing the indices of the core MOs. *)
|
|
|
|
val active_mos : t -> int list
|
|
(** Returns a list containing the indices of the active MOs. *)
|
|
|
|
val virtual_mos : t -> int list
|
|
(** Returns a list containing the indices of the virtual MOs. *)
|
|
|
|
val inactive_mos : t -> int list
|
|
(** Returns a list containing the indices of the inactive MOs. *)
|
|
|
|
val deleted_mos : t -> int list
|
|
(** Returns a list containing the indices of the deleted MOs. *)
|
|
|
|
|
|
(** {2 Printers} *)
|
|
|
|
val pp_mo_occ : Format.formatter -> mo_class -> unit
|
|
|