(* Type *) (* [[file:~/QCaml/gaussian/atomic_shell.org::*Type][Type:1]] *) type t open Common (* Type:1 ends here *) (* Access *) (* [[file:~/QCaml/gaussian/atomic_shell.org::*Access][Access:1]] *) 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}. *) (* Access:1 ends here *) (* Creation *) (* [[file:~/QCaml/gaussian/atomic_shell.org::*Creation][Creation:1]] *) 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. *) (* Creation:1 ends here *) (* Printers *) (* [[file:~/QCaml/gaussian/atomic_shell.org::*Printers][Printers:1]] *) val pp : Format.formatter -> t -> unit (* Printers:1 ends here *)