List of the lecture courses currently offered by the MPhil in Scientific Computing. Please note: courses denoted by (E) are assessed by written examination papers. The code at the end of the lecture name represents the term and the number of lectures, i.e. [M10] = Michaelmas term, 10 lectures.

The courses are grouped into core HPC, atomistic stream, continuum stream and additional.

#### High Performance Computing

### Introduction to Linux [M5]

Lecturer: Dr Philip Blakely
GNU/Linux is the operating system of choice in most scientific research environments. In this course we cover the following topics:
Basics of Linux command-line usage, file-handling, and shell-scripting.
Compilation,...

### Scientific Programming in C++ [M12]

Lecturer : Dr Philip Blakely
This course will introduce students to C++ as a language widely used in scientific computing. The course will cover most aspects of C++ to an intermediate level, with the aim being to teach students sufficient C++ to...

### Software Design and Development [M6]

Lecturer: Prof. Hrvoje Jasak
This course is teaching you how to be an efficient programmer and avalued member of a team: organisation, programming and "software management skills". I will be teaching within the UNIX OS environment, with an "old-fashioned"...

### Message Passing Interface [L12]

Lecturer : Dr Maria Nikodemou
This course introduces parallel programming using distributed memory message-passing and the MPI (Message Passing Interface) standard. It covers the properties of the computing model, and the basic facilities of...

### Programming with GPUs [L12]

Lecturer : Dr Philip Blakely
This course will introduce students to the principles of writing scientific software for the latest graphics cards, taking advantage of the highly-parallel nature of the hardware to attain significant speed-ups as compared...

### OpenMP [L12]

Lecturer : Dr Mark Bull
This course is an introduction to using OpenMP for writing parallel programs to run on multi-CPU (SMP) systems, for the purposes of "high-performance computing" (i.e. running programs faster than they can on a single...

### Data Visualisation Techniques [M4]

Lecturer : Dr Stephen Millmore
This course covers the techniques required to produce meaningful, informative scientific plots. Such techniques can improve the readability, and thus audience engagement, with papers and theses. The first...

#### Atomistic Stream

### Electronic structure and Density Functional Theory [M10] (E)

Lecturer: Prof. Emilio Artacho
This course covers the fundamentals and main approximations of DFT ( Density Functional Theory Calculations)-based electronic structure. Practicals will be based on SIESTA, ONETEP, and CASTEP.
Students should...

### Atomistic Modelling of Materials [M12] (E)

Lecturer: Dr Chuck Witt
This course gives an introduction to the atomistic simulation of materials using classical molecular dynamics and Monte Carlo techniques, and consists of a series of lectures with associated examples classes and computing...

### Tight binding theory: Introduction to Topological Materials [M12] (E)

Lecturer: Dr Bartomeu Monserrat
This course introduces tight binding theory, a quantum mechanical model that describes the electronic band structure of crystalline solids by considering the interactions between localised orbitals. We will use ...

#### Continuum Stream

### Numerical Methods for Incompressible Fluid Dynamics (E)

Lecturer: Prof. Hrvoje Jasak
Lectures:
1. Governing equations:Transport equations in continuum mechanics: Overview of the basic equations: scalar transport equation, conservation laws. Basics of the discretisation method and numerical solution....

### Numerical Methods for Compressible Fluid Dynamics (CCM1) [M12] (E)

Lecturer: Dr Stephen Millmore
This course covers numerical solution techniques for coupled systems of non-linear equations, with particular applications in fluid dynamics. The formulation of the equations is derived such that shock waves,...

### Simulation of Matter under Extreme Conditions (ACM1) [M12] (E)

Lecturer: Dr Stephen Millmore and Dr Nandan Gokhale
This course extends the validity of the models covered in Numerical Methods for Compressible Fluid Dynamics to cover all four standard states of matter. This requires the role of the equation...

### Multiphysics Modelling for Four States of Matter (ICM) [M12] (E)

Lecturer: Dr Stephen Millmore
The prerequisite course for Multiphysics Modelling of Four States of Matter consider how gas, liquid, solid and plasma can be modelled individually. In this course, the techniques required to simulate multiple...

### Simulation of Complex Incompressible and Low-strain Rate Phenomena [M12] (E)

Lecturer: Prof. Hrvoje Jasak
The course objective is to present the formulation, inter-equation coupling and solution procedures for some common multi-physics continuum mechanics problems. The students will:
understand the formulation and...

### Numerical Methods for Incompressible Fluid Dynamics [M12] (E)

Lecturer: Prof. Hrvoje Jasak
This course introduces the student to the Finite Volume Method (FVM) of discretisation for low-speed problems in continuum mechanics. The focus of the course are equations with elliptic operators and smooth continuum...

#### Additional Lectures

### Advanced Computational Algorithms for Partial Differential Equations [M12]

Visiting Lecturer: Professor Eleuterio Toro OBE Professor Emeritus of Mathematics, University of Trento, Italy
Course aim
To present a selection of topics on advanced methodologies for solving evolutionary advection-diffusion-reaction partial...

### Foundation Course in QM and solid state physics [M10]

Lecturer : Prof Emilio Artacho
This course is a brief self-contained pedestrian guide to QM starting from scratch, Bloch theorem and Bloch functions. This is very basic, adequate for people with a background not quite in physics or chemistry (materials,...