User Tools

Site Tools



Electronic Structure Methods

Lecture notes for 2020

These are on QM+ at the SPA7008 course listing (search for 'SPA7008'). The homework sets are also located there

Here are copies of the lecture notes:

Hand-written notes that accompany the above and the screen-casts on my Youtube channel:

Additional notes from colleagues and friends:

  • Dr Janos Angyan has some very good, but perhaps somewhat technical notes on electronic structure methods. These were delivered at Université de Nancy.
  • Dr Patrick Rinke used to be at the Max Planck institute in Berlin. These notes on electronic structure techniques were delivered there. They are less technical and more accessible than the notes from Janos. They cover many of the topics we cover in ESM so I recommend using them.
  • Janos also taught Intermolecular Interactions at Nancy and I recommend these lecture (Janos-part-1, Janos-part-2) notes if you'd like to learn more about this topic.

Past examination papers:

And here are papers we will use:

  • AMH paper: G. Griffiths, A. J. Misquitta, R. J. Needs, C. J. Pickard and A. D. Fortes Theoretical study of ammonia monohydrate at pressures up to 12 GPa J. Chem. Phys. 137, 064506 (2012).
  • Asymptotic correction: M. Casida and D. Salahub, Asymptotic correction approach to improving approximate exchange–correlation potentials: Time-dependent density-functional theory calculations of molecular excitation spectra, J. Chem. Phys. 113, 8918 (2000).
  • LB94 functional: R. van Leeuwen and E. J. Baerends, Exchange-correlation potential with correct asymptotic behaviour, Phys. Rev. A, 49, 2421 (1994).

And here is a very useful book:

Overleaf for writing your Thesis

Use this link to register for your Overleaf account to write collaborative Latex documents on the web. Overleaf removes a lot of the trouble you may encounter when trying to install Latex on your own.


The homework set is on QM+ (valid for 2018-19). Make sure that this is the QM+ page for the current year!

Practicals for ESM

Practicals for CCMP


Linux, VIM & Python

Most electronic structure and modelling codes are run from the Linux command line. There is nothing very complicated about this; instead of using the mouse to access programs and commands, we will type out commands in what is known as the shell. Some of you will already be fairly familiar with the Linux environment, the command line, using non graphical editors and perhaps even programming. If so, the links provided here will lead you to pages/documents that could be a useful refresher. If this is all new to you, then you will learn enough about Linux, the VIM editor and programming in Python to get you going.


The best way to come to grips with an operating system like Linux is to get your hands dirty and interact with it. You should make sure you have access to the Linux shell either through a native Linux workstation, or by logging onto one, or, if you prefer Windows, by using a shell like Cygwin. If you are unsure how to get this going, ask one of our Administrators.



The World is divided into those who use Emacs and those who use VIM. The others don't count. I will not force either of these on you, but if you use the Linux command line, you will need to learn to use one of these and I recommend VIM.

  • The OpenVIM project has a cool interactive tutorial. Begin here.
  • Vim comes with a built-in tutorial that can be accessed as follows:
    • At the command line (represented by a $) type: $ vimtutor
    • This takes you directly into the tutor. You navigate the cursor using either the arrow keys or the letters h, k,j,l.
    • Vim has two modes: an EDIT mode and a COMMAND mode. The lesson explains it all, but bear in mind that the behaviour of the editor changes dramatically depending on which mode you are in.
    • Go through all lessons (it will take you a hour or so). I learnt how to use Vim through this tutor.

Old stuff: 2013-14

Lecture notes and homework for 2013

The lecture notes for the Electronic Structure Methods course are here.

  • Lecture 1: Overview, Properties of the exact wavefunction, exact results, variational methods, Huckel theory. We have not covered all topics in these notes!


  • Attempt the questions posed in the lecture notes.
  • Mathematical Review, Ch 1 of Modern Quantum Chemistry by Szabo & Ostlund. This chapter covers a number of results we need to have at our funger-tips for the rest of this course. Please go through this chapter and solve as many problems as you can. We will cover this in Lecture 2.

  • Lecture 2: Recap of some of the results we proved last time. The Hellmann-Feynmann theorem. Problems (not all in the lecture notes). We have not covered all the material in this lecture.


  • Please go over the proof of the Hellmann-Feynmann theorem and try the proof of the extension of this theorem to variational wavefunctions.
  • Please complete all Szabo & Ostlund problems I set the last time. This is important!

  • Lecture 3: We started off by having anothre look at the Hellmann-Feynmann theorem: how it can be used to calculate molecular propreties using the method of finite-differences, and how it can be generalised for varitional wavefunctions. Next we proved the molecular virial theorem. Then we developed 1-electron and N-electron wavefunctions. We focused on the H2 system in a minimal basis set and demonstrated how to calculate matrix elements of the 2-electron wavefunction. We finished by writing out the energy expression for a single determinant.


  • Virial Theorem: Prove that $\psi_{\alpha}$ is normalized.
  • Virial Theorem: We proved the identity for $\langle \psi_{\alpha} | T | \psi_{\alpha} \rangle$. Use the techniques used here to prove the analogous identity for $\langle \psi_{\alpha} | V(R) | \psi_{\alpha} \rangle$.
  • Szabo & Ostlund: Exercises 2.3, 2.4, 2.5.
  • S & O: Please read 2.2.3 carefully, in particular the last bit on page 52 & 53 about the exchange hole.
  • S & O: In preparation for next week's lecture, please read 2.2.5 on minimal basis H2, 2.2.6 on Excited Determinants, and 2.3.1 on Matrix Elements.

Remember that while the homework isn't marked, I will expect you to present your solutions in class!

  • Lecture 4: Updated on 12 Feb 5pm. You may need to clear your browser's cache to see the new version.Here we will complete the H$_2$ problem using RHF, CI and (as homework) UHF wavefunctions. Also, in the lab we will replicate these calculations using NWChem.

The lecture notes contain a *lot* of questions and one very long problem at the end. These must be completed before next week and turned in to me at the next lecture. This is very important as these questions, particular the last on on UHF theory, cover pretty much everything we have done so far. If you can do them satisfactorially, you will have really understood the lecture material.

Also, please attempt the laboratory homework. This exercise very nicely complements what we covered in the lecture. It will also give you good experience using NWChem. I've modified the setup instructions based on what we learnt today.

I've been told that the network probems we experienced today are because we have a pathetic network here (don't ask why). You may find that your connection from another machine will be better. If the problems persist please let me know and please describe the problem in detail.

  • Lectures 5 & 6: Hartree-Fock and Basis sets. Detailed derivation of the Fock equations, Koopman's and Brillouin's theorems, and basis sets.

There are questions included in the lecture notes. Please solve these and turn in the solutions next week. Please READ the lecture notes as well as sections 3.1, 3.2 and 3.3 in Szabo & Ostlund. If you want to learn more about basis sets, S&O discuss this topic in section 3.5.

You should also complete the laboratory homework - in particular the effect of method (SCF and MP2) and basis set on the equilibrium geometry of H$_2$O. I'd like you to include your findings in the submitted homework.

If you are still struggling with vim and the Linux Bash shell please go back and review the material. You should be fairly confident with using the Linux shell when we start on the practicals for the report next week.

Homework: As usual there are problems included in the lecture notes. Please do these and submit them to me. I want to see clearer answers with a sensible discussion of the results or problems encountered. This is more for your benefit, but also for mine!

Please work through the treatment of time-independent perturbation theory in Szabo & Ostund Sec. 6.1. This is very important, particularly if you are not too comfortable with the theory.

Reading assignments from Szabo & Ostlund:

  • CI: (NOT OPTIONAL!!!) Ch. 4: Secs. 4.1, 4.1.1. Sec 4.6 deals with size-consistency.
  • CC: (optional) Sec. 5.2.1
  • MP2: (NOT OPTIONAL) Ch 6: secs 6.1 and 6.5

Problem: CI size-consistency: It is possible to analytically see how CID is not a size-consistent theory by solving for the correlation energy of the H2…H2 system at infinite separation. This is done on pages 262 to 266 of Szabo & Ostlund. Please solve this problem in detail (following S&O) and submit it to me. Make sure you understand all steps and if you do not, make it clear in your solution.

  • Lecture 8: Density functional theory (DFT). We have covered the two Hohenberg-Kohn theorems and Thomas-Fermi-Dirac theory. This file has been updated Please download the new version!
  • Lecture 9: In this last lecture we investigate two of the biggest failings of DFT and see how these problems can be (partially) fixed.

Please read this tutorial on functional derivatives by Svetitsky. We will need work through the basics of functional differentiation in the class, but this will help you recap what you have already covered in Mathematical Method.

Grad Modelling Course

These are old lecture notes. Please don't use these.


You should complete the following exercises:

  1. James' Linux tutorial and associated exercises
  2. VIM tutorial (unless you use Emacs)

Think you've got the hang of things, then try this…

Get into your Linux shell. You should have a window with a prompt like $. Commands will be typed at the prompt. After every command you hit <enter>. We will take that for granted.

Go to your home directory by typing cd without any arguments. Don't forget the <enter>:

$ cd

Now make a directory in which we will work on the exercises for this course. Let's call it Electronic_Structure. If that is too long a name, choose something shorter, like, say, AbInitio. We do this using the mkdir command:

$ mkdir AbInitio

To see what's in your directory use the ls command:

$ ls

In addition to the director AbInitio , other files/directories will be displayed.

Now go into this directory:

$ cd AbInitio

and create a file called h-sto3g.nw that contains the following

Memory 500 mb

charge 0
Geometry units bohr
  H     0.0  0.0  0.0

Basis "ao basis" spherical
  H  library  STO-3G

Title "H STO-3G "


task scf energy

If you have done this correctly then the ls command should result in:

$ ls

and if you use cat or less you should see:

$ less 
Memory 500 mb

charge 0
Geometry units bohr
  H     0.0  0.0  0.0 
...etc etc etc...

Now do the following:

  1. Copy this file to a file called h-aTZ.nw
  2. Edit this file to change all references to STO-3G (this is the name of a basis set) to aug-cc-pVTZ (the name of a bigger and better basis set).
  3. Save the result.
  4. Does it look like this?

We will use this example in a later lab session. It is the NWChem command file for an Hartree-Fock calculation on the hydrogen atom.

Previous Year's work

6th March 2015: Work due on 11th March

Solve questions included in lecture notes on HF theory. You will find these on pages 12, 24, 32, 34, 41, 44, 51, 80. These page numbers refer to the updated lecture notes. Complete the calculations for the Ar2 system. You will need to calculate and plot (nicely!) the interaction energy for this system using HF and MP2 with the cc-pVxZ and aug-cc-pVxZ (x = D,T,Q) basis sets. Do this with the CP correction. How would you calculate the corresponding energies without the CP? Can you see how this can be done without any additional calculations, using the above results and some energies you had calculated last week? Work out how this is possible and calculate and plot the no-CP interaction energies. 18th Feb 2015 : Homework due on 25th Feb

Finish the UHF problem! From lecture notes on Exact Results: Show that the Hellmann-Feynman theorem is valid for linear variational wavefunctions. From lecture notes on HF theory: Solve questions on page 12.

12th Feb 2015 : Homework due on 18th of Feb

Derive for yourself the one electron and two electron densities shown on page 31 of the lecture notes. You may do this for the g2 state only. Questions in lecture notes on pages 35, 36, 37, 43 (optional), 48. CI: Fill in the gaps in the derivation of the CI solution for H2. Present the full derivation and show in detail how CI wavefunction for H2 dissociates to two H atoms. UHF: at the very end of the lecture notes is an outline of the UHF problem for H2. The full derivation is in Szabo & Ostlund in sec. 3.8.7. This problem is long and may be submitted the week after. Parts 1, 2 and 3 are due next week. Part 4 may be submitted the week after. I'd rather you solved this properly rather than in a hurry.

Reading assignment for this week and the next: Chapter 5 in Molecular Electronic Structure Theory. We have derived most, but not all of this chapter. Read secs. 5.2 (you may skip 5.2.6 and 5.2.7), 5.3. In sec. 5.4 the discuss Hartree-Fock - see what you can make of it. Pay particular attention to sec. 5.6 where CI is discussed. Here they discuss truncated CI methods. It's not something we have covered in the lectures, but you will find it useful as it involves the idea of size extensivity.

5th Feb 2015: Homework due on Wed 11th Feb

Watch the lecture I sent you last time! Complete the RHF H2 dissociation problem using NWChem. Make a plot of your results and submit your plot and data table to me. Calculate the energy of H- (as described on the Wiki) and verify that using RHF, E(H2) → E(H) + 1/2 E(H-) Solve problems 2.8 and 2.9 from Szabo & Ostlund. One more problem to come up soon.

30 Jan 2015 : Homework due on 4th Feb

Read sec. 2.1 and sec. 2.2 from Szabo & Ostlund Solve exercises 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, and 2.7 from S&O. Run NWChem and obtain outputs for all examples in Practical 1 (on the Wiki) Watch the lecture on HF theory. Pay particular attention to first half of the lecture. HF Theory

26 Jan 2015 : Homework due on the 28th of Jan

Complete last week's homework!!! In addition, solve exercises 1.21 and 1.22 from Szabo & Ostlund. Make sure you can login to your accounts on Poset & Comanche. Also, you should get familiar with the basics of Linux and editing using VIM.

14 Jan 2015 : Homework due on the 21st of Jan.

Solve question and problems included in the lecture notes up to and including the section on the electron-nuclear cusp Lecture: Youtube lecture

Watch this lecture on the Born-Oppenheimer approximation, antisymmetry, and the variational principle. Here you will be introduced to Slater determinants. We will be looking into this next week. Answer the following questions based on this lecture and today's lecture: Why use the Born-Oppenheimer approximation? When do we expect it to fail? Discuss: Would an N-particle fermionic system have a higher or lower energy than an N-particle bosonic system? Why use Slater determinants as model wavefunctions for electronic systems? Szabo & Ostlund: Chapter 1: reading assignment. Read the entire chapter and solve the following problems: 1.3, 1.4, 1.6, 1.8, 1.12, 1.14, 1.17 Pay particular attention to your notation. We will use the Dirac notation a lot, and if you are not already familiar it with, use the exercises to understand it.

ajm/teaching/electronic-structure.txt · Last modified: 2020/10/23 15:01 by Alston Misquitta