  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 2020, 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 is demonstrated over a few structural design examples and some ideas
are given for possible extensions.
