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. HartreeFock Molecular Orbital Theory Review of HartreeFock theory. Storage and manipulation of matrices and tensors using optimized math libraries. Programing of kinetic energy (T), electronnuclear attraction (V) and overlap integrals (S) over atom centred basis functions. Calculation and storage of twoelectron integrals. Implementation of different choices for guess matrix and construction of Fockmatrix. Programming iterative solver for HartreeFockRoothan 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, velocityverlet, and RungeKutta algorithms. Choosing time steps, energy fluctuations, and error analysis. Writing a program to simulate LennardJones 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 HartreeFockRoothan 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 HartreeFock equation in terms of density matrix. Computer implementation of Simple exchangecorrelation functional and density functional theory. 4) Advanced Molecular Dynamics: Tricks of the trade multiple timesteps, neighbour lists, and parallel programming using openmp. Simulation of water constraint dynamics (SHAKE), introduction to forcefields, and Ewald summations for charged particles. Nonequilibrium 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