Robust and efficient adjoint solver for complex flow conditions. (22nd April 2017)