QCaml/gaussian/atomic_shell.org

7.0 KiB

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)

Type

type t

open Common

Access

val ang_mom           : t -> Angular_momentum.t
val center            : t -> Coordinate.t
val coefficients      : t -> float array array
val contracted_shells : t -> Contracted_shell.t array
val exponents         : t -> float array array
val index             : t -> int
val normalizations    : t -> float array array
val norm_scales       : t -> float array
val size_of_shell     : t -> int
val size              : t -> int
ang_mom Total angular momentum : $l = n_x + n_y + n_z$.
center Coordinate of the center $\mathbf{A} = (X_A,Y_A,Z_A)$.
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.
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.
index Index in the basis set, represented as an array of contracted shells.
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 Number of contracted functions, $n$ in the definition.
size_of_shell Number of contracted functions in the shell: length of norm_coef_scale.

Creation

val make : ?index:int -> Contracted_shell.t array -> t 

val with_index  : t -> int -> t
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.

Printers

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