Generating efficient derivative code with TAF - Adjoint and tangent linear Euler flow around an airfoil
FastOpt's new automatic differentiation tool TAF is applied to the two-dimensional Navier-Stokes solver NSC2KE. For a configuration that simulates the Euler flow around an NACA airfoil, TAF has generated the tangent linear and adjoint models as well as the second derivative (Hessian) code. Owing to TAF's capability of generating efficient adjoints of iterative solvers, the derivative code has a high performance: running both the solver and its adjoint requires 3.4 times as long as running the solver only. Further examples of highly efficient tangent linear, adjoint, and Hessian codes for large and complex three-dimensional Fortran 77-90 climate models are listed. These examples suggest that the performance of the NSC2KE adjoint may well be generalised to more complex three-dimensional CFD codes. We also sketch how TAF can improve the adjoint's performance by exploiting self-adjointness, which is a common feature of CFD codes. (c) 2004 Elsevier B.V. All rights reserved.
adjoint automatic differentiation navier-stokes hessian computational fluid dynamics shape optimisation