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.
[1] Andreas Griewank,et al. Algorithm 799: revolve: an implementation of checkpointing for the reverse or adjoint mode of computational differentiation , 2000, TOMS.
[2] U. Naumann,et al. A Discrete Adjoint Version Of An Unsteady Incompressible Solver For Openfoam Using Algorithmic Differentiation , 2014 .
[3] Uwe Naumann,et al. A Discrete Adjoint Model for OpenFOAM , 2013, ICCS.