10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-11-07 14:43:41 +01:00
QCaml/ao/lib/basis.mli

61 lines
1.5 KiB
OCaml
Raw Normal View History

2020-10-02 23:35:56 +02:00
(** Data structure for Atomic Orbitals. *)
2020-10-09 09:47:57 +02:00
open Common
open Particles
open Operators
open Linear_algebra
2020-10-07 17:54:15 +02:00
type t
2020-10-18 01:58:22 +02:00
type ao = Ao_dim.t
2020-10-07 17:54:15 +02:00
(** {1 Accessors} *)
val size : t -> int
(** Number of atomic orbitals in the AO basis set *)
2020-10-19 18:33:02 +02:00
val ao_basis : t -> Basis_poly.t
2020-10-07 17:54:15 +02:00
(** One-electron basis set *)
2020-10-18 01:58:22 +02:00
val overlap : t -> (ao,ao) Matrix.t
2020-10-07 17:54:15 +02:00
(** Overlap matrix *)
2020-10-19 18:33:02 +02:00
val multipole : t -> string -> (ao,ao) Matrix.t
2020-10-07 17:54:15 +02:00
(** Multipole matrices *)
2020-10-18 01:58:22 +02:00
val ortho : t -> (ao,'a) Matrix.t
2020-10-07 17:54:15 +02:00
(** Orthonormalization matrix of the overlap *)
2020-10-18 01:58:22 +02:00
val eN_ints : t -> (ao,ao) Matrix.t
2020-10-07 17:54:15 +02:00
(** Electron-nucleus potential integrals *)
2020-10-18 01:58:22 +02:00
val kin_ints : t -> (ao,ao) Matrix.t
2020-10-07 17:54:15 +02:00
(** Kinetic energy integrals *)
2020-10-18 01:58:22 +02:00
val ee_ints : t -> ao Four_idx_storage.t
2020-10-07 17:54:15 +02:00
(** Electron-electron potential integrals *)
2020-10-18 01:58:22 +02:00
val ee_lr_ints : t -> ao Four_idx_storage.t
2020-10-07 17:54:15 +02:00
(** Electron-electron long-range potential integrals *)
2020-10-18 01:58:22 +02:00
val f12_ints : t -> ao Four_idx_storage.t
2020-10-07 17:54:15 +02:00
(** Electron-electron potential integrals *)
2020-10-18 01:58:22 +02:00
val f12_over_r12_ints : t -> ao Four_idx_storage.t
2020-10-07 17:54:15 +02:00
(** Electron-electron potential integrals *)
val cartesian : t -> bool
(** If true, use cartesian Gaussians (6d, 10f, ...) *)
2020-10-18 01:58:22 +02:00
val values : t -> Coordinate.t -> ao Vector.t
2020-10-07 17:54:15 +02:00
(** Values of the AOs evaluated at a given point *)
(** {1 Creators} *)
val of_nuclei_and_basis_filename :
?kind:[> `Gaussian ] -> ?operators:Operator.t list -> ?cartesian:bool ->
nuclei:Nuclei.t -> string -> t
2020-10-09 09:38:52 +02:00
(** Creates the data structure for the atomic orbitals basis from a molecule
{Nuclei.t} and the name of the basis-set file *)