Skip to main content

Metodi Numerici per la Struttura Elettronica - LM Interateneo in Fisica

Anno Accademico 2023-2024

Teacher: Paolo Giannozzi, Department of Mathematics, Computer Science and Physics, Via delle Scienze 206, Udine
Office hours: Please email ( or phone me (0432 558216) to get an appointment somewhere (I work in Udine but live in Trieste).

Course description

Goals: this course provides an introduction to numerical methods and techniques useful for the numerical solution of quantum mechanical problems, especially in electronic structure and condensed-matter physics. The course is organized as a series of theoretical lessons in which the physical problems and the numerical concepts needed for their resolution are presented, followed by practical sessions in which examples of implementatation for specific simple problems are presented. The student will learn to use the concepts and to practise scientific programming by modifying and extending the examples presented during the course.

Syllabus:  Variational method: expansion on a basis of functions, secular problem, eigenvalues and eigenvectors. Examples: gaussian basis, plane-wave basis. Many-electron systems: Hartree-Fock equations, self-consistent field, exchange interaction. Numerical solution of Hartree-Fock equations in atoms with radial integration and on a gaussian basis set. Introduction to numerical solution of electronic states in molecules. Electronic states in solids: solution of the Schroedinger equation for periodic potentials. Introduction to exact diagonalization of spin systems. Introduction to Density-Functional Theory and to the plane-wave pseudopotential method: calculations of structural and electronic properties of simple and less simple crystals, first-principle molecular dynamics.

Lecture Notes and the sample codes will be made available on Teams during the course. See also: J. M. Thijssen, Computational Physics, Cambridge University Press, Cambridge, 1999, Ch.2-4, 5, 6.1-6.4, 6.7.

Requirements: basic knowledge of Quantum Mechanics, of Fortran or C programming, of an operating system (preferrably Linux).

Exam: personal project consisting in the numerical solution of a problem, followed by oral examination (typically consisting in the discussion of one or more arguments, different from the one of the personal project). Contact me a few weeks before the exam to receive the personal project (if not yet assigned) and to set a date. A short written report on the personal project and the related code(s) should be provided no later than the day before the exam.


  • Monday 16-18, Lab. T20
  • Wednesday 11-13, Lab. T21

 Expected lesson dates: March 4, 6, 11, 13, 18, 20, 25, 27; April 8, 10, 15, 17, 22, 24; May 6, 8, 13, 15, 20, 22, 27, 29 ; June 3, 5

Calendario delle lezioni


  1. Variational method. Schroedinger equation as minimum problem, expansion on a basis of functions, secular problem, diagonalization. (Notes: Ch.1; Thijssen: Ch.3)
  2. Pratical session: gaussian basis set: solution for Hydrogen atom (code "hydrogen_gauss")
  3. The Hartree-Fock method. Slater determinants, Hartree-Fock equations, self-consistent field. (Notes: Ch.2; Thijssen: Ch.4.1-4.5)
  4. Practical session: He atom in Hartree-Fock approximation: solution with radial integration and self-consistency (code "helium_hf_radial")
  5. Molecules. Born-Oppenheimer approximation, potential energy surface, diatomic molecules. introduction to numerical solution for molecules. (Notes: Ch.3; Thijssen: Ch.4.6-4.8)
  6. Practical session: Molecules with gaussian basis: solution of Hartree-Fock equations on a gaussian basis for a H2 molecule (code "h2_hf_gauss")
  7. Electronic states in crystals. Bloch theorem, band structure. (Notes: Ch.4; Thijssen: Ch.4.6-4.8)
  8. Practical session: Periodic potentials: numerical solution with plane waves of the Kronig-Penney model (code "periodicwell")
  9. Electronic states in crystals II. Three-dimensional case, methods of solution, plane wave basis set, introduction to the concept of pseudopotential. (Notes: Ch.5; Thijssen: Ch.6.1-6.4, 6.7)
  10. Practical session: Pseudopotentials: solution of the Cohen-Bergstresser model for Silicon (code "cohenbergstresser")
  11. Spin hamiltonians. Heisenberg model, exact diagonalization, iterative methods for diagonalization, sparseness. (Notes: Ch.6)
  12. Practical session: Exact Diagonalization: solution of the Heisenberg model with Lanczos chains (code "heisenberg_exact")
  13. Density-Functional Theory. Hohenberg-Kohn theorem, Kohn-Sham equations (Notes: Ch.7)
  14. Practical session: Plane waves and pseudopotentials: Fast Fourier-Transform and iterative techniques; code "ah").
  15. Total energy, plane-wave pseudopotential method (Notes: Ch.8)
  16. Practical session: Equilibrium structure of simple crystals (Quantum ESPRESSO code)
  17. Metals, magnetic systems, cells and supercells (Notes: Ch.9)
  18. Practical session: Simple metals and magnetic systems (Quantum ESPRESSO code)
  19. Forces, stresses, structural optimization (Notes: Ch.10)
  20. Practical session: Structural optimization of crystals and surfaces (Quantum ESPRESSO code)
  21. First-principle molecular dynamics (Notes: Ch.11)
  22. Practical session: Car-Parrinello molecular dynamics for water (Quantum ESPRESSO code)
  23. Density-Functional Perturbation Theory. Phonons (Notes: Ch.12)
  24. Practical session: phonon spectra calculation (Quantum ESPRESSO code)

Last modified 27 January 2023