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



People menu

Research Fellows

Jan Hückelheim

Early Stage Researcher at QMUL

I come from Weinheim, a town in the south-west of Germany with castles and lots of forests around. After school I did my civil service on a bird island in the North Sea and some travelling around the world, before I went to RWTH Aachen for my BSc and MSc in Computational Engineering Sciences.

I love being outside, cycling, jogging, hiking, alone or with friends. And I enjoy exploring new places, trying new food and meeting people from other cultures, with different ideas and ideals. An international environment like the University of London allows me to do all that while I am working in the AboutFlow project.

My research deals with the problems in computer science that we are facing in discrete adjoint optimisation. Adjoint methods require us to run programs in reverse order, posing interesting challenges on how to manage the data flow and how to handle industrial cases with vast amounts of data efficiently in this context. I also study how upcoming technologies such as vector coprocessors can be used for this kind of computation.

The collaboration with industrial and academic partners all over Europe, and with people from all over the world is very inspiring. I can use and extend my theoretical knowledge and apply it to real problems. My coworkers and me, all having different backgrounds, are learning a lot from each other. And I am excited about the fact that our research will not end up in a shelf, but will help our partners to create greener, more efficient and more sustainable technology.


  • Complete ACE+ differentiation procedure based on FlowHead work to obtain fully automatic code differentation.
  • Implementation and validation of check-pointing in QMUL in-house code, 2D results
  • Transfer of check-pointing methodology and implementation to ACE+ code
  • Application to mid-size 3D examples.

Contribute to Work Packages

Flow simulations in industry and research are often large computations that can take anything from hours on a workstation with a handful of CPU cores to weeks on high-end supercomputers with thousands of CPUs. If the flow is unsteady, the computational cost is even higher since the flow field needs to be computed for a number of different points in time.

Because of this high cost, programs that are used for these computations are usually hand-crafted, highly optimised codes that are tailored for the machine that they will run on, to make the best use of all the CPU cores, the memory of that machine, and the communication infrastructure.To perform gradient based optimisation, at QMUL we use algorithmic differentiation by source transformation. This method turns the flow simulation code into a code that computes the adjoint gradient of the flow.

During this source transformation process, most of the optimisation and parallelisation of the original code is lost. One of my main interest in the past years has been to try and preserve the efficiency of the original code when generating the adjoint solver. I have presented early results on a number of conferences, based on a flow solver that was written for the Intel XeonPhi coprocessor.

Another interest of mine is the correctness and stability of adjoint gradients in the presence of inaccuracies, such as roundoff errors that arise naturally in floating point arithmetic on today's computers, or errors that occur in lossy checkpoint compression.

  1. J. Hückelheim, P. Hovland, S. H. K. Narayanan, T. Bosse: Testing and verification of a differentiated CG solver (EuroAD December 2015, Paderborn) (conference talk)
  2. J. Hückelheim, J-D. Müller: Incomplete checkpointing for unsteady adjoint optimisation (ADOS conference, December 2015) (conference talk)
  3. J. Hückelheim: Source-transformation adjoints for an unstructured solver with OpenMP (Argonne AD meeting August 2015, Chicago, USA) (conference talk)
  4. J. Hückelheim, J-D. Müller: Checkpointing with time gaps for unsteady adjoint CFD, EuroGen 2015 (talk and paper)
  5. J. Hückelheim, L. Hascoët, J-D. Müller: Multi-activity differentiation in Tapenade, EuroAD December 2014, Jena, Germany (conference talk)
  6. J. Hückelheim, S. Xu, M. Gugala, J-D. Müller: Time-averaged steady vs. unsteady adjoint: a comparison for cases with mild unsteadiness, doi 10.2514/6.2015-1953 (talk and paper)
  7. S. Xu, J. Hückelheim, M. Gugala, J-D. Müller: Computation of the Tangent-Linear Solution for LCO-Converged Nonlinear Flows, doi 10.2514/6.2015-0280 (talk and paper)
  8. J. Hückelheim, J-D. Müller: Performance Considerations When Using Intel XeonPhi Coprocessors for Unsteady Discrete Adjoint Calculations, 6th European Conference on Computational Fluid Dynamics (ECCOMAS), Barcelona, Spain
  9. J. Hückelheim, J-D. Müller: Discrete Adjoint CFD Calculations for Shape Optimisation on Intel XeonPhi Coprocessors Using Source-Transformed OpenMP Code (Opti2014, Kos, Greece)


An exercise for the reader: Ask 5 engineers how airplanes fly, and count the number of different answers you get.

Fluid dynamics is studied for decades, by thousands of researchers, PhD students and companies, and is a vital part of most technical systems, like aircraft, chemical factories and your vacuum cleaner at home. And yet, humans are ambarassingly poor at predicting fluid flow intuitively (Which is good for CFD engineers, who make a living out of this fact).

I had the honour of conducting this outreach activity with Siamak, Mateusz and Mattia at the BigBang local event at Stanmore, North London in July 2015, see this news report here.

We prepared an experimental stand, a video, and an interactive computer game to engage some of the 200+ students as they passed by our stand. In the experiment, the visitors were asked to select a propeller, which they thought would generate as much lift as possible to lift up a basket filled with marbles. The goal was to let them understand that there are many trade-offs such as length, thickness, weight, curvature of the propeller and it is impossible to find the best combination by just guessing and intuitive reasoning, and hence we need experiments, maths and simulation to make an informed choice.

The presentation was easily adapted to different age groups. Younger kids were fascinated by the noise and wind created by the propeller and had fun guessing which propeller was best. The older kids were asked to give reasons why they think a certain propeller was better, and given some background about fluid dynamics and conservation equations. Some of them asked questions about University admissions and job prospects.

All in all, the event was a success and our stand was well received and visited.

^ Back to Top