There are lots of open source topology optimization options out there (e.g. 99 line code, ToPy) that I've written about before. One that I haven't posted about yet is a collection of FreeFem++ scripts by Allaire, et al. that illustrate a variety of topology optimization approaches and problems. FreeFem++ is a partial differential equation solver based on the finite element method. FreeFem++problems are defined in scripts that use a high level language. FreeFem++ itself is written in C++.
Here's a list of the scripts they've shared for doing shape/topology optimization with FreeFem++:
- parametric optimization of a plate with varying thickness
- parametric optimization, minimization of a least-square criterion for an elastic plate with varying thickness (example of non-convergence under mesh refinement)
- geometric shape optimization, compliance minimization of a cantilever
- topology optimization, maximization of the rigidity of a two-phase elastic bar under torsion
- topology optimization, Compliance minimization of a cantilever (with composite penalization)
- topology optimization, compliance minimization of a cantilever with a structured mesh
- topology optimization, compliance minimization of an arch with a structured mesh
- compliance minimization for a cantilever by the level set method
The several of the scripts I've tried work in the latest version of FreeFem++ that's packaged for Fedora (3.30).