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
|
|
|
|
2020-10-09 09:47:57 +02:00
|
|
|
open Particles
|
2018-02-06 18:12:19 +01:00
|
|
|
|
2020-09-26 12:02:53 +02:00
|
|
|
val of_nuclei_and_general_basis : Nuclei.t -> General_basis.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
|
|
|
|
|
|
|
|
2020-09-26 12:02:53 +02:00
|
|
|
val of_nuclei_and_basis_filename : 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
|
|
|
|
2020-09-26 12:02:53 +02:00
|
|
|
val of_nuclei_and_basis_string : 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.
|
|
|
|
*)
|
|
|
|
|
2020-09-26 12:02:53 +02:00
|
|
|
val of_nuclei_and_basis_filenames : nuclei:Nuclei.t -> string list -> t
|
2019-03-20 19:18:36 +01:00
|
|
|
(** 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. *)
|
|
|
|
|
2020-09-26 12:02:53 +02:00
|
|
|
val atomic_shells : t -> Atomic_shell.t array
|
2018-03-20 14:11:31 +01:00
|
|
|
(** Returns the contracted basis functions per atom. *)
|
|
|
|
|
2020-09-26 12:02:53 +02:00
|
|
|
val contracted_shells : t -> Contracted_shell.t array
|
2018-03-20 14:11:31 +01:00
|
|
|
(** Returns all the contracted basis functions. *)
|
|
|
|
|
2020-09-26 12:02:53 +02:00
|
|
|
val general_basis : t -> General_basis.t
|
2019-03-21 00:44:10 +01:00
|
|
|
(** Returns the [!GeneralBasis] that was used to build the current basis. *)
|
2018-03-20 14:11:31 +01:00
|
|
|
|
2023-04-24 19:01:42 +02:00
|
|
|
|
|
|
|
(** {TREXIO} *)
|
|
|
|
|
|
|
|
val of_trexio : Trexio.trexio_file -> t
|
|
|
|
val to_trexio : Trexio.trexio_file -> t -> unit
|
|
|
|
|
|
|
|
|
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
|
|
|
|