Topology optimization with linearized buckling criteria in 250 lines of Matlab

We present a 250-line Matlab code for topology optimization for linearized buckling criteria. The code is conceived to handle stiffness, volume and buckling load factors (BLFs) either as the objective function or as constraints. We use the Kreisselmeier-Steinhauser aggregation function in order to r...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Structural and multidisciplinary optimization 2021-06, Vol.63 (6), p.3045-3066
Hauptverfasser: Ferrari, Federico, Sigmund, Ole, Guest, James K.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:We present a 250-line Matlab code for topology optimization for linearized buckling criteria. The code is conceived to handle stiffness, volume and buckling load factors (BLFs) either as the objective function or as constraints. We use the Kreisselmeier-Steinhauser aggregation function in order to reduce multiple objectives (viz. constraints) to a single, differentiable one. Then, the problem is sequentially approximated by using MMA-like expansions and an OC-like scheme is tailored to update the variables. The inspection of the stress stiffness matrix leads to a vectorized implementation for its efficient construction and for the sensitivity analysis of the BLFs. This, coupled with the efficiency improvements already presented by Ferrari and Sigmund ( Struct Multidiscip Optim 62:2211–2228, 2020a ), cuts all the computational bottlenecks associated with setting up the buckling analysis and allows buckling topology optimization problems of an interesting size to be solved on a laptop. The efficiency and flexibility of the code are demonstrated over a few structural design examples and some ideas are given for possible extensions.
ISSN:1615-147X
1615-1488
DOI:10.1007/s00158-021-02854-x