🤖 AI Summary
To address the pedagogical need for accessible topology optimization education, this paper introduces PyHexTop—a lightweight, open-source Python implementation for compliance minimization under a volume constraint.
Method: PyHexTop discretizes the design domain using regular hexagonal elements, the first such lightweight implementation to do so; this inherently suppresses checkerboard patterns without requiring additional filtering. Built on NumPy and SciPy, it extends the HoneyTop90 framework and integrates the Solid Isotropic Material with Penalization (SIMP) interpolation scheme, analytical sensitivity analysis, and the Optimality Criteria (OC) optimizer.
Contributions/Results: (1) Its minimal, highly readable codebase significantly lowers the learning barrier; (2) it robustly generates high-quality, checkerboard-free topologies on benchmark problems (e.g., the MBB beam); (3) the fully documented, open-source code has been validated in undergraduate and graduate courses across multiple universities, demonstrating both pedagogical effectiveness and practical engineering utility.
📝 Abstract
Python serves as an open-source and cost-effective alternative to the MATLAB programming language. This paper introduces a concise topology optimization Python code, named `` exttt{PyHexTop},"primarily intended for educational purposes. Code employs hexagonal elements to parameterize design domains as such elements provide checkerboard-free optimized design naturally. exttt{PyHexTop} is developed based on the `` exttt{HoneyTop90}"MATLAB code~cite{kumar2023honeytop90} and uses the exttt{NumPy} and exttt{SciPy} libraries. Code is straightforward and easily comprehensible, proving a helpful tool that can help people new in the topology optimization field to learn and explore. exttt{PyHexTop} is specifically tailored to address compliance minimization with specified volume constraints. The paper provides a detailed explanation of the code for solving the Messerschmitt-Bolkow-Blohm beam and extensions to solve problems different problems. The code is publicly shared at: url{https://github.com/PrabhatIn/PyHexTop.}