Saturday, July 19, 2014

FreeFem++ Topology Optimization Scripts


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++:
plate.edp
parametric optimization of a plate with varying thickness
counterex.edp
parametric optimization, minimization of a least-square criterion for an elastic plate with varying thickness (example of non-convergence under mesh refinement)
cantilever_en.edp
geometric shape optimization, compliance minimization of a cantilever
torsion_en.edp
topology optimization, maximization of the rigidity of a two-phase elastic bar under torsion
cantilever.homog.edp
topology optimization, Compliance minimization of a cantilever (with composite penalization)
cantilever.homog.struct.edp
topology optimization, compliance minimization of a cantilever with a structured mesh
pont.homog.struct.edp
topology optimization, compliance minimization of an arch with a structured mesh
levelset-cantilever.edp
compliance minimization for a cantilever by the level set method
There are some additional scripts that go along with the paper Structural Optimization with FreeFem++ posted as well. The scripts are very much in the educational spirit of the 99 line code. They are concise and well commented.

The several of the scripts I've tried work in the latest version of FreeFem++ that's packaged for Fedora (3.30).

No comments:

Post a Comment