PolyMat: an efficient Matlab code for multi-material topology optimization

Emily D. Sanders, Anderson Pereira, Miguel A. Aguiló, Glaucio H. Paulino

Research output: Contribution to journalArticlepeer-review

46 Scopus citations


We present a Matlab implementation of topology optimization for compliance minimization on unstructured polygonal finite element meshes that efficiently accommodates many materials and many volume constraints. Leveraging the modular structure of the educational code, PolyTop, we extend it to the multi-material version, PolyMat, with only a few modifications. First, a design variable for each candidate material is defined in each finite element. Next, we couple a Discrete Material Optimization interpolation with the existing penalization and introduce a new parameter such that we can employ continuation and smoothly transition from a convex problem without any penalization to a non-convex problem in which material mixing and intermediate densities are penalized. Mixing that remains due to the density filter operation is eliminated via continuation on the filter radius. To accommodate flexibility in the volume constraint definition, the constraint function is modified to compute multiple volume constraints and the design variable update is modified in accordance with the Zhang-Paulino-Ramos Jr. (ZPR) update scheme, which updates the design variables associated with each constraint independently. The formulation allows for volume constraints controlling any subset of the design variables, i.e., they can be defined globally or locally for any subset of the candidate materials. Borrowing ideas for mesh generation on complex domains from PolyMesher, we determine which design variables are associated with each local constraint of arbitrary geometry. A number of examples are presented to demonstrate the many material capability, the flexibility of the volume constraint definition, the ease with which we can accommodate passive regions, and how we may use local constraints to break symmetries or achieve graded geometries.

Original languageEnglish (US)
Pages (from-to)2727-2759
Number of pages33
JournalStructural and Multidisciplinary Optimization
Issue number6
StatePublished - Dec 1 2018
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • Software
  • Control and Systems Engineering
  • Computer Science Applications
  • Computer Graphics and Computer-Aided Design
  • Control and Optimization


  • Matlab
  • Multi-material
  • Polygonal finite elements
  • Topology optimization
  • ZPR


Dive into the research topics of 'PolyMat: an efficient Matlab code for multi-material topology optimization'. Together they form a unique fingerprint.

Cite this