In my work, I develop numerical methods to simulate and optimize physical systems, allowing me to predict their behavior and design engineering components. Among the tools that I employ are: finite element methods, functional analysis, C++, python, object oriented programming, high performance computing, linear algebra, optimization algorithms, etc. Many of these tools are typically implemented in open source libraries such as FEniCS, PETSc, Paraview, libMesh or IpOpt.
Design in engineering has benefited from the computational simulation tools developed during the last thirty years. Long gone are the days of trial and error with costly real life prototypes. Nowadays, engineers use their intuition to design the geometry of engineering components and quickly test their performance in simulated environments. However, this procedure is still costly and heavily relies on the engineer's intuition. Topology optimization shorcuts this by automating the whole process and obviating the need for trial-and-error design and lessens the need for engineering intuition. Notably, it can be applied to design systems where intuition is lacking.
Topology optimization finds the optimal geometry to minimize a cost function subject to a set of constraints. The cost and constraint functions depend on the response function, e.g. displacement, stress, temperature, etc., in an implicit way through the numerical simulation. Their gradients are calculated using the adjoint method and are fed to a gradient-based optimization algorithm which finds the optimal solution.
My research applies computational saving methods to the expensive numerical simulation. Indeed, the resolution needed in the initial stages of the optimization is not high and can be increased as the optimization converges towards the final design, as seen in the video below. Here we design our structure to be as light as possible while still able to sustain the applied load.
Topology optimization often provides solutions to design problems beyond the limits of the engineer's intuition and expertise. Such an example is the design of three dimensional compliant mechanisms whose purpose is to transfer an input displacement to an output displacement through elastic deformation, thereby reducing wear, friction and backlash, commonly seen in rigid-body mechanisms.