ADjoint: An Approach for the Rapid Development of Discrete Adjoint Solvers

C. A. Mader, J. R. R. A. Martins, J. J. Alonso, E. Van Der Weide
2008 AIAA Journal  
An automatic differentiation tool is used to develop the adjoint code for a three-dimensional computational fluid dynamics solver. Rather than using automatic differentiation to differentiate the entire source code of the computational fluid dynamics solver, we have applied it selectively to produce code that computes the flux Jacobian matrix and the other partial derivatives that are necessary to compute total derivatives using an adjoint method. The resulting linear discrete adjoint system is
more » ... then solved using the portable, extensible toolkit for scientific computation. This selective application of automatic differentiation is the central idea behind the automatic differentiation adjoint (ADjoint) approach. This approach has the advantage that it is applicable to arbitrary sets of governing equations and cost functions, and that it is exactly consistent with the gradients that would be computed by exact numerical differentiation of the original solver. Furthermore, the approach is largely automatic, thus avoiding the lengthy development times usually required to develop adjoint solvers for partial differential equations. These significant advantages come at the cost of increased memory requirements for the adjoint solver. Derivatives of drag and lift coefficients are validated, and the low computational cost and ease of implementation of the method are shown. Presented as Paper 7121 at the 11th AIAA/ISSMO Multidisciplinary
doi:10.2514/1.29123 fatcat:k4vrrjc4ubhotlnauotyogga6i