@@ -26,19 +26,35 @@ Read the nuclear repulsion energy from the [enuc.dat](./input/h2o/STO-3G/enuc.da
2626
2727Read the AO-basis [ overlap] ( ./input/h2o/STO-3G/s.dat )
2828
29- <img src =" ./figures/overlap.png " height =" 50 " >
29+ <picture >
30+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/overlap.png " >
31+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/overlap.png " >
32+ <img src =" ./figures/overlap.png " height =" 50 " >
33+ </picture >
3034
3135[ kinetic-energy] ( ./input/h2o/STO-3G/t.dat )
3236
33- <img src =" ./figures/kinetic-energy.png " height =" 50 " >
37+ <picture >
38+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/kinetic-energy.png " >
39+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/kinetic-energy.png " >
40+ <img src =" ./figures/kinetic-energy.png " height =" 50 " >
41+ </picture >
3442
3543[ nuclear-attraction integrals] ( ./input/h2o/STO-3G/v.dat )
3644
37- <img src =" ./figures/nuclear-attraction.png " height =" 55 " >
45+ <picture >
46+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/nuclear-attraction.png " >
47+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/nuclear-attraction.png " >
48+ <img src =" ./figures/nuclear-attraction.png " height =" 55 " >
49+ </picture >
3850
3951and store them in appropriately constructed matrices. Then form the "core Hamiltonian":
4052
41- <img src =" ./figures/core-hamiltonian.png " height =" 25 " >
53+ <picture >
54+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/core-hamiltonian.png " >
55+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/core-hamiltonian.png " >
56+ <img src =" ./figures/core-hamiltonian.png " height =" 25 " >
57+ </picture >
4258
4359Note that the one-electron integrals provided include only the * permutationally unique* integrals, but you should store the full matrices for convenience.
4460Note also that the AO indices on the integrals in the files start with "1" rather than "0".
@@ -52,24 +68,44 @@ Read the two-electron repulsion integrals from the
5268file.
5369The integrals in this file are provided in Mulliken notation over real AO basis functions:
5470
55- <img src =" ./figures/eri.png " height =" 45 " >
71+ <picture >
72+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/eri.png " >
73+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/eri.png " >
74+ <img src =" ./figures/eri.png " height =" 45 " >
75+ </picture >
5676
5777Hence, the integrals obey the eight-fold permutational symmetry relationships:
5878
59- <img src =" ./figures/permutational-symmetry.png " height =" 20 " >
79+ <picture >
80+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/permutational-symmetry.png " >
81+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/permutational-symmetry.png " >
82+ <img src =" ./figures/permutational-symmetry.png " height =" 20 " >
83+ </picture >
6084
6185and only the permutationally unique integrals are provided in the file, with the restriction that, for each integral, the following relationships hold:
6286
63- <img src =" ./figures/index-restrictions.png " height =" 20 " >
87+ <picture >
88+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/index-restrictions.png " >
89+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/index-restrictions.png " >
90+ <img src =" ./figures/index-restrictions.png " height =" 20 " >
91+ </picture >
6492
6593where
6694
67- <img src =" ./figures/compound-index-restrictions.png " height =" 20 " >
95+ <picture >
96+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/compound-index-restrictions.png " >
97+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/compound-index-restrictions.png " >
98+ <img src =" ./figures/compound-index-restrictions.png " height =" 20 " >
99+ </picture >
68100
69101Note that the two-electron integrals may be stored efficiently in a one-dimensional array and the above relationship used to map between given
70102&mu ; , &nu ; , &lambda ; , and &sigma ; indices and a "compound index" defined as:
71103
72- <img src =" ./figures/compound-index-restrictions2.png " height =" 20 " >
104+ <picture >
105+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/compound-index-restrictions2.png " >
106+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/compound-index-restrictions2.png " >
107+ <img src =" ./figures/compound-index-restrictions2.png " height =" 20 " >
108+ </picture >
73109
74110 * [ Hint 1] ( ./hints/hint3-1.md ) : Compound indices
75111 * [ Hint 2] ( ./hints/hint3-2.md ) : Pre-Computed Lookup Arrays
@@ -80,13 +116,21 @@ Note that the two-electron integrals may be stored efficiently in a one-dimensio
80116
81117Diagonalize the overlap matrix:
82118
83- <img src =" ./figures/diag-mw-hessian.png " height =" 20 " >
119+ <picture >
120+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/diag-mw-hessian.png " >
121+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/diag-mw-hessian.png " >
122+ <img src =" ./figures/diag-mw-hessian.png " height =" 20 " >
123+ </picture >
84124
85125where L<sub >S</sub > is the matrix of eigenvectors (columns) and &Lambda ; <sub >S</sub > is the diagonal matrix of corresponding eigenvalues.
86126
87127Build the symmetric orthogonalization matrix using:
88128
89- <img src =" ./figures/symm-orthog-matrix.png " height =" 25 " >
129+ <picture >
130+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/symm-orthog-matrix.png " >
131+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/symm-orthog-matrix.png " >
132+ <img src =" ./figures/symm-orthog-matrix.png " height =" 25 " >
133+ </picture >
90134
91135where the tilde denotes the matrix transpose.
92136
@@ -97,21 +141,37 @@ where the tilde denotes the matrix transpose.
97141
98142Form an initial (guess) Fock matrix in the orthonormal AO basis using the core Hamiltonian as a guess:
99143
100- <img src =" ./figures/initial-fock.png " height =" 25 " >
144+ <picture >
145+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/initial-fock.png " >
146+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/initial-fock.png " >
147+ <img src =" ./figures/initial-fock.png " height =" 25 " >
148+ </picture >
101149
102150Diagonalize the Fock matrix:
103151
104- <img src =" ./figures/diag-fock.png " height =" 20 " >
152+ <picture >
153+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/diag-fock.png " >
154+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/diag-fock.png " >
155+ <img src =" ./figures/diag-fock.png " height =" 20 " >
156+ </picture >
105157
106158Note that the &epsilon ; <sub >0</sub > matrix contains the initial orbital energies.
107159
108160Transform the eigenvectors into the original (non-orthogonal) AO basis:
109161
110- <img src =" ./figures/transform-coeff.png " height =" 25 " >
162+ <picture >
163+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/transform-coeff.png " >
164+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/transform-coeff.png " >
165+ <img src =" ./figures/transform-coeff.png " height =" 25 " >
166+ </picture >
111167
112168Build the density matrix using the occupied MOs:
113169
114- <img src =" ./figures/density-matrix.png " height =" 55 " >
170+ <picture >
171+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/density-matrix.png " >
172+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/density-matrix.png " >
173+ <img src =" ./figures/density-matrix.png " height =" 55 " >
174+ </picture >
115175
116176where * m* indexes the columns of the coefficient matrices, and the summation includes only the occupied spatial MOs.
117177
@@ -123,11 +183,19 @@ where *m* indexes the columns of the coefficient matrices, and the summation inc
123183
124184The SCF electronic energy may be computed using the density matrix as:
125185
126- <img src =" ./figures/initial-scf-energy.png " height =" 60 " >
186+ <picture >
187+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/initial-scf-energy.png " >
188+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/initial-scf-energy.png " >
189+ <img src =" ./figures/initial-scf-energy.png " height =" 60 " >
190+ </picture >
127191
128192The total energy is the sum of the electronic energy and the nuclear repulsion energy:
129193
130- <img src =" ./figures/initial-total-energy.png " height =" 25 " >
194+ <picture >
195+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/initial-total-energy.png " >
196+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/initial-total-energy.png " >
197+ <img src =" ./figures/initial-total-energy.png " height =" 25 " >
198+ </picture >
131199
132200where * 0* denotes the initial SCF energy.
133201
@@ -137,7 +205,11 @@ where *0* denotes the initial SCF energy.
137205
138206Start the SCF iterative procedure by building a new Fock matrix using the previous iteration's density as:
139207
140- <img src =" ./figures/new-fock.png " height =" 60 " >
208+ <picture >
209+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/new-fock.png " >
210+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/new-fock.png " >
211+ <img src =" ./figures/new-fock.png " height =" 60 " >
212+ </picture >
141213
142214where the double-summation runs over all the AOs and * i-1* denotes the density for the last iteration.
143215
@@ -150,34 +222,58 @@ Form the new density matrix following the same procedure as in Step #5 above:
150222
151223Orthogonalize:
152224
153- <img src =" ./figures/orthog-fock.png " height =" 20 " >
225+ <picture >
226+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/orthog-fock.png " >
227+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/orthog-fock.png " >
228+ <img src =" ./figures/orthog-fock.png " height =" 20 " >
229+ </picture >
154230
155231Diagonalize:
156232
157- <img src =" ./figures/diag-new-fock.png " height =" 15 " >
233+ <picture >
234+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/diag-new-fock.png " >
235+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/diag-new-fock.png " >
236+ <img src =" ./figures/diag-new-fock.png " height =" 15 " >
237+ </picture >
158238
159239Back-transform:
160240
161- <img src =" ./figures/back-transform-coeff.png " height =" 20 " >
241+ <picture >
242+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/back-transform-coeff.png " >
243+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/back-transform-coeff.png " >
244+ <img src =" ./figures/back-transform-coeff.png " height =" 20 " >
245+ </picture >
162246
163247Compute the density:
164248
165- <img src =" ./figures/compute-density.png " height =" 55 " >
249+ <picture >
250+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/compute-density.png " >
251+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/compute-density.png " >
252+ <img src =" ./figures/compute-density.png " height =" 55 " >
253+ </picture >
166254
167255where * i* denotes the current iteration density.
168256
169257## Step #9 : Compute the New SCF Energy
170258
171259Compute the new SCF energy as before:
172260
173- <img src =" ./figures/compute-new-scf-energy.png " height =" 125 " >
261+ <picture >
262+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/compute-new-scf-energy.png " >
263+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/compute-new-scf-energy.png " >
264+ <img src =" ./figures/compute-new-scf-energy.png " height =" 125 " >
265+ </picture >
174266
175267where * i* denotes the SCF energy for the * i* th iteration.
176268
177269## Step #10 : Test for Convergence
178270Test both the energy and the density for convergence:
179271
180- <img src =" ./figures/convergence-test.png " height =" 125 " >
272+ <picture >
273+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/convergence-test.png " >
274+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/convergence-test.png " >
275+ <img src =" ./figures/convergence-test.png " height =" 125 " >
276+ </picture >
181277
182278If the difference in consecutive SCF energy and the root-mean-squared difference in consecutive densities do not fall below the prescribed thresholds, return to Step #7 and continue from there.
183279
@@ -187,22 +283,38 @@ If the difference in consecutive SCF energy and the root-mean-squared difference
187283### The MO-Basis Fock Matrix
188284At convergence, the canonical Hartree-Fock MOs are, by definition, eigenfunctions of the Fock operator, viz.
189285
190- <img src =" ./figures/canonical-mos.png " height =" 25 " >
286+ <picture >
287+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/canonical-mos.png " >
288+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/canonical-mos.png " >
289+ <img src =" ./figures/canonical-mos.png " height =" 25 " >
290+ </picture >
191291
192292If we multiply on the left by an arbitrary MO and integrate, we obtain:
193293
194- <img src =" ./figures/mo-fock-matrix-element.png " height =" 30 " >
294+ <picture >
295+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/mo-fock-matrix-element.png " >
296+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/mo-fock-matrix-element.png " >
297+ <img src =" ./figures/mo-fock-matrix-element.png " height =" 30 " >
298+ </picture >
195299
196300In other words, the Fock matrix should be diagonal in the MO basis, with the orbital energies as its diagonal elements. We can demonstrate this explicitly using the AO-basis Fock matrix by first re-writing the above expression using the LCAO-MO coefficients:
197301
198- <img src =" ./figures/mo-fock-matrix.png " height =" 50 " >
302+ <picture >
303+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/mo-fock-matrix.png " >
304+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/mo-fock-matrix.png " >
305+ <img src =" ./figures/mo-fock-matrix.png " height =" 50 " >
306+ </picture >
199307
200308Use the above equation to transform the Fock matrix from the AO basis to the MO basis and demonstrate that it is indeed diagonal (to within the convergence limits of the SCF iterative procedure).
201309
202310### One-Electron Properties
203311As discussed in detail in Ch. 3 of the text by Szabo and Ostlund, the calculation of one-electron properties requires density matrix and the relevant property integrals. The electronic contribution to the electric-dipole moment may be computed using,
204312
205- <img src =" ./figures/electric-dipole-moment.png " height =" 50 " >
313+ <picture >
314+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/electric-dipole-moment.png " >
315+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/electric-dipole-moment.png " >
316+ <img src =" ./figures/electric-dipole-moment.png " height =" 50 " >
317+ </picture >
206318
207319where the vector notation implies three sets of dipole-moment integrals -- one for each Cartesian component of the dipole operator.
208320
@@ -215,7 +327,11 @@ The test cases provided below include the structural information dipole integral
215327### Population Analysis/Atomic Charges
216328A Mulliken population analysis (also described in Szabo & Ostlund, Ch. 3) requires the overlap integrals and the electron density, in addition to information about the number of basis functions centered on each atom. The charge on atom * A* may be computed as:
217329
218- <img src =" ./figures/atomic-charge.png " height =" 50 " >
330+ <picture >
331+ <source media =" (prefers-color-scheme: dark) " srcset =" ./figures/dark/atomic-charge.png " >
332+ <source media =" (prefers-color-scheme: light) " srcset =" ./figures/atomic-charge.png " >
333+ <img src =" ./figures/atomic-charge.png " height =" 50 " >
334+ </picture >
219335
220336where the summation is limited to only those basis functions centered on atom * A* .
221337
0 commit comments