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.

[1]  M. Hinze Optimal and instantaneous control of the instationary Navier-Stokes equations , 2002 .

[2]  R. Giering,et al.  The Equatorial Thermocline Outcropping—A Seasonal Control on the Tropical Pacific Ocean–Atmosphere Instability Strength , 2002 .

[3]  L. Perelman,et al.  A finite-volume, incompressible Navier Stokes model for studies of the ocean on parallel computers , 1997 .

[4]  S. Ulbrich Optimal control of nonlinear hyperbolic conservation laws with source terms , 2001 .

[5]  Mark S. C. Reed,et al.  Method of Modern Mathematical Physics , 1972 .

[6]  Jack Dongarra,et al.  Computational Science — ICCS 2002 , 2002, Lecture Notes in Computer Science.

[7]  Patrick Heimbach,et al.  Automatic Generation of Efficient Adjoint Code for a Parallel Navier-Stokes Solver , 2002, International Conference on Computational Science.

[8]  Andreas Griewank,et al.  Evaluating derivatives - principles and techniques of algorithmic differentiation, Second Edition , 2000, Frontiers in applied mathematics.

[9]  Patrick Heimbach,et al.  An efficient exact adjoint of the parallel MIT General Circulation Model, generated via automatic differentiation , 2005, Future Gener. Comput. Syst..

[10]  B. Christianson Reverse accumulation and attractive fixed points , 1994 .

[11]  Antony Jameson,et al.  Aerodynamic design via control theory , 1988, J. Sci. Comput..

[12]  W. Thacker,et al.  Combining data and a global primitive equation ocean general circulation model using the adjoint method , 1996 .

[13]  Raymond C. Montgomery,et al.  Determination of Stability and Control Derivatives using Computational Fluid Dynamics and Automatic Differentiation , 1999 .

[14]  Guriĭ Ivanovich Marchuk,et al.  Adjoint Equations and Analysis of Complex Systems , 1995 .

[15]  Martin Heimann,et al.  The global atmospheric tracer model TM3 , 1995 .

[16]  Christian H. Bischof,et al.  ADIC: an extensible automatic differentiation tool for ANSI‐C , 1997, Softw. Pract. Exp..

[17]  M. Reed Methods of Modern Mathematical Physics. I: Functional Analysis , 1972 .

[19]  Thomas Kaminski,et al.  Generating recomputations in reverse mode AD , 2000 .

[20]  P. Courtier,et al.  Variational Assimilation of Meteorological Observations With the Adjoint Vorticity Equation. I: Theory , 2007 .

[21]  Jeffrey P. Thomas,et al.  Computation of Unsteady Nonlinear Flows in Cascades Using a Harmonic Balance Technique , 2002 .

[22]  Ionel M. Navon,et al.  Second-Order Information in Data Assimilation* , 2002 .

[23]  Thomas Kaminski,et al.  A coarse grid three-dimensional global inverse model of the atmospheric transport. 2. Inversion of the transport of CO2 in the 1980s , 1999 .

[24]  M. Heinkenschloss,et al.  Optimal control of unsteady compressible viscous flows , 2002 .

[25]  Thomas Kaminski,et al.  A coarse grid three-dimensional global inverse model of the atmospheric transport 1. Adjoint model and Jacobian matrix , 1999 .

[26]  Wolfgang Knorr,et al.  Annual and interannual CO2 exchanges of the terrestrial biosphere: process-based simulations and uncertainties , 2000 .

[27]  Shian-Jiann Lin,et al.  A finite‐volume integration method for computing pressure gradient force in general vertical coordinates , 1997 .

[28]  Christian Bischof,et al.  Using automatic differentiation for the minimal p-norm solution of the biomagnetic inverse problem , 2001 .

[29]  Tosio Kato Perturbation theory for linear operators , 1966 .

[30]  S. Forth,et al.  Aerofoil optimisation via AD of a multigrid cell-vertex Euler flow solver , 2000 .

[31]  H. Martin Bücker,et al.  Using automatic differentiation for the solution of the minimum p-norm estimation problem in magnetoencephalography , 2004, Simul. Model. Pract. Theory.

[32]  B. Christianson Reverse aumulation and imploicit functions , 1998 .

[33]  Thomas Slawig,et al.  Adjoint gradients compared to gradients from algorithmic differentiation in instantaneous control of the Navier-Stokes equations , 2003, Optim. Methods Softw..

[34]  Bijan Mohammadi,et al.  Fluid dynamics computation with NSC2KE : an user-guide : release 1.0 , 1994 .

[35]  Christian H. Bischof,et al.  Computation of Sensitivity Information for Aircraft Design by Automatic Differentiation , 2002, International Conference on Computational Science.

[36]  Jeffrey P. Thomas,et al.  Nonlinear Inviscid Aerodynamic Effects on Transonic Divergence, Flutter, and Limit-Cycle Oscillations , 2001 .

[37]  Andreas Griewank,et al.  Automatic Differentiation of Algorithms: From Simulation to Optimization , 2000, Springer New York.

[38]  S. Ta'asan,et al.  ANALYSIS OF THE HESSIAN FOR AERODYNAMIC OPTIMIZATION: INVISCID FLOW , 1996 .

[39]  Andreas Griewank,et al.  Achieving logarithmic growth of temporal and spatial complexity in reverse automatic differentiation , 1992 .

[40]  Christian Bischof,et al.  ADIC: an extensible automatic differentiation tool for ANSI-C , 1997 .

[41]  Thomas Slawig Domain optimization of a multi-element airfoil using automatic differentiation , 2001 .

[42]  Thomas Kaminski,et al.  Applying TAF to generate efficient derivative code of Fortran 77‐95 programs , 2003 .

[43]  Stefan Ulbrich,et al.  Towards adjoint-based methods for aeroacoustic control , 2001 .

[44]  Paul D. Hovland,et al.  Automatic Differentiation and Navier-Stokes Computations , 1998 .

[45]  Andreas Griewank,et al.  Algorithm 755: ADOL-C: a package for the automatic differentiation of algorithms written in C/C++ , 1996, TOMS.

[46]  Thomas Kaminski,et al.  On the Performance of Derivative Code Generated by TAMC , 2000 .

[47]  R. Giering,et al.  Construction of the adjoint MIT ocean general circulation model and application to Atlantic heat transport sensitivity , 1999 .

[48]  Christian Bischof,et al.  Applications of Automatic Differentiation in CFD , 1994 .

[49]  Nicole Rostaing,et al.  Automatic differentiation in Odyssée , 1993 .

[50]  R. Giering Tangent linear and adjoint model compiler users manual , 1996 .

[51]  Thomas Kaminski,et al.  Recipes for adjoint code construction , 1998, TOMS.

[52]  Perry A. Newman,et al.  Some Advanced Concepts in Discrete Aerodynamic Sensitivity Analysis , 2001 .

[53]  Shian-Jiann Lin,et al.  An explicit flux‐form semi‐lagrangian shallow‐water model on the sphere , 1997 .

[54]  Christian H. Bischof,et al.  Efficient and accurate derivatives for a software process chain in airfoil shape optimization , 2005, Future Gener. Comput. Syst..

[55]  Christian Bischof,et al.  The ADIFOR 2.0 system for the automatic differentiation of Fortran 77 programs , 1997 .

[56]  Shian‐Jiann Lin,et al.  Multidimensional Flux-Form Semi-Lagrangian Transport Schemes , 1996 .