pnfernandes

pnfernandes

Geek Repo

0

following

0

stars

Github PK Tool:Github PK Tool

pnfernandes's repositories

Python-Code-for-Stress-Constrained-Topology-Optimization-in-ABAQUS

This repository 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 "Python code for 2D and 3D stress constrained topology optimization in ABAQUS: theory, implementation, and case studies" [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, 3DQ8, and S4. - The authorship of the functions 'mmasub' and 'subsolv' used in the Method of Moving Asymptotes are credited to Arjen Deetman. Source: https://github.com/arjendeetman/GCMMA-MMA-Python - 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.

Language:PythonLicense:GPL-3.0Stargazers:9Issues:0Issues:0