Gaussian

Table of Contents

"Gaussian basis sets"

1 Atomic shell

Set of contracted Gaussians differing only by the powers of \(x\), \(y\) and \(z\), with a constant Angular_momentum.t, all centered on the same point.

In other words, it is the set of all contracted shells sharing the same center.

\begin{align*} \chi_{n_x,n_y,n_z}(r) & = f(n_x,n_y,n_z) \sum_{j=1}^{n} \sum_{i=1}^{m} \mathcal{N}_{ij}\, d_{ij}\, g_{ij\,n_x,n_y,n_z}(r) \\ & = (x-X_A)^{n_x} (y-Y_A)^{n_y} (z-Z_A)^{n_z} f(n_x,n_y,n_z) \sum_{j=1}^{n} \sum_{i=1}^{m} \mathcal{N}_{ij}\, d_{ij}\, \exp \left( -\alpha_{ij} |r-R_A|^2 \right) \end{align*}

where:

  • \(g_{ij\,n_x,n_y,n_z}(r)\) is the $i$-th PrimitiveShell.t of the $j$-th Contracted_shell.t
  • \(n_x + n_y + n_z = l\), the total angular momentum
  • \(\alpha_{ij}\) are the exponents (tabulated) of the $j$-th Contracted_shell.t
  • \(d_{ij}\) are the contraction coefficients of the $j$-th Contracted_shell.t
  • \(\mathcal{N}_{ij}\) is the normalization coefficient of the $i$-th primitive shell (PrimitiveShell.norm_coef) of the $j$-th Contracted_shell.t
  • \(f(n_x,n_y,n_z)\) is a scaling factor adjusting the normalization coefficient for the particular powers of \(x,y,z\) (PrimitiveShell.norm_coef_scale)

1.1 Type

type t

open Common

1.2 Access

val index : t -> int
(** Index in the basis set, represented as an array of contracted shells. *)

val center : t -> Coordinate.t
(** Coordinate of the center {% $\mathbf{A} = (X_A,Y_A,Z_A)$ %}. *)

val ang_mom : t -> Angular_momentum.t
(** Total angular momentum : {% $l = n_x + n_y + n_z$ %}. *)

val size : t -> int
(** Number of contracted functions, {% $n$ %} in the definition. *)

val contracted_shells: t -> Contracted_shell.t array
(** Array of contracted gaussians *)

val exponents : t -> float array array
(** Array of exponents {% $\alpha_{ij}$ %}. The first index is the index of
    the contracted function, and the second index is the index of the primitive.
*)

val coefficients : t -> float array array
(** Array of contraction coefficients {% $d_{ij}$ %}. The first index is the index of
    the contracted function, and the second index is the index of the primitive.
*)

val normalizations : t -> float array array
(** Normalization coefficients {% $\mathcal{N}_{ij}$ %}. The first index is the index of
    the contracted function, and the second index is the index of the primitive.
*)

val norm_scales : t -> float array
(** Scaling factors {% $f(n_x,n_y,n_z)$ %}, given in the same order as
    [Angular_momentum.zkey_array ang_mom]. *)

val size_of_shell : t -> int
(** Number of contracted functions in the shell: length of {!norm_coef_scale}. *)

index Index in the basis set, represented as an array of contracted shells.
center Coordinate of the center \(\mathbf{A} = (X_A,Y_A,Z_A)\).
ang_mom Total angular momentum : \(l = n_x + n_y + n_z\).
size Number of contracted functions, \(n\) in the definition.
contracted_shells: Array of contracted gaussians
exponents Array of exponents \(\alpha_{ij}\). The first index is the index of the contracted function, and the second index is the index of the primitive.
coefficients Array of contraction coefficients \(d_{ij}\). The first index is the index of the contracted function, and the second index is the index of the primitive.
normalizations Normalization coefficients \(\mathcal{N}_{ij}\). The first index is the index of the contracted function, and the second index is the index of the primitive.
norm_scales Scaling factors \(f(n_x,n_y,n_z)\), given in the same order as Angular_momentum.zkey_array ang_mom.
size_of_shell Number of contracted functions in the shell: length of norm_coef_scale.

1.3 Creation

val make : ?index:int -> Contracted_shell.t array -> t 
(** Creates a contracted shell from a list of coefficients and primitives.  *)

val with_index  : t -> int -> t
(** Returns a copy of the contracted shell with a modified index. *)
make Creates a contracted shell from a list of coefficients and primitives.
with_index Returns a copy of the contracted shell with a modified index.

1.4 Printers

val pp : Format.formatter -> t -> unit

Author: Anthony Scemama

Created: 2021-01-06 Wed 09:02

Validate