Teacher: Paolo Giannozzi, room L1-2-BE, Department of Mathematics, Computer Science and Physics, Via delle Scienze 206, Udine
tel. +39 0432 558216, fax +39 0432 558222
web: http://www.fisica.uniud.it/~giannozz, e-mail: paolo . giannozzi at uniud . it
Office hours: during the semester I'll be in the Physics building on Tuesday and Thursday from 9:30 to 11:00. Send me an e-mail or phone me to get an appointment (in Trieste or in Udine) at a different time.

Course Description

Goals: this course provides an introduction to numerical methods and techniques useful for the numerical solution of quantum mechanical problems, especially in atomic 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: Schroedinger equations in one dimension: techniques for numerical solutions. Solution of the Schroedinger equations for a potential with spherical symmetry. Scattering from a potential. Variational method: expansion on a basis of functions, secular problem, eigenvalues and eigenvectors. Examples: gaussian basis, plane-wave basis. Many-electron systems: Hartree and 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.

Lecture Notes (updated May 31, 2017): Introduction, Ch.1, Ch.2, Ch.3, Ch.4, Ch.5, Ch.6, Ch.7, Ch.8, Ch.9, Ch.10, Ch.11, Ch.12, Appendix, all
See also: J. M. Thijssen, Computational Physics, Cambridge University Press, Cambridge, 1999, Ch.2-4, 5, 6.1-6.4, 6.7.
A rather detailed introduction to Density-Functional techniques can be found in the first chapters of the lecture notes of my (now defunct) course on Numerical Methods in Electronic Structure.

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 a subject, different from the one of the personal project, chosen by the student). 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.


The course starts on March 6th. Classes are held on Deviation from the above schedule are marked in boldface in the detailed table of subjects below.




6 March
One-dimensional Schroedinger equation:
general features of the discrete spectrum, relationship between energy, parity, number of intersections of a solution. Harmonic oscillator: analytical solution. Discretization, Numerov algorithm, numerical stability, eigenvalue search using stable outwards and inwards integrations. (Notes: Ch.1)
7 March
practical session
Numerical solution of the one-dimensional Schroedinger equation:
examples for the harmonic oscillator (code harmonic0: fortran, C; code harmonic1: fortran, C).
13 March
Spherically symmetric potentials:
radial and angular equations; logarithmic grids, change of variables, radial integration, perturbative estimate to accelerate eigenvalue convergence. (Notes: Ch.2)
14 March
practical session
Numerical solution for spherically symmetric potentials:
example for Hydrogen atom (code hydrogen_radial: fortran, C)
20 March
Scattering from a potential:
cross section, phase shifts, resonances. (Notes: Ch.3; Thijssen: Ch.2)
21 March
pratical session
Calculation of cross sections:
numerical solution for Lennard-Jones potential (code crossection: fortran, C).
27 March
Variational method:
Schroedinger equation as minimum problem, expansion on a basis of functions, secular problem, introduction to diagonalization algorithms. (Notes: Ch.4; Thijssen: Ch.3)
28 March
pratical session
Variational method using an orthonormal basis set:
example of a potential well in plane waves (code pwell: fortran, C).
4 April room T21
Non-orthonormal basis sets:
gaussian functions. (Notes: Ch.5)
9 April aula Poropat ore 16
practical session
Variational method with gaussian basis set:
solution for Hydrogen atom (code hydrogen_gauss: fortran, C).
10 April
Identical particles:
Pauli principle, solution of many-body problems, Hartree method, self-consistent field. (Notes: Ch.6)
11 April
practical session
He atom with Hartree approximation:
solution with radial integration and self-consistency (code helium_hf_radial: fortran, C).
17 April
Hartree-Fock method:
Slater determinants, Hartree-Fock equations (Notes: Ch.7; Thijssen: Ch.4.1-4.5)
18 April
practical session
Helium atom with Hartree-Fock approximation:
solution with gaussian basis and diagonalization (code helium_hf_gauss: fortran, C).
24 April
Born-Oppenheimer approximation, potential energy surface, diatomic molecules. introduction to numerical solution for molecules. (Notes: Ch.8; Thijssen: Ch.4.6-4.8)
2 May
practical session
Molecules with gaussian basis:
solution of Hartree-Fock equations on a gaussian basis for a H2 molecule (code h2_hf_gauss: fortran, C).
8 May
Electronic states in crystals:
Bloch theorem, band structure. (Notes: Ch.9; Thijssen: Ch.4.6-4.8)
9 May
practical session
Periodic potentials:
numerical solution with plane waves of the Kronig-Penney model (code periodicwell: fortran, C).
15 May
Electronic states in crystals II:
three-dimensional case, methods of solution, plane wave basis set, introduction to the concept of pseudopotential. (Notes: Ch.10; Thijssen: Ch.6.1-6.4, 6.7)
16 May
pratical session
solution of the Cohen-Bergstresser model for Silicon (code cohenbergstresser: fortran, C).
22 May
Spin systems
Introduction to spin systems: Heisenberg model, exact diagonalization, iterative methods for diagonalization, sparseness. (Notes: Ch.11)
23 May
practical session
Exact Diagonalization
Solution of the Heisenberg model with Lanczos chains (code heisenberg_exact: fortran, C).
29 May

Density-Functional Theory
Introduction to the theory and to the plane-wave pseudopotential method (Notes: Ch.12)
30 May

Density-Functional Theory II
Fast Fourier-Trasform and iterative techniques (dumb and less dumb code, only Fortran, solving Si with Appelbaum-Hamann pseudopotentials).
Assignment of exam problems.
Last modified April 17, 2018