In a Topology Optimization problem, we often have a design variable
Alternatively, we can create an evolution equation for
Here, the math seems a little bit overwhelming, but the evolution equation is simply a diffusion-reaction equation (also an Allen-Cahn equation). The source term is composed of the double-well function
Now we only miss the PDE constraint. This is accomplished by a sensitivity analysis (adjoint problem). The derivation of the adjoint problem is skipped here. A good reference is dofin-adjoint documentation.
The full solving algorithm is presented as follows.
This algorithm is implemented in an open-source code FEniCS.
The first working example is a standard one: optimizing the compliance of a cantilever beam. Various tests were carried out for this simple case to validate the algorithm and clarify the coefficient parameters.
The solution in 3D is also possible. Finer mesh ends with geometry with more details.
We can also solve the thermo-mechanical problem shown below. We observe a significant geometry change as the temperature increase becomes larger. In other words, when thermal expansion is stronger, we need a thicker lower strut to maintain stiffness. This result is consistent with the result in literature.