An adjoint-based shape-optimization method for aerodynamic design