Python Code for Stress Constrained Topology Optimization in ABAQUS

Published: 12 December 2023| Version 2 | DOI: 10.17632/d347zjsk27.2
Pedro Fernandes,


This dataset contains a Python code with five implementations of topology optimization approaches suitable for 2D and 3D problems, all considering bi-directional evolutionary structural optimization. The approaches implemented include both discrete and continuous methods, namely: - Optimality Criteria, for continuous or discrete variables; - Method of Moving Asymptotes; - Sequential Least-Squares Programming (from SciPy module); - Trust-region (from SciPy module). The implementation of the Optimality Criteria method is suitable for compliance minimization problems with one mass or volume constraint. The implementation of the remaining methods is suitable for stress constrained compliance minimization and stress minimization problems, both with one mass or volume constraint. The code uses the commercial software ABAQUS to execute Finite Element Analysis (FEA) and automatically access most of the necessary information for the optimization process, such as initial design, material properties, and loading conditions from a model database file (.cae) while providing a simple graphic user interface. Although the code has been developed mainly for educational purposes, its modularity allows for easy editing and extension to other topology optimization problems, making it interesting for more experienced researchers. This code has been used in the article "Stress constrained topology optimization for commercial software: a Python implementation for ABAQUS®" [1]. The folders included in this dataset contain the results obtained, as well as the information necessary to replicate them. In particular, the folder 'Validation' contains the data used to validate the functioning of the code provided. Notes: - Stress-dependent problems are only compatible with the following ABAQUS element types: CPE4, CPS4, and 3DQ8. - The authorship of the functions 'mmasub' and 'subsolv' used in the Method of Moving Asymptotes are credited to Arjen Deetman. Source: - Despite the validations performed, this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [1] - Fernandes, P.; Ferrer, À.; Gonçalves, P.; Parente, M.; Pinto, R.; Correia, N. Stress-Constrained Topology Optimization for Commercial Software: A Python Implementation for ABAQUS®. Appl. Sci. 2023, 13, 12916.



Instituto de Engenharia Mecanica e Gestao Industrial, Centro Internacional de Metodos Numericos en Ingenieria, Instituto Politecnico de Viana do Castelo, Universidade do Porto Faculdade de Engenharia


Topology Optimization


Fundação para a Ciência e a Tecnologia

Ph.D. Grant SFRH/BD/145425/2019