10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-06-30 00:44:18 +02:00
QCaml/ao_basis/lib/ao_basis_gaussian.mli

71 lines
1.9 KiB
OCaml
Raw Normal View History

2020-10-02 23:35:56 +02:00
(** Data structure for Atomic Orbitals. *)
2020-10-03 00:54:17 +02:00
open Qcaml_common
open Qcaml_particles
open Qcaml_linear_algebra
open Qcaml_gaussian_basis
open Qcaml_gaussian_integrals
open Qcaml_operators
2020-10-02 23:35:56 +02:00
type t =
{
2020-10-03 00:54:17 +02:00
basis : Basis.t ;
overlap : Overlap.t lazy_t;
multipole : Multipole.t lazy_t;
ortho : Orthonormalization.t lazy_t;
eN_ints : Electron_nucleus.t lazy_t;
kin_ints : Kinetic.t lazy_t;
ee_ints : Eri.t lazy_t;
ee_lr_ints : Eri_long_range.t lazy_t;
f12_ints : F12.t lazy_t;
f12_over_r12_ints : Screened_eri.t lazy_t;
cartesian : bool ;
2020-10-02 23:35:56 +02:00
}
(** {1 Accessors} *)
val basis : t -> Basis.t
(** One-electron basis set *)
val overlap : t -> Overlap.t
(** Overlap matrix *)
val multipole : t -> Multipole.t
(** Multipole matrices *)
val ortho : t -> Orthonormalization.t
(** Orthonormalization matrix of the overlap *)
2020-10-03 00:54:17 +02:00
val eN_ints : t -> Electron_nucleus.t
2020-10-02 23:35:56 +02:00
(** Electron-nucleus potential integrals *)
2020-10-03 00:54:17 +02:00
val ee_ints : t -> Eri.t
2020-10-02 23:35:56 +02:00
(** Electron-electron potential integrals *)
2020-10-03 00:54:17 +02:00
val ee_lr_ints : t -> Eri_long_range.t
2020-10-02 23:35:56 +02:00
(** Electron-electron long-range potential integrals *)
val f12_ints : t -> F12.t
(** Electron-electron potential integrals *)
2020-10-03 00:54:17 +02:00
val f12_over_r12_ints : t -> Screened_eri.t
(** Electron-electron potential integrals *)
val kin_ints : t -> Kinetic.t
2020-10-02 23:35:56 +02:00
(** Kinetic energy integrals *)
val cartesian : t -> bool
(** If true, use cartesian Gaussians (6d, 10f, ...) *)
2020-10-03 00:54:17 +02:00
val values : t -> Coordinate.t -> Basis.t Vector.t
2020-10-02 23:35:56 +02:00
(** Values of the AOs evaluated at a given point *)
(** {1 Creators} *)
2020-10-03 00:54:17 +02:00
val make : basis:Basis.t -> ?operators:Operator.t list -> ?cartesian:bool
-> Nuclei.t -> t
2020-10-02 23:35:56 +02:00
(** Creates the data structure for atomic orbitals from a {Basis.t} and the
molecular geometry {Nuclei.t} *)