Adjoint CFD Code Development
This paper addresses the concerns of CFD code developers who are facing the task of creating a discrete adjoint CFD code for design optimisation. It discusses how the development of such a code can be greatly eased through the selective use of Automatic Differentiation, and how each stage of the software development process can be subjected to a sequence of checks to ensure the correctness of the final software.
The complete source code can be download from the webpage. This includes a Makefile which uses TAPENADE to generate the linear (forward mode) and adjoint (reverse mode) subroutines.