Efficient and accurate derivatives for a software process chain in airfoil shape optimization

  • Authors:
  • C. H. Bischof;H. M. Bücker;B. Lang;A. Rasch;E. Slusanschi

  • Affiliations:
  • Institute for Scientific Computing, RWTH Aachen University, D-52056 Aachen, Germany;Institute for Scientific Computing, RWTH Aachen University, D-52056 Aachen, Germany;Applied Computer Science Group, University of Wuppertal, D-42097 Wuppertal, Germany;Institute for Scientific Computing, RWTH Aachen University, D-52056 Aachen, Germany;Institute for Scientific Computing, RWTH Aachen University, D-52056 Aachen, Germany

  • Venue:
  • Future Generation Computer Systems
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

When using a Newton-based numerical algorithm to optimize the shape of an airfoil with respect to certain design parameters, a crucial ingredient is the derivative of the objective function with respect to the design parameters. In large-scale aerodynamics, this objective function is an output of a computational fluid dynamics program written in a high-level programming language such as Fortran or C. Numerical differentiation is commonly used to approximate derivatives but is subject to truncation and subtractive cancellation errors. For a particular two-dimensional airfoil, we instead apply automatic differentiation to compute accurate derivatives of the lift and drag coefficients with respect to geometric shape parameters. In automatic differentiation, a given program is transformed into another program capable of computing the original function together with its derivatives. In the problem at hand, the objective function consists of a sequence of programs: a MATLAB program followed by two Fortran 77 programs. It is shown how automatic differentiation is applied to a sequence of programs while keeping the computational complexity within reasonable limits. The derivatives computed by automatic differentiation are compared with approximations based on divided differences.