WP 3: Automatic Differentiation Tools and Discrete Adjoint Solvers
Objectives
- Advances with the source-transformation and operator-overloading AD tools
- Further advances with discrete ACE+, extending it from its current tangent-linear to adjoint, including a larger set of the algorithm.
- Discrete and Automatic differentiation of OpenFOAM
Methodology
QMUL will extend existing discrete adjoint codes to be suitable for unsteady flows. AD will be applied to OpenFOAM using the operator-overloading AD tool dco from partner RWTH. <> The functionality of dco will be extended to cope with the advanced C++ constructs of OpenFOAM. AD-differentiated code at the outer level will be complemented by hand-differentiated blocks where code proves too complex or AD code lacks the necessary performance.
Partners RWTH and INRIA will extend their tools to handle adjoints of MPI-parallel codes. Message-Passing primitives will be considered as primitive constructs of the application language.
The arbitrary-primal discrete adjoint of ESI developed in FlowHead will be improved w.r.t. robustness and performance. The advances in WP3 support the application WPs 4-6.
Lead: RWTH, participants: QMUL, INR, RR, ESI [months 1-36]
Participating Research Fellows
- Jan Hückelheim (ESR 1 at QMUL): Application of AD for unsteady flows (WPs 3, 4, 5)
- Mateusz Gugala (ESR 2 at QMUL): Multi-fidelity unsteady optimisation (WPs 3, 4, 5)
- Siamak Abkarzadeh (ESR 3 at QMUL): Discrete Adjoint solver based on OpenFOAM (WPs 3, 5)
- George Eleftheriou (ESR 5 at ESI): Discrete Adjoint Solvers and Parallelisation (WPs 1, 3, 4)
- Mattia Oriani (ESR 6 at ESI): Discrete unsteady adjoint solver (WPs 3, 5)
- Ala Taftaf (ESR 7 at INRIA): Source transformation AD tools (WPs 3, 5)
- Christos Vezyris (ESR 8 at NTUA): Discrete and continuous adjoint methods: GPU-enabled and one-shot adjoints, for unsteady flow optimisation (WPs 2, 3, 4, 5)
- Mehdi Ghavami Nejad (ESR 9 at NTUA): OpenFOAM-based continuous adjoint method for aerodynamic optimization of unsteady turbulent flows. (WPs 2, 3, 5)
- Georgios Ntanakas (ESR 10 at RR) Regularisation of turbo-machinery flows with unsteady flow separations (WPs1, 3, 4, 5)
- Zahrasadat Dastouri (ESR 11 at RWTH): Operator-overloading AD tools, application to ACE+ (WPs 3, 5)
- Arindam Sen (ESR 12 at RWTH): Operator-overloading OpenFOAM (WPs 3, 5)
- Nikolaos Magoulas (ESR 13 at VW): Application of continuous and discrete adjoint OpenFOAM to unsteady car aerodynamics, Adjoint-based optimisation workflows (WPs 1, 2, 3, 5)
- Sheikh Razibul Islam (ESR 14 at WUT): Adaptation for unsteady adjoint optimisation (WPs 3, 4, 5)