How to consider global and local buckling modes Optimization with Optistruct


In this article we discuss one of the challenges of considering buckling as a constraint in Structural Optimization. 

Buckling modes are not all the same. When you are doing structural optimization, you want them to be taken into account and tracked properly to achieve to the optimal design.
With Altair OptiStruct you can constraint buckling modes and factors differently depending on them being "local" (affecting a small region of the structure) or "global" ( affecting a large region of the structure ).

To do that, you can feed the optimizer with some data about the modes so that it can separate the local from the global. These data (in other words, thresholds) is based on the eigenvector magnitude at the nodes and the number of elements whose nodes surpass this magnitude. 

BKLOCAL1 represents the magnitude threshold as seen in the OptiStruct documentation.

https://help.altair.com/hwsolvers/os/topics/solvers/os/doptprm_bklocal1_bulk_r.htm

BKLOCAL2 represents the number of elements threshold as seen in the corresponding article in the documentation. 

https://help.altair.com/hwsolvers/os/topics/solvers/os/doptprm_bklocal2_bulk_r.htm

In natural language, if the solver finds that one mode has a N number of elements higher than BKLOCAL2 whose nodal magnitude of the eigenvector is above BKLOCAL1, this mode will be identified as Global. Otherwise, it will be identified as local. 

Running your baseline and analyzing your results is always convenient before running structural optimization, and this scenario is no exception. In fact, I would recommend you do a little calibration to make sure the thresholds you define represent well the desired behaviour for your model. Be aware that BKLOCAL is defined in number of element, not magnitude so this parameter is mesh dependent. 

In addition to this, you will need to define a second bound in your design constraint (DCONSTR) for the local mode. The easiest way to define this is with HyperMesh, specially for the first time, since the entity editor shows which bound applies to the local and which bound to the global mode. 

Check the video below to see the workflow with the example model attached.