Skip to main content
Log in

A 168-line MATLAB code for topology optimization with the adaptive bubble method (ABM)

  • Educational Paper
  • Published:
Structural and Multidisciplinary Optimization Aims and scope Submit manuscript

Abstract

This paper presents a MATLAB code implementation of the Adaptive Bubble Method (ABM) published by Cai and Zhang (2020) for topology optimization. The ABM has the main feature of inserting deformable holes adaptively into the design domain to reflect the designer’s motto that “The art of structure is where to put the holes.” This method consists of three modules: (i). implicit description of holes with the closed B-spline (CBS) curve possessing high deformability; (ii). determination of optimal insertion points in each iteration using the topological derivative combined with a matrix operation-based searching scheme; (iii). fixed grid-based finite element analysis (FEA) using the ersatz material model. Representative numerical examples are tested to illustrate the implementation of the ABM. A compact 168-line MATLAB code is provided in the Appendix and explained in detail for educational purpose.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

References

Download references

Acknowledgements

The financial support for this work from National Natural Science Foundation of China (11702254, 12032018) and Key Science and Technology Program of Henan Province (212102210068). The authors would like to thank Professor Krister Svanberg for providing the MATLAB implementation of the Method of Moving Asymptotes algorithm used in this work.

Author information

Authors and Affiliations

Authors

Contributions

Daoyuan Yu wrote the original draft and the initial MATLAB code; Tong Gao contributed to the conception of this study and helped perform the optimization with constructive discussions; Shouyu Cai and Weihong Zhang contributed significantly to methodology development, manuscript modification and code streamlining, and both provided the project funding support for this work.

Corresponding author

Correspondence to Shouyu Cai.

Ethics declarations

Conflict of interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Reproducibility of results

The 168-line MATLAB code is provided in the Appendix, and can also be downloaded in the supplementary material. A more detailed implementation of the ABM is available upon request by email (caishouyu@zzu.edu.cn). The MMA algorithm we use here is Version September 2007 (and a small change August 2008) developed by Professor Krister Svanberg (krille@math.kth.se).

Additional information

Responsible editor: Xiaojia Shelly Zhang

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Supplementary Information

Below is the link to the electronic supplementary material.

Electronic supplementary material 1 (ZIP 4 kb)

Appendix

Appendix

figure b
figure c
figure d

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Yu, D., Cai, S., Gao, T. et al. A 168-line MATLAB code for topology optimization with the adaptive bubble method (ABM). Struct Multidisc Optim 66, 10 (2023). https://doi.org/10.1007/s00158-022-03403-w

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00158-022-03403-w

Keywords

Navigation