Autofreefem: automatic code generation with FreeFEM and LaTex output for shape and topology optimization of non-linear multi-physics problems

Research output: Contribution to journalArticlepeer-review

Abstract

For an educational purpose, we develop the Python package AutoFreeFEM which generates all ingredients for shape optimization with non-linear multi-physics in FreeFEM and also outputs the expressions for use in LaTeX. As an input, the objective function and the weak form of the problem have to be specified only once. This ensures consistency between the simulation code and its documentation. In particular, AutoFreeFEM provides the linearization of the state equation, the adjoint problem, the shape derivative, as well as a basic implementation of the level-set based mesh evolution method for shape optimization. For the computation of shape derivatives, we utilize the mathematical Lagrangian approach for differentiating PDE-constrained shape functions. Differentiation is done symbolically using SymPy. In numerical experiments, we verify the accuracy of the computed derivatives. Finally, we showcase the capabilities of AutoFreeFEM by considering shape optimization of a non-linear diffusion problem, linear and non-linear elasticity problems, a thermo-elasticity problem, and a fluid–structure interaction problem.

Original languageEnglish
Article number213
JournalStructural and Multidisciplinary Optimization
Volume67
Issue number12
DOIs
Publication statusPublished - 1 Dec 2024

Keywords

  • Code generation
  • FreeFEM
  • Shape derivative
  • Shape optimization

Fingerprint

Dive into the research topics of 'Autofreefem: automatic code generation with FreeFEM and LaTex output for shape and topology optimization of non-linear multi-physics problems'. Together they form a unique fingerprint.

Cite this