QCaml/gaussian/atomic_shell_pair.org

5.2 KiB

Atomic shell pair

Data structure to represent pairs of atomic shells. The products of functions in the shell pair are one-electron functions.

An atomic shell pair is an array of pairs of contracted shells.

Type

type t

open Common

Access

val atomic_shell_a         : t -> Atomic_shell.t
val atomic_shell_b         : t -> Atomic_shell.t
val contracted_shell_pairs : t -> Contracted_shell_pair.t list
val ang_mom                : t -> Angular_momentum.t
val monocentric            : t -> bool
val norm_scales            : t -> float array
val a_minus_b              : t -> Coordinate.t
val a_minus_b_sq           : t -> float
atomic_shell_a Returns the first Atomic_shell.t which was used to build the atomic shell pair.
atomic_shell_b Returns the second Atomic_shell.t which was used to build the atomic shell pair.
contracted_shell_pairs Returns an array of ContractedShellPair.t, containing all the pairs of contracted functions used to build the atomic shell pair.
norm_scales norm_coef.(i) / norm_coef.(0)
ang_mom Total angular Momentum
monocentric If true, the two atomic shells have the same center.
a_minus_b Returns $A-B$
a_minus_b_sq Returns $\vert A-B \vert^2$

Creation

val make : ?cutoff:float -> Atomic_shell.t -> Atomic_shell.t -> t option

Creates an atomic shell pair from two atomic shells.

The contracted shell pairs contains the only pairs of primitives for which the norm is greater than cutoff.

If all the contracted shell pairs are not significant, the function returns None.

val of_atomic_shell_array : ?cutoff:float -> Atomic_shell.t array -> t option array array

Creates all possible atomic shell pairs from an array of atomic shells. If an atomic shell pair is not significant, sets the value to None.

Printers

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