Skip to main content

A 99 line topology optimization code written in Matlab

Abstract

The paper presents a compact Matlab implementation of a topology optimization code for compliance minimization of statically loaded structures. The total number of Matlab input lines is 99 including optimizer and Finite Element subroutine. The 99 lines are divided into 36 lines for the main program, 12 lines for the Optimality Criteria based optimizer, 16 lines for a mesh-independency filter and 35 lines for the finite element code. In fact, excluding comment lines and lines associated with output and finite element analysis, it is shown that only 49 Matlab input lines are required for solving a well-posed topology optimization problem. By adding three additional lines, the program can solve problems with multiple load cases. The code is intended for educational purposes. The complete Matlab code is given in the Appendix and can be down-loaded from the web-site http://www.topopt.dtu.dk.

This is a preview of subscription content, access via your institution.

Author information

Authors and Affiliations

Authors

Additional information

Received October 22, 1999

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Sigmund, O. A 99 line topology optimization code written in Matlab. Struct Multidisc Optim 21, 120–127 (2001). https://doi.org/10.1007/s001580050176

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s001580050176

  • Key words: topology optimization, education, optimality criteria, world-wide web, Matlab code