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.

### Electronic structure and DFT [M10] (E)

Lecturer: Prof. Emilio Artacho Fundamentals and main approximations of DFT ( Density Functional Theory Calculations)-based electronic structure; students should leave the course knowing: how to run DFT calculations from a pre-existing programme; how to converge the results with respect to technical...

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

Lecturer: Dr Edgar Engel 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 classes in which both the theoretical and practical...

### Introduction to topological materials [M12] (E)

Lecturer: Dr Bartomeu Monserrat Introduction to tight binding theory for simulating material properties with applications to topological materials. Lectures: Tight binding theory SSH model I SSH model II Berry phases I Berry phases II Tight binding graphene Haldane model I Haldane model II Haldanem...

### Computational Continuum Modelling (i) [M12] (E)

Dr ST Millmore (12 hours) Lectures: (Note that lectures 1 and 2 are given in a single two-hour slot) Computational Continuum Modelling Course overview; an overview equations for solving continuum systems and the mathematical properties of these equations; introduction to conservation laws Scalar...

### Advanced computational algorithms for PDEs [M12]

Visiting Lecturer: Professor Eleuterio Toro Professor Emeritus of Mathematics, University of Trento, Italy Website: eleuteriotoro.com Email: eleuterio.toro@unitn.it Course aim To present a selection of topics on advanced methodologies for solving evolutionary advection-diffusion-reaction partial...

### Computational Continuum Modelling (ii) [M12] (E)

Lecturer: Dr Hrvoje Jasak This course consists of 12 hours or lectures and two practical sessions. 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...

### Introduction to Computational Multiphysics [M12] (E)

Dr. Stephen Millmore (12 hours) Lectures: Introduction to computational multiphysics Definition of multiphysics problems; representation of material interfaces; the challenges of multiphysics modelling; overview of multiphysics methods Level set methods Implicit boundary methods and an introduction...

### Advanced Continuum Modelling (i) [M12] (E)

Dr Stephen Millmore (12 hours) Lectures: Mesh generation for continuum modelling (Part 1) (Dr N. Gokhale) Overview of grid generation techniques; comparison of different mesh types; introduction to cut cell methods; meshing from STL files Mesh generation for continuum modelling (Part 2) (Dr N...

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

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 program non-trivial algorithms in a robust and efficient manner. The course should...

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

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, engineering, bio, geo etc). The course will include a practical exercise (mini-project)...

### Software Design [M6]

This covers the basic principles of practical software engineering that are important for reliable and efficient scientific software. The topics will include: Computer arithmetic (integer and floating-point) Arithmetic exceptions, error handling and accuracy Principles of program design Coding...

### Message Passing Interface [M16]

This 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 the MPI standard. No prior knowledge of parallel programming is assumed. The goal is to teach...

### Programming with GPUs [M6]

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 to traditional CPUs. The course will begin by covering the hardware...

### OpenMP [M12]

This 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 CPU core). It covers all of the principles of OpenMP, and teach the use of all of the...

### Introduction to Linux [M4]

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, libraries, and linking, and Makefiles Version Control - Subversion and Git...

### Advanced Continuum Modelling (ii) [M12]

Dr Hrvoje Jasak Introduction to continuum mechanics models beyond single-phase fluid flow. Models are expressed as sets of coupled partial differential equations, cover- ing multi-physics applications. The solution algorithm part of the course will cover implicit solution methods of sparse linear...

### Data Visualisation Techniques [M4]

This course covers data visualisation techniques with examples in Gnuplot and VisIt. The first two lectures cover general visualisation requirements, for presenting high-quality data, with a focus on the representation of one-dimensional data and simple two-dimensional data cases. Examples are...