QCaml/Basis/Basis.mli

30 lines
974 B
OCaml

(** The atomic basis set is represented as an array of {!ContractedShell.t}. *)
type t = private
{
size : int ; (** Number of contracted Gaussians *)
contracted_shells :
ContractedShell.t array ; (** Contracted shells *)
}
val to_string : t -> string
(** Pretty prints the basis set in a string. *)
val of_nuclei_and_general_basis : Nuclei.t -> GeneralBasis.t -> t
(** Takes an array of {!Nuclei.t}, and a {!GeneralBasis.t} (such as cc-pVDZ
for instance) and creates the corresponding atomic basis set.
All the {!Element.t}'s of the array of {!Nuclei.t} are searched in
the {!GeneralBasis.t}, and the basis is built by creating
{!ContractedShell.t}'s centered on the nuclei with the exponents
and contraction coefficients given by the {!GeneralBasis.t}.
*)
val of_nuclei_and_basis_filename : nuclei:Nuclei.t -> string -> t
(** Same as {!of_nuclei_and_general_basis}, but taking the {!GeneralBasis.t}
from a file.
*)