Search for a command to run...
Various optimisation problems concern a component of a system, whose influence is so large that it significantly affects the state of the system. In these cases, an isolated optimisation of the component does not account for the changes in system state during the optimisation. This introduces inaccuracies. At the same time, the large influence of the component results in large potential performance gains. This requires detailed optimisation. The logical consequence is to model the whole system at every step of the optimisation and to use a large number of design variables. Both of these aspects can however increase computational time so significantly that the approach becomes infeasible. One such problem are hydrofoils in yacht racing. Hydrofoils are the equivalent to airfoils but operated underwater to lift the hull of a yacht out of the water. The design of the hydrofoils has an immense influence on the performance, the state and the trim (i.e. control) of the “yacht” system. To model this whole system, a stationary physics model of the entire yacht is developed. The model is integrated into a detailed optimisation routine that requires 70 design variables, which makes it prohibitively expensive to solve with derivative free methods. Therefore, a gradient-based optimisation strategy is developed, where the gradient is computed using the adjoint method. The adjoint method allows to compute the gradient independent of the number of input variables at a small cost. The adjoint method is only applied to the bottleneck of the yacht model using the algorithmic differentiation tool ADOL-C. The remainder of the model is differentiated using finite differences. The overall gradients are provided to the optimisation algorithm IPOPT. The optimisation strategy is applied to the AC75 America´s Cup class and used to optimise its hydrofoil for velocity made good ( $$\:{V}_{\text{M}\text{G}}$$ ) in an upwind condition. The optimised foil shows significant improvement over the baseline foil and demonstrates the immense capabilities of adjoint system-based optimisation. Due to the vast efficiency of the adjoint method, the framework can be extended to optimise thousands of design variables.