A note on cookies

We use cookies to improve your experience of our website. If you want to find out more see our Privacy Policy


SIG Numerical Optimisation with Fluids

Events menu

An introduction to gradient-based optimisation, adjoint methods and Automatic Differentiation

Summer School, Cambridge, 8-10 August 2018

Minimising Rosenbrock's function with a Quasi-Newton method

Gradient-based optimisation methods are accepted as the most efficient optimisation algorithms for systems with large numbers of design or control variables. In particular, the adjoint-approach has become the most interesting approach in numerical optimisation using Computational Fluid Dynamics (CFD) and other computationally expensive systems governed by partial differential equations (PDEs) due to their low computational cost: a single adjoint solve allows to compute the gradient vector of a scalar objective function with respect to an arbitrarily large number of design or control variables.

This course will introduce

  • the important concepts of gradient-based optimisation,
  • the adjoint method
  • and how to use Automatic Differentiation to compute the required gradients.

Venue, Cost, Registration

The Summer School will be held at the Engineering Department of Cambridge University:

James Dyson Building Meeting Room, Engineering Department, Trumpington Street, Cambridge, CB2 1PZ.

The Summer School is free to attend. Attendees are expected to organise their own accommodation, lunches and coffee breaks will be provided.

To register, please follow this link.


The Summer School will be taught by Dr. Jens-Dominik Müller, Queen Mary University of London

Training Code

Attendees are expected to bring their own laptop. The following software need to be installed: Octave, Fortran compiler.


Topics will cover (program subject to change):

Wednesday 8 Aug

11:00-13:00 1: Overview and monovariate algorithms

  • Overview: what is it, what can it do, what are the benefits, where are the difficulties Examples. Stochastic vs. gradient based optimisation. Advantages of gradient-based optimisation in CFD, issues with industrial application.

  • Monovariate gradient-based algorithms: secant method, Newton’s method.

13:00-14:00 Sandwich lunch, provided

14:00-15:00 1.1: Practical on monovariate algorithms

Octave practical on minimisation of monovariate functions

15:00-15:30 Coffee break

15:30-16:30 2: Multi-variate algorithms and safeguarding

  • Extension of basic methods to multivariate algorithms: Steepest Descent, Newton’s method.

  • Safeguarding with line-searches and trust regions.

  • Congjugate Gradient, Quasi-Newton, SQP.

16:30-17:00 2.1: Practical on multi-variate algorithms

Octave practical on minimisation of monovariate functions

Thursday, 9 August

09:00-11:00 3: Numerical Optimisation: constraints

  • Penalty methods

  • Projected gradients

  • SQP

11:00-11:30 Coffee break

11:30-12:00 3.1: Practical on multi-variate algorithms

Octave practical on minimisation of monovariate functions

12:00-13:00 4: Introduction to adjoint methods

  • Discrete vs continuous adjoints, gradient computation

  • physical meaning of adjoint fields

  • examples of sensitivity fields

  • Adjoint of the convection-diffusion equation

13:00-14:00 Sandwich lunch, provided

14:00-15:30 5: Algorithmic Differentiation and AD Tools

  • Algorithmic Differentiation, forward mode

  • Exercise: forward-mode differentiation

  • AD: reverse mode

  • Exercise: reverse-mode differentiation

  • Automatic differentiation with AD tools

15:00-15:30 Coffee break

15:30-17:00 5.1: Practical with AD Tools

Source-transformation using Tapenade’s online interface.

Friday 10 Aug

9:00-10:30 6: Adjoint CFD codes

  • Overview of application of AD to CFD codes,

  • Overview of major open-source CFD adjoint codes

11:00-11:30 Coffee break

11:30-13:00 6.1: Practical on multi-variate algorithms

Fortran practical on minimisation of pde-constrained minimisation in forward and reverse mode

13:00-14:00 Sandwich lunch, provided

14:00-15:30 7: Parametrisation for shape optimisation

  • Overview of methods: lattice based, free-form deformation, radial-basis function

  • Node-based parametrisations, regularisation, preconditioning.

  • CAD-based parametrisations

^ Back to Top