Adjoint-Based Aerodynamic Shape Optimization for Low Reynolds Number Airfoils