Author: Nick Johnson, EPCC

Use cases are the bridge between benchmarks, where specific elements of a code are exercised (often in isolation) such as a solver, or IO routine and full applications. However, that’s not to say use cases are not full applications. In ExaFlow, our use cases are specific geometries, specific CFD problems that we use to demonstrate the improvements we have made to our co-design applications: Nektar++, Nek5000 & OpenSBLI. What differentiates them from full applications is that we already know the answer! Like a school kid sneaking a look at the answers in the back of the textbook, we have a good feel for how the model should resolve, what is should look like, and perhaps more importantly, what it shouldn’t look like.

We plan to make use of three use-cases in the final months of this project to showcase our results:

The compressible NACA4412/0012 aerofoil test case with OpenSBLI will demonstrate correct working of the error indicators & that the use of error indicators does not currently introduce a performance penalty. We plan to implement a Store Sum (SS) algorithm that should show a speed-up in the coming months.

Instantaneous contours of spanwise vorticity from a simulation of air flow past a NACA-4412 airfoil

The incompressible NACA4412 aerofoil with Nek5000 will be used to demonstrate the benefit of error estimation and optimal mesh generation, and in conjunction with the ExaGS library, improved scaling performance.

Turbulent structures extracted from the incompressible NACA4412 wing case

Finally, the Imperial Front Wing with Nektar++ will be used to demonstrate several features & improvements that could be showcased here; the ExaGS library for unstructured grids, load balancing (which introduces extra runtime options for making sure shapes are weighted correctly) and resilience and check-pointing.

Streamlines from a spectral/hp element simulation of the unsteady LES flow past the Imperial Front Wing geometry