CH 603 : Programming Techniques in Chemistry

1) Basics of Programing: Preliminary: using vim, gnuplot, and basic shell commands. Introduction to Fortran 90 and Python. Use of integrated development environment(IDE), profilers and debuggers. Use of version control tools, SVN and git. Good programing practises. Hartree­Fock Molecular Orbital Theory Review of Hartree­Fock theory. Storage and manipulation of matrices and tensors using optimized math libraries. Programing of kinetic energy (T), electron­nuclear attraction (V) and overlap integrals (S) over atom centred basis functions. Calculation and storage of two­electron integrals. Implementation of different choices for guess matrix and construction of Fock­matrix. Programming iterative solver for Hartree­Fock­Roothan equations. 2) Basics of Molecular Dynamics: Introduction to potential energy surfaces. Writing a molecular dynamics program in Fortran for 1D harmonic oscillator. Introduction to verlet, velocity­verlet, and Runge­Kutta algorithms. Choosing time steps, energy fluctuations, and error analysis. Writing a program to simulate Lennard­Jones fluid ­ introduction to periodic boundary condition, potential cutoff, choosing initial conditions, calculation of temperature, and equilibration. Introduction to canonical ensemble and stochastic methods. 3) Advanced Quantum Chemistry: Convergence acceleration techniques for Hartree­Fock­Roothan equations. Use of permutational symmetry of integrals to reduce computational cost. Integral transformation techniques and programming MP2 energy expression. Implementation of Density fitting approximation for fast integral calculation. Programming Hartree­Fock equation in terms of density matrix. Computer implementation of Simple exchange­correlation functional and density functional theory. 4) Advanced Molecular Dynamics: Tricks of the trade ­ multiple time­steps, neighbour lists, and parallel programming using open­mp. Simulation of water ­ constraint dynamics (SHAKE), introduction to force­fields, and Ewald summations for charged particles. Non­equilibrium molecular dynamics.

Text References

1) Computer programming in Fortran 90 and 95 by V. Rajaraman, Prentice Hall India Learning PrivateLimited; 1st edition (1997)2) Automate the Boring Stuff with Python: Practical Programming for Total Beginners by Al Sweigart, No Starch Press; 1st edition (2)3) Computer Simulation of Liquids by Allen and Tildesley, Clarendon Press; Reprint edition (1989)4) Understanding Molecular Simulations by Frenkel and Smit, Academic Press; 2nd edition (2001)5) Modern Quantum Chemistry: Introduction to Advanced Electronic Structure Theory by Szabo and Ostlund, Dover Publications Inc.; New edition edition (1996)6) Molecular Electronic302255Structure Theory by Helgaker, Jorgensen, and Olsen, Wiley; 1 st edition (2013)7) Density302255Functional Theory of Atoms and Molecules by Robert J Parr, and Yang Weitao, Oxford University Press, 1st edition, (1994)8) Ab Initio Molecular Dynamics: Basic Theory and Advanced Methods, Dominik Marx, and Hutter J303274rg, Cambridge University Press, 1st edition, 2009