Discrete Adjoint of an implicit coupled solver based on foam-extend using Algorithmic Differentiation

Adjoint based methods are an effective way to obtain accurate gradients for CFD optimization problems since the computation cost for the calculation of these gradients is relatively independent of the degrees of freedom. At the heart of such an optimization process lies the computation of topology sensitivity maps. Sensitivities are derivatives of an objective function resulting from CFD computations with respect to meaningful design variables. The existing discrete adjoint version of OpenFOAM [1,2] is obtained by applying Algorithmic Differentiation [3] tool, dco/c++. In this paper, we present the generic adaptation of our existing framework to foam-extend [4]. Further we present our coupled adjoint solver based on pUCoupledFoam [5], an incompressible pressure-velocity coupled solver based on an explicit use of Rhie-Chow interpolation. The discrete approach has the relative advantage of flexibility and robustness compared to continuous adjoint formulations, however at the expense of additional computation cost and memory. These issues are somewhat attended to using standard techniques like checkpointing [6]. However for industrial problems, the long computation time still remains a bottleneck. We are therefore looking to exploit the faster rate of convergence of the flow equations (and hopefully, faster computations) to decrease the overall time for the computation of the sensitivities.