PolyPlas: a Python implementation of a topology optimization framework for plasticity with unstructured polygonal finite elements

Emily Alcazar, Jonathan B. Russ, Glaucio H. Paulino

Research output: Contribution to journalArticlepeer-review

Abstract

We present PolyPlas, a Python implementation for a structural topology optimization framework considering von Mises plasticity with unstructured polygonal finite element meshes. The modular structure of this code is inspired by PolyTop—an early educational code for compliance minimization for linear elastic material. For the purpose of open-source access and extensibility, PolyPlas is fully realized in Python. The nonlinear forward problem is solved via a Newton Raphson procedure with backtracking line search for improved convergence stability. The path-dependent sensitivity analysis is conducted using the adjoint method and a detailed discussion on the path-dependent algorithm and implementation of the sensitivity analysis is included herein. Finally, several numerical examples are presented to illustrate the capabilities of PolyPlas in solving topology optimization problems considering von Mises plasticity, resulting in structures with high energy absorption. PolyPlas is wholly intended for educational purposes and to motivate further advancement in the field of topology optimization considering energy-dissipative phenomena.

Original languageEnglish (US)
Article number153
JournalStructural and Multidisciplinary Optimization
Volume68
Issue number8
DOIs
StatePublished - Aug 2025

All Science Journal Classification (ASJC) codes

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

Keywords

  • Educational code
  • Elastoplasticity
  • Open-source
  • Topology optimization

Fingerprint

Dive into the research topics of 'PolyPlas: a Python implementation of a topology optimization framework for plasticity with unstructured polygonal finite elements'. Together they form a unique fingerprint.

Cite this