Software

The following Python scripts are implementations of BESO for stiffness optimisation. The Python scripts take advantage of the advanced FEA capacities of the Abaqus* software and implement the Abaqus Scripting Interface (ASI).

These scripts are published in Zuo ZH, Xie YM (2015). A simple and compact Python code for complex 3D topology optimization. Advances in Engineering Software 85: 1-11. The source codes are explained in detail in this paper.

Python scripts available:

  • BESO_Basic.py [PY 5KB] (basic version of the Python code)
  • BESO_Adv_ML.py [PY 5KB] (advanced version with multiple load case capacities)
  • BESO_Adv_NL.py [PY 5KB] (advanced version with large deformation capacity)
  • PltResults.py [PY 2KB] (script for automatic display of optimised solution generated by the above scripts)

An improved version of the BESO 3D Python script is given below, which is much faster for large models.  Also provided are files of two example models (a 2D cantilever and a 3D bridge), created using Abaqus 2022.  The new Python script was written by Mr Yulin Xiong and Dr Xin Yan in 2023, based on the script BESO_Basic.py above.