QCaml/Basis/Basis.mli

61 lines
2.1 KiB
OCaml
Raw Normal View History

2018-02-23 18:41:30 +01:00
(** The atomic basis set is represented as an array of {!ContractedShell.t}. *)
2018-03-20 14:11:31 +01:00
type t
2018-02-06 18:12:19 +01:00
val of_nuclei_and_general_basis : ?f12:F12factor.t -> ?range_separation:float ->
Nuclei.t -> GeneralBasis.t -> t
2018-02-23 18:41:30 +01:00
(** Takes an array of {!Nuclei.t}, and a {!GeneralBasis.t} (such as cc-pVDZ
for instance) and creates the corresponding atomic basis set.
2018-03-16 00:23:47 +01:00
All the {!Element.t}'s of the array of {!Nuclei.t} are searched in
2018-02-23 18:41:30 +01:00
the {!GeneralBasis.t}, and the basis is built by creating
2018-03-16 00:23:47 +01:00
{!ContractedShell.t}'s centered on the nuclei with the exponents
2018-02-23 18:41:30 +01:00
and contraction coefficients given by the {!GeneralBasis.t}.
*)
2018-02-06 18:12:19 +01:00
val of_nuclei_and_basis_filename : ?f12:F12factor.t -> ?range_separation:float ->
nuclei:Nuclei.t -> string -> t
2018-02-23 18:41:30 +01:00
(** Same as {!of_nuclei_and_general_basis}, but taking the {!GeneralBasis.t}
from a file.
*)
2018-02-06 18:12:19 +01:00
val of_nuclei_and_basis_string : ?f12:F12factor.t -> ?range_separation:float ->
nuclei:Nuclei.t -> string -> t
2020-04-16 19:49:23 +02:00
(** Same as {!of_nuclei_and_general_basis}, but taking the {!GeneralBasis.t}
from a string.
*)
val of_nuclei_and_basis_filenames : ?f12:F12factor.t -> ?range_separation:float ->
nuclei:Nuclei.t -> string list -> t
(** Same as {!of_nuclei_and_general_basis}, but taking the {!GeneralBasis.t}
from multiple files.
*)
2018-03-20 14:11:31 +01:00
val size : t -> int
(** Number of contracted basis functions. *)
2018-03-20 15:16:24 +01:00
val atomic_shells : t -> AtomicShell.t array
2018-03-20 14:11:31 +01:00
(** Returns the contracted basis functions per atom. *)
val contracted_shells : t -> ContractedShell.t array
(** Returns all the contracted basis functions. *)
2019-03-21 00:44:10 +01:00
val general_basis : t -> GeneralBasis.t
(** Returns the [!GeneralBasis] that was used to build the current basis. *)
2018-03-20 14:11:31 +01:00
val f12 : t -> F12factor.t option
(** Returns the explicit correlation factor if present. *)
val range_separation : t -> float option
(** Returns the electron-electrons interaction range-separation value if present. *)
2018-03-20 14:11:31 +01:00
(** {2 Printers} *)
val to_string : t -> string
(** Pretty prints the basis set in a string. TODO *)
2019-12-02 14:58:48 +01:00
val pp : Format.formatter -> t -> unit
2018-07-05 00:39:17 +02:00