Abstract

Numerical layout optimization employing an adaptive ‘member adding’ solution scheme provides a computationally efficient means of generating (near-)optimum trusses for problems involving single or multiple load cases. To encourage usage of the method, a Python script is presented, allowing medium to large-scale problems to be solved efficiently. As well as handling multiple load cases, the short (98 line) script presented can tackle truss optimization problems involving unequal limiting tensile and compressive stresses, joint costs, and non-convex polygonal domains, with or without holes. Various numerical examples are used to demonstrate the efficacy of the script presented.

Highlights

  • Truss layout optimization using the ‘ground structure’ approach provides a fully automated means of identifyingoptimum truss structures

  • In order to provide an accessible yet computationally efficient educational implementation of numerical layout optimization, this paper introduces a simple Python script

  • It was found in previous studies (e.g. Gilbert and Tyas 2003; Pritchard et al 2005) that layout optimization will often generate structures that are complex in form, containing large numbers of short members

Read more

Summary

Introduction

Truss layout optimization using the ‘ground structure’ approach provides a fully automated means of identifying (near-)optimum truss structures. Most significantly, proposed in 2003, the ‘member adding’ scheme has not yet been incorporated in any of the aforementioned publicly available scripts, potentially leading researchers to underestimate the potential computational efficiency of the layout optimization method. As an indication of the dominance of SIMP over numerical layout optimization in terms of published educational source codes, only one of the 22 scripts listed by Wei et al (2018) employ the latter. In order to provide an accessible yet computationally efficient educational implementation of numerical layout optimization, this paper introduces a simple Python script. The paper is organized as follows: first, the mathematical layout optimization formulation is introduced; second, important code sections are explained; third, numerical examples are shown to demonstrate the efficacy of the script; conclusions are drawn

Single-load case problem
Multiple load case problem
Joint costs
Full problem
Adaptive ‘member adding’ scheme
Python implementation
Equilibrium matrix B
Solving the LP problem
Check dual violation
Visualization
Main workflow
Numerical examples
Effect of using the adaptive ‘member adding’ scheme
Alternative LP solvers
Change load and support conditions
Joint cost
Multiple load cases
Non-convex domain
Conclusions
Findings
Basic setup
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.