(** 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