@@ -6,43 +6,100 @@ Basis functions
66.. contents :: Table of Contents
77 :depth: 3
88
9- Gaussian type orbitals (GTO )
10- ============================
9+ Gaussian Type Orbitals (GTOs )
10+ =============================
1111
12- :program: `PyQInt ` uses cartesian Gaussian type orbitals as given by
12+ :program: `PyQInt ` employs * Cartesian Gaussian Type Orbitals * (GTOs), defined as
1313
1414.. math ::
1515
16- \Phi (\alpha ,l,m,n,\vec {R}) = N (x - X)^{l} (y - Y)^{m} (z - Z)^{n} \exp \left (- \alpha |\vec {r} - \vec {R}|^{2 } \right )
16+ \Phi (\alpha , l, m, n, \vec {R}) =
17+ N (x - X)^{l} (y - Y)^{m} (z - Z)^{n}
18+ \exp \left (- \alpha \lvert \vec {r} - \vec {R} \rvert ^{2 } \right )
1719
18- wherein :math: `\alpha ` is the exponent, :math: `\vec {R} = \left (X,Y,Z\right )` the
19- position of the orbital, :math: `(l,m,n)` the orders of the pre-exponential
20- polynomial, and :math: `N` a normalization constant such that
20+ Here, :math: `\alpha ` denotes the orbital exponent,
21+ :math: `\vec {R} = (X, Y, Z)` the position of the orbital center,
22+ :math: `(l, m, n)` the orders of the Cartesian polynomial prefactor,
23+ and :math: `N` a normalization constant chosen such that
2124
2225.. math ::
2326
24- \left < \Phi | \Phi \right > = 1
27+ \langle \Phi \mid \Phi \rangle = 1
2528
26- GTOs are a fundamental building block of CGF (see below) and typically a user
27- would not directly work with them (a notable exception is provided below).
28- Nevertheless, GTO objects can be constructed as follows::
29+ GTO Construction
30+ ****************
2931
30- from pyqint import PyQInt, CGF, GTO
32+ Gaussian Type Orbitals form the fundamental building blocks of *Contracted
33+ Gaussian Functions * (CGFs; see below). In typical workflows, users interact
34+ with CGFs rather than individual GTOs. Nevertheless, GTOs can be constructed
35+ explicitly when needed via::
3136
32- coeff = 1.0 # coefficients only have meaning for GTOs within a CGF
33- alpha = 0.5
34- l,m,n = 0,0,0
35- p = (0,0,0)
36- G = GTO(coeff, p, alpha, l, m, n)
37+ from pyqint import GTO
38+
39+ coeff = 1.0 # linear expansion coefficient
40+ alpha = 0.5 # exponent
41+ l, m, n = 0, 0, 0
42+ position = (0.0, 0.0, 0.0)
43+
44+ gto = GTO(coeff, position, alpha, l, m, n)
3745
3846.. note ::
39- * The normalization constant is automatically calculated by `PyQInt ` based
40- on the value of :math: `\alpha ` and :math: `(l,m,n)` and does not have
41- to be supplied by the user.
42- * If you work with individual GTOs, the first parameter to construct the GTO
43- should have a value of 1.0. This first parameter corresponds to the linear
44- expansion coefficient used in the formulation of Contracted Gaussian Functions
45- (see below).
47+
48+ - The normalization constant :math: `N` is computed automatically by
49+ :program: `PyQInt ` based on the values of :math: `\alpha ` and
50+ :math: `(l, m, n)` and must not be supplied explicitly.
51+ - When working with individual GTOs (i.e. not as part of a CGF), the
52+ coefficient should be set to ``1.0 ``. This parameter represents the
53+ linear expansion coefficient used internally by CGFs.
54+
55+ Retrieving GTO Data Members
56+ ***************************
57+
58+ The :code: `GTO ` class is intentionally designed as a *flat and accessible *
59+ Python object. All defining parameters of the orbital are stored as public
60+ data members and can be accessed directly.
61+
62+ The following attributes are available:
63+
64+ - ``c `` — linear expansion coefficient
65+ - ``p `` — orbital center :math: `(X, Y, Z)`
66+ - ``alpha `` — Gaussian exponent
67+ - ``l ``, ``m ``, ``n `` — Cartesian polynomial orders
68+
69+ For example::
70+
71+ coeff = gto.c
72+ position = gto.p
73+ alpha = gto.alpha
74+ l = gto.l
75+ m = gto.m
76+ n = gto.n
77+
78+ print("Coefficient:", coeff)
79+ print("Position:", position)
80+ print("Exponent:", alpha)
81+ print("Orders:", (l, m, n))
82+
83+ These attributes fully define the mathematical form of the primitive Gaussian
84+ orbital and may be inspected or reused when constructing higher-level objects,
85+ such as CGFs.
86+
87+ Evaluating a GTO
88+ ****************
89+
90+ In addition to direct data access, a GTO provides methods for numerical
91+ evaluation. For example, the orbital amplitude at a point
92+ :math: `(x, y, z)` can be obtained using::
93+
94+ value = gto.get_amp(x, y, z)
95+
96+ The normalization constant used internally may be retrieved via::
97+
98+ norm = gto.get_norm()
99+
100+ This separation between *data members * and *evaluation routines * allows users
101+ to both inspect the orbital parameters and efficiently compute values when
102+ needed.
46103
47104Contracted Gaussian Functions (CGF)
48105===================================
0 commit comments