Shape optimization of flow and cooling systems @ Diabatix

I did an internship at Diabatix for 10 weeks. I had to develop a module for shape optimization of flow and cooling systems based on adjoint optimisation. This module is able to modify the shape of an object in order to minimize a certain objective function.
The objective function, e.g. minimal pressure at the inlet, can be chosen freely by the user. Besides the freedom to choose different objective functions, the method is also able to satisfy geometric constraints.
This module was implemented in 7 weeks as a stand-alone version. Afterwards it was modified to fit in the framework of the commercial software of Diabatix.

The images below show the starting situation and the shape after the simulation. The goal here was to minimise the pressure at the inlet. This can be achieved by enlarging the inlet. This is also the result from the simulation. The wave-like form in the final result comes from applying the geometric constraint. The last figure shows how the pressure at the inlet decreases with every iteration.

The initial shape

The final result

The geometric constraint

Plot that shows how the pressure at the inlet decreases with every iteration

The video shows an example when the code was mid development. The objective was to minimize the pressure at the inlet. Geometric constraints are applied on the x- and y-axis.