QCaml/SCF/HartreeFock_type.mli

32 lines
1.4 KiB
OCaml

open Lacaml.D
(** Data structure representing the output of a Hartree-Fock caculation *)
type s =
{
simulation : Simulation.t; (** Simulation which was used for HF calculation *)
guess : Guess.t; (** Initial guess *)
eigenvectors : Mat.t ; (** Final eigenvectors *)
eigenvalues : Vec.t ; (** Final eigenvalues *)
occupation : Vec.t ; (** Diagonal of the density matrix *)
iterations : (float * float * float) array;
energy : float ; (** Final energy *)
nuclear_repulsion : float ; (** Nucleus-Nucleus potential energy *)
kin_energy : float ; (** Kinetic energy *)
eN_energy : float ; (** Electron-nucleus potential energy *)
coulomb_energy : float ; (** Electron-Electron potential energy *)
exchange_energy : float ; (** Exchange energy *)
nocc : int ; (** Number of occupied MOs *)
(** Energy, convergence and HOMO-LUMO gap of all iterations *)
}
type t =
| RHF of s (** Restricted Hartree-Fock *)
| ROHF of s (** Restricted Open-shell Hartree-Fock *)
| UHF of s (** Unrestricted Hartree-Fock *)
val to_string : t -> string
(** Results of a Hartree-Fock calculation pretty-printed in a string. *)