CFD-ACE+ software suite. Guillaume Pierrot, ESI Group. The present paper
outlines the implementation of a discrete adjoint solver for shape optimization in
the ...
A discrete adjoint solver for shape optimization within the commercial CFD-ACE+ software suite Guillaume Pierrot, ESI Group The present paper outlines the implementation of a discrete adjoint solver for shape optimization in the commercial multi-physics software suite CFD-ACE+. The computed sensitivity field accounts for the effect of surface node displacements on some specified objective function. Results will be shown on some test cases, validating the computed gradient against Finite Difference slopes measured in between initial and deformed geometry. Whereas there has been quite a significant amount of academic work on adjoint solvers for CFD including both continuous and discrete approaches (see for example [1], [2], [3], [4] ) the development of robust and reliable adjoint solvers has hardly reached the area of commercial softwares. There are indeed major challenges at stake with respect, especially, to memory management, CPU efficiency, gradient consistency and code maintainability. Whereas continuous adjoints provide a relatively easy-to-implement approach, as well as a CPU-efficient solution, they do not guarantee gradient consistency with respect to the CFD solver and require by hand differentiation of the underlying physical models which may turn to be tricky (e.g. turbulence models) and burdens a lot the maintainability of the code (any model addendum in the CFD solver requires a specific development effort counterpart in the adjoint solver). On the other hand, Algorithmic Differentiation (AD) offers the guarantee of gradient consistency up to machine precision and allows for a lower maintainability cost (the code itself is differentiated so any model addendum will automatically be handled). However differentiating an industrial software is very intrusive an approach (full access to the core source code is needed) and tends to be quite challenging a task, possibly tedious and time consuming depending on the code structure and programming language. Furthermore memory as well as CPU efficiency management requires specific additional efforts. The presented approach for CFD-ACE+ attempts to combine the best of both worlds, achieving the assembly of the discrete adjoint system through finite differencing of the underlying operators. This provides low cost maintenance while being far less intrusive than AD (at the expense of some additional truncation error in the gradient) and almost as CPUefficient and easy-to-implement as continuous adjoints. Memory management however remains a challenge that is being adressed by an out-of-core approach combined with optimal preconditioning of the adjoint system.
Keywords: discrete adjoint, shape optimization, operator finite differencing, CFD-ACE+ [1] Jones, D, Muller, JD, Christakopoulos, F (2011) . Preparation and assembly of discrete adjoint CFD codes. vol. 46, 282-286.
[2] A.S. ZYMARIS, D.I. PAPADIMITRIOU, K.C. GIANNAKOGLOU, C. OTHMER: Continuous Adjoint Approach to the Spalart--Allmaras Turbulence Model for Incompressible Flows, Computers & Fluids, 38, pp. 1528-1538, 2009. [3] A. Jameson, J.Reutner, Aerodynamic Shape Optimization of Wing and Wing-Body Configurations Using Control Theory, AIAA Paper 95-0123, AIAA 33rd Aerospace Sciences Meeting and Exhibit, Reno, January 1995. [4] J. Chetboun, G. Allaire, Flow Control of Curved Air Ducts using Topological Derivatives, Proceedings of the 8th World Congress on Structural and Multidisciplinary Optimization, H.C. Rodrigues et al. eds., ISSMO (2009). ISBN:978-989-20-1554-5