A new generation 99 line Matlab code for compliance topology optimization and its extension to 3D

Federico Ferrari*, Ole Sigmund

*Corresponding author for this work

Research output: Contribution to journalJournal articleResearchpeer-review


Compact and efficient Matlab implementations of compliance topology optimization (TO) for 2D and 3D continua are given, consisting of 99 and 125 lines respectively. On discretizations ranging from 3 ⋅ 104 to 4.8 ⋅ 105 elements, the 2D version, named top99neo, shows speedups from 2.55 to 5.5 times compared to the well-known top88 code of Andreassen et al. (Struct Multidiscip Optim 43(1):1–16, 2011). The 3D version, named top3D125, is the most compact and efficient Matlab implementation for 3D TO to date, showing a speedup of 1.9 times compared to the code of Amir et al. (Struct Multidiscip Optim 49(5):815–829, 2014), on a discretization with 2.2 ⋅ 105 elements. For both codes, improvements are due to much more efficient procedures for the assembly and implementation of filters and shortcuts in the design update step. The use of an acceleration strategy, yielding major cuts in the overall computational time, is also discussed, stressing its easy integration within the basic codes.
Original languageEnglish
JournalStructural and Multidisciplinary Optimization
Publication statusAccepted/In press - 2020


  • Topology optimization
  • Matlab
  • Computational efficiency
  • Acceleration methods

Cite this