2018-03-03 22:29:08 +01:00
|
|
|
(** Data structure representing the output of a Hartree-Fock caculation *)
|
|
|
|
|
2018-07-20 16:09:06 +02:00
|
|
|
type s =
|
2018-02-23 18:44:31 +01:00
|
|
|
{
|
2018-07-20 16:09:06 +02:00
|
|
|
simulation : Simulation.t; (** Simulation which was used for HF calculation *)
|
2018-05-30 18:07:05 +02:00
|
|
|
guess : Guess.t; (** Initial guess *)
|
|
|
|
eigenvectors : Lacaml.D.Mat.t ; (** Final eigenvectors *)
|
|
|
|
eigenvalues : Lacaml.D.Vec.t ; (** Final eigenvalues *)
|
|
|
|
nocc : int ; (** Number of occupied MOs *)
|
|
|
|
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 *)
|
|
|
|
iterations : (float * float * float) array;
|
|
|
|
(** Energy, convergence and HOMO-LUMO gap of all iterations *)
|
2018-02-23 18:44:31 +01:00
|
|
|
}
|
|
|
|
|
2018-07-20 16:09:06 +02:00
|
|
|
type t =
|
|
|
|
| RHF of s (** Restricted Hartree-Fock *)
|
|
|
|
| ROHF of s (** Restricted Open-shell Hartree-Fock *)
|
|
|
|
| UHF of s (** Unrestricted Hartree-Fock *)
|
|
|
|
|
|
|
|
|
2018-05-30 18:07:05 +02:00
|
|
|
val to_string : t -> string
|
|
|
|
(** Results of a Hartree-Fock calculation pretty-printed in a string. *)
|
2018-02-23 18:44:31 +01:00
|
|
|
|