mirror of
https://gitlab.com/scemama/QCaml.git
synced 2024-08-16 09:48:30 +02:00
7.9 KiB
7.9 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$-thContracted_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$-thContracted_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 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 . |
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. |
Printers
val pp : Format.formatter -> t -> unit