OpenFOAM Workshop 2023: Adjoint Optimisation

Introduction to Adjoint Optimisation

This workshop covers theoretical and applied concepts related to the use of the adjoint method in aerodynamic and hydrodynamic shape optimization using OpenFOAM. Both the computation of the so-called sensitivity maps and the full optimisation process will be covered, including shape and mesh morphing. A short theoretical background is accompanied by hands-on training focusing on the set-up of the OpenFOAM adjoint solver, discussing its capabilities and following the steps required to perform a shape optimisation loop.

The course is organised with collaboration of leading experts in the development of continuous adjoint methods in aerodynamics, with a rich portfolio of applications in internal and external aerodynamics, e.g. cars, aircraft, turbomachinery etc, from the group of Prof. K.C. Giannakoglou, National Technical University of Athens (NTUA).


Topics covered

Theoretical background:

  • Introduction to the continuous adjoint method
  • Adjoint to the Spalart-Allmaras and k-ω SST turbulence models
  • Continuous adjoint methods and grid sensitivities
  • Example applications for internal and external flows
  • Practical training:

Workflow of an automated shape optimization loop

  • Setup of the shape and grid morpher using volumetric B-Splines
  • Setup of the primal and adjoint solvers, including the objective functions
  • Setup of the primal and adjoint boundary conditions
  • Execution of a demo optimisation related to internal aerodynamics
  • Use of sensitivity maps and their regularisation/smoothing


Participants undertake this training using their own computers with the latest OpenFOAM version (v2212) installed. The training material (slides and test cases) will be distributed to the participants before the training.

The training will be delivered virtually into a seminar room with knowledgeable personnel from OpenCFD to help participants with any problems.

Target audience

This Adjoint-based Optimisation course is suitable for existing users of OpenFOAM seeking to broaden their application knowledge, background knowledge and CFD best practice knowledge for CFD-based shape optimisation and the use of sensitivity maps.


Prior knowledge of OpenFOAM and Linux command line is necessary. Users should be able to:

  • Create a new case in OpenFOAM for simple incompressible flows
  • Set the boundary conditions and main numerical parameters
  • Run the simulation in parallel
  • Post-process the case in ParaView