Closed-Shell Hartree-Fock: an Efficient Implementation Based On
Total Page:16
File Type:pdf, Size:1020Kb
Closed-Shell Hartree-Fock: an Efficient Implementation Based on the Contraction of Integrals in the Primitive Basis Inaugural-Dissertation zur Erlangung des Doktorgrades der Mathematisch-Naturwissenschaftlichen Fakultät der Universität zu Köln vorgelegt von Joseph Held aus München Köln 2017 Berichterstatter: Prof. Dr. M. Dolg Berichterstatter: PD Dr. M. Hanrath Tag der letzten mündlichen Prüfung: 05. Juli 2017 Meinen Eltern Abstract In this work a highly efficient, closed-shell restricted Hartree-Fock self-consistent-field (SCF) program has been developed. It has been written as a part of the “Quantum Objects Library” (QOL), which is developed at the Institute for Theoretical Chemistry at the University of Cologne. In the implementation presented here, the explicit transformation of the two-electron integrals from the primitive to the radial contracted, angularly transformed basis is avoided. The density matrix is obtained by diagonalizing the Fock matrix in the radial- angular-transformed basis. It is transformed to the primitive basis, and contracted with the integrals to give the Fock matrix, also in the primitive basis. To assure that solutions of the Fock equations are obtained in the transformed basis, the Fock matrix is transformed back to the radial contracted, angularly transformed basis after the density contraction step. Both one- and two-electron integrals are calculated using the ansatz of Obara-Saika (OS). For the evaluation of the two-electron integrals a code-generating ansatz is used. At compile time optimized code is generated, to be called at runtime. Numerical insta- bilities inherent in the Obara-Saika scheme were analyzed and eliminated. The code- generating ansatz was also used for the implementation of the density contraction. Con- traction codes for both primitive and radial-angular-transformed bases were developed. Both two-electron integral evaluation and density contraction implementations have been optimized by explicit use of streaming single instruction multiple data (SIMD) extensions (SSE). Integral prescreening has been implemented on basis of the Schwarz inequality, and the differential density scheme is used. Convergence acceleration has been realized by im- plementing the direct inversion of the iterative subspace (DIIS) method. The developed SCF program has been parallelized using the open multi-processing (OMP) application programming interface (API). In final performance comparisons to commercially available programs competitive re- sults were obtained. i Kurzzusammenfassung In dieser Arbeit wurde ein hocheffizientes, closed-shell restricted Hartree-Fock self-consis- tent-field (SCF) Programm entwickelt. Es wurde in die "‘Quantum Objects Library"’ (QOL) integriert, die am Institut für Theoretische Chemie der Universität zu Köln ent- wickelt wird. In der hier vorgestellten Implementierung wird die explizite Transformation der Zwei- Elektronen Integrale aus der primitiven in die radial kontrahierte, sphärisch trans- formierte Basis umgangen. Durch Diagonalisierung der Fock Matrix in der radial- sphärisch transformierten Basis wird die Dichte Matrix erhalten. Diese wird in die primitive Basis transformiert und mit den Integralen kontrahiert, wodurch die Fock Matrix ebenfalls in ihrer primitiven Darstellung vorliegt. Um sicherzustellen dass die Lösungen der Fock Gleichungen in der transformierten Basis erhalten werden, wird die Fock Matrix nach der Dichte Kontraktion zurück in die radial-sphärische Basis trans- formiert. Sowohl Ein- als auch Zwei-Elektronen Integrale werden mit dem Verfahren von Obara- Saika (OS) berechnet, wobei für die Zwei-Elektronen Integrale ein Code generierender Ansatz gewählt wurde. Dabei wird zum Zeitpunkt der Kompilierung optimierter Code generiert, der zur Laufzeit ausgeführt wird. Die numerischen Instabilitäten des Obara- Saika Verfahrens wurden analysiert und beseitigt. Auch auf die Implementierung der Kontraktion der Dichte wurde der Code generierende Ansatz angewandt, wobei Spe- zialisierungen sowohl für primitive als auch für sphärisch transformierte Basen erzeugt wurden. beide Implementierungen, Integral Berechnung und Dichte Kontraktion, wur- den optimiert durch die explizite Berücksichtigung der streaming single instruction mul- tiple data (SIMD) extensions (SSE). Eine Abschätzung der Integral Größenordnungen wurde auf Basis der Schwarz’schen Ungleichung umgesetzt, und das differential density scheme wird benutzt. Zur Kon- vergenz Beschleunigung kommt das direct inversion of the iterative subspace (DIIS) Verfahren zum Einsatz. Das entwickelte SCF Programm wurde mittels der open multi- processing (OMP) Programmierschnittstelle (API) parallelisiert. In finalen Vergleichen zu kommerziell erhältlichen Programmen wurden konkurrenz- fähige Resultate im Hinblick auf die Performanz erreicht. ii Contents 1. Introduction1 I. Theory5 2. Hartree-Fock Theory7 2.1. Electronic Solutions for Restricted Closed-Shell Systems.........7 2.2. The Roothaan-Hall Equations........................ 10 3. Integral Evaluation 13 3.1. Primitive Cartesian Gaussians........................ 13 3.1.1. Shells and Shell Batches....................... 15 3.2. The Obara-Saika Scheme........................... 16 3.2.1. Overlap- and Kinetic-Energy Integrals............... 16 3.2.2. Coulomb Integrals.......................... 18 4. Symmetry In Two-Electron Integrals And Batches 23 4.1. Two-Electron Integral Symmetry...................... 23 4.2. Symmetry in Batches of Two-Electron Integrals.............. 24 5. Density Contraction 27 5.1. Integral Contributions............................ 27 5.1.1. Symmetric Integrals......................... 27 5.1.2. Integrals with Broken Symmetries.................. 28 5.2. Shell Batch Contributions.......................... 29 5.2.1. Symmetric Batches.......................... 29 5.2.2. Batches with Broken Symmetries.................. 29 6. Basis Transformations 31 6.1. Atomic Basis Functions............................ 31 6.1.1. The Angular Basis.......................... 31 6.1.2. The Radial Basis........................... 33 6.1.3. Atomic Basis Functions in Terms of Primitive Cartesian Gaussians 33 6.2. Explicit Expressions for Basis Transformations............... 34 6.2.1. Two-Electron Integrals........................ 34 6.2.2. The Density Matrix.......................... 36 6.2.3. The Two-Electron Part of the Fock Matrix............. 37 iii Contents 7. Prescreening 39 7.1. The Schwarz Inequality............................ 39 7.1.1. Batches of Integrals.......................... 39 7.2. Density Screening............................... 41 7.2.1. Batches of Integrals.......................... 41 7.3. The Differential Density Scheme....................... 42 II. Implementation 43 8. Technical Details 45 8.1. Programs Used................................ 45 8.2. Basis Sets and Geometries.......................... 45 8.2.1. Basis Sets............................... 45 8.2.2. Input Geometries........................... 46 8.3. Computational Details............................ 47 8.3.1. Computational Facilities....................... 47 8.3.2. Calculational Details......................... 47 9. Numerics 49 9.1. Numerical Errors............................... 49 9.1.1. Absolute and Relative Errors.................... 50 9.1.2. Numerical Analysis.......................... 50 10.Basis Sets and Iteration 55 10.1. Molecules and Basis Sets........................... 55 10.1.1. Input Format............................. 55 10.1.2. Technical Representation....................... 56 10.2. Iterators.................................... 56 10.2.1. Basis Iterators............................. 57 10.2.2. Two- and Four-Index Iterators.................... 58 10.2.3. Arbitrary Level and Notation Iteration............... 60 11.Prescreening 63 11.1. General Implementation........................... 63 11.1.1. The MapperWithMatrix Ansatz..................... 64 11.1.2. Initialization.............................. 65 11.1.3. Calculation of the Estimate..................... 67 11.1.4. Accuracy................................ 68 11.1.5. Quality of the Estimate....................... 68 11.2. Exploiting Basis Set Hierarchies....................... 71 11.2.1. Results................................. 74 11.3. Iteration in Chemists Notation. Further Levels of Hierarchy....... 76 11.4. The Differential Density Scheme....................... 78 iv Contents 12.The Obara-Saika Integration Scheme 81 12.1. General Considerations............................ 82 12.1.1. Batchwise Evaluation......................... 82 12.1.2. Batchwise Recursion......................... 83 12.1.3. Transfer Order............................ 85 12.2. Existing Implementations.......................... 86 12.2.1. Generic Implementation....................... 86 12.2.2. The Code-Generation Approach................... 87 12.3. Numerical Instabilities............................ 90 12.3.1. Solutions................................ 93 12.3.2. Results................................. 94 12.4. Code Reduction by Using a Different Code-Generating Ansatz...... 98 12.4.1. Removing Redundancies, the Splitted Integration Ansatz..... 99 12.4.2. Shell Ordering and Index Relations................. 101 12.4.3. Generation of the Individual Batch Codes............. 103 12.4.4. Comparison of the Electron Transfers E1 and E2 .......... 109 12.5. One-Electron Integrals............................ 110 13.Density Contraction 113 13.1. Existing Implementation........................... 113 13.2. Code-Generated Implementation......................