Skip to main content
Log in

A MATLAB code for the material-field series-expansion topology optimization method

  • Research Article
  • Published:
Frontiers of Mechanical Engineering Aims and scope Submit manuscript

Abstract

This paper presents a MATLAB implementation of the material-field series-expansion (MFSE) topology optimization method. The MFSE method uses a bounded material field with specified spatial correlation to represent the structural topology. With the series-expansion method for bounded fields, this material field is described with the characteristic base functions and the corresponding coefficients. Compared with the conventional density-based method, the MFSE method decouples the topological description and the finite element discretization, and greatly reduces the number of design variables after dimensionality reduction. Other features of this method include inherent control on structural topological complexity, crisp structural boundary description, mesh independence, and being free from the checkerboard pattern. With the focus on the implementation of the MFSE method, the present MATLAB code uses the maximum stiffness optimization problems solved with a gradient-based optimizer as examples. The MATLAB code consists of three parts, namely, the main program and two subroutines (one for aggregating the optimization constraints and the other about the method of moving asymptotes optimizer). The implementation of the code and its extensions to topology optimization problems with multiple load cases and passive elements are discussed in detail. The code is intended for researchers who are interested in this method and want to get started with it quickly. It can also be used as a basis for handling complex engineering optimization problems by combining the MFSE topology optimization method with non-gradient optimization algorithms without sensitivity information because only a few design variables are required to describe relatively complex structural topology and smooth structural boundaries using the MFSE method.

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.

Similar content being viewed by others

Abbreviations

LOBPCG:

Locally optimal block preconditioned conjugate gradient

MBB:

Messerschmitt-Bölkow-Blohm

MFSE:

Material-field series-expansion

MMA:

Method of moving asymptotes

c(x a, x b):

Correlation function that describes the correlation between φ(xa) and φ(xb)

C :

Correlation matrix

E(x):

Interpolated material’s Young’s modulus

l c :

User-specified correlation length

J :

Objective function

K :

System stiffness matrix

N pt :

Number of the material-field points

\(\overline V \) :

Specified material usage

V solid :

Volume of the material

x :

Spatial coordinate of a point within the structural design domain

ε :

Truncation error in the material-field series expansion

β :

Parameter that controls the steepness of the projection function

η :

Vector form of the design variables

η k :

Material-field series-expansion coefficients

φ(x):

Bounded material field

\(\tilde \varphi ({\boldsymbol{x}})\) :

Projected material field

λ k :

Eigenvalues of the correlation matrix

ψ k :

Eigenvectors of the correlation matrix

References

  1. Bendsøe M P, Kikuchi N. Generating optimal topologies in structural design using a homogenization method. Computer Methods in Applied Mechanics and Engineering, 1988, 71(2): 197–224

    Article  MathSciNet  Google Scholar 

  2. Bendsøe M P. Optimal shape design as a material distribution problem. Structural Optimization, 1989, 1(4): 193–202

    Article  Google Scholar 

  3. Rozvany G I N, Zhou M, Birker T. Generalized shape optimization without homogenization. Structural Optimization, 1992, 4(3–4): 250–252

    Article  Google Scholar 

  4. Wang M Y, Wang X, Guo D. A level set method for structural topology optimization. Computer Methods in Applied Mechanics and Engineering, 2003, 192(1–2): 227–246

    Article  MathSciNet  Google Scholar 

  5. Allaire G, Jouve F, Toader A. Structural optimization using sensitivity analysis and a level-set method. Journal of Computational Physics, 2004, 194(1): 363–393

    Article  MathSciNet  Google Scholar 

  6. Xie Y M, Steven G P. A simple evolutionary procedure for structural optimization. Computers & Structures, 1993, 49(5): 885–896

    Article  Google Scholar 

  7. Huang X, Xie Y M. Bi-directional evolutionary topology optimization of continuum structures with one or multiple materials. Computational Mechanics, 2009, 43(3): 393–401

    Article  MathSciNet  Google Scholar 

  8. Sigmund O, Maute K. Topology optimization approaches. Structural and Multidisciplinary Optimization, 2013, 48(6): 1031–1055

    Article  MathSciNet  Google Scholar 

  9. van Dijk N P, Maute K, Langelaar M, et al. Level-set methods for structural topology optimization: A review. Structural and Multidisciplinary Optimization, 2013, 48(3): 437–472

    Article  MathSciNet  Google Scholar 

  10. Huang X, Xie Y M. A further review of ESO type methods for topology optimization. Structural and Multidisciplinary Optimization, 2010, 41(5): 671–683

    Article  Google Scholar 

  11. Sigmund O A. 99 line topology optimization code written in MATLAB. Structural and Multidisciplinary Optimization, 2001, 21(2): 120–127

    Article  Google Scholar 

  12. Andreassen E, Clausen A, Schevenels M, et al. Efficient topology optimization in MATLAB using 88 lines of code. Structural and Multidisciplinary Optimization, 2011, 43(1): 1–16

    Article  Google Scholar 

  13. Suresh K. A 199-line MATLAB code for Pareto-optimal tracing in topology optimization. Structural and Multidisciplinary Optimization, 2010, 42(5): 665–679

    Article  MathSciNet  Google Scholar 

  14. Otomori M, Yamada T, Izui K, et al. MATLAB code for a level set-based topology optimization method using a reaction diffusion equation. Structural and Multidisciplinary Optimization, 2015, 51(5): 1159–1172

    Article  MathSciNet  Google Scholar 

  15. Xia L, Breitkopf P. Design of materials using topology optimization and energy-based homogenization approach in MATLAB. Structural and Multidisciplinary Optimization, 2015, 52(6): 1229–1241

    Article  MathSciNet  Google Scholar 

  16. Challis V J. A discrete level-set topology optimization code written in MATLAB. Structural and Multidisciplinary Optimization, 2010, 41(3): 453–464

    Article  MathSciNet  Google Scholar 

  17. Liu K, Tovar A. An efficient 3D topology optimization code written in MATLAB. Structural and Multidisciplinary Optimization, 2014, 50(6): 1175–1196

    Article  MathSciNet  Google Scholar 

  18. Talischi C, Paulino G H, Pereira A, et al. PolyTop: A MATLAB implementation of a general topology optimization framework using unstructured polygonal finite element meshes. Structural and Multidisciplinary Optimization, 2012, 45(3): 329–357

    Article  MathSciNet  Google Scholar 

  19. Wei P, Li Z Y, Li X P, et al. An 88-line MATLAB code for the parameterized level set method based topology optimization using radial basis functions. Structural and Multidisciplinary Optimization, 2018, 58(2): 831–849

    Article  MathSciNet  Google Scholar 

  20. Luo Y, Bao J. A material-field series-expansion method for topology optimization of continuum structures. Computers & Structures, 2019, 225: 106122

    Article  Google Scholar 

  21. Luo Y, Xing J, Kang Z. Topology optimization using material-field series expansion and Kriging-based algorithm: An effective nongradient method. Computer Methods in Applied Mechanics and Engineering, 2020, 364: 112966

    Article  MathSciNet  Google Scholar 

  22. Svanberg K. The method of moving asymptotes—A new method for structural optimization. International Journal for Numerical Methods in Engineering, 1987, 24(2): 359–373

    Article  MathSciNet  Google Scholar 

  23. Luo Y J, Zhan J J, Xing J, et al. Non-probabilistic uncertainty quantification and response analysis of structures with a bounded field model. Computer Methods in Applied Mechanics and Engineering, 2019, 347: 663–678

    Article  MathSciNet  Google Scholar 

  24. Guest J K, Prevost J, Belytschko T. Achieving minimum length scale in topology optimization using nodal design variables and projection functions. International Journal for Numerical Methods in Engineering, 2004, 61(2): 238–254

    Article  MathSciNet  Google Scholar 

  25. Knyazev A V, Argentati M E, Lashuk I, et al. Block locally optimal preconditioned eigenvalue xolvers (BLOPEX) in HYPRE and PETSc. SIAM Journal on Scientific Computing, 2007, 29(5): 2224–2239

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

The authors acknowledge the support of the National Key R&D Program of China (Grant No. 2017YFB0203604), the National Natural Science Foundation of China (Grant Nos. 11902064 and 11772077), and the Liaoning Revitalization Talents Program, China (Grant No. XLYC1807187). The authors are grateful to members of the iDEAS group for their testing of the code.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yangjun Luo.

Electronic supplementary material

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Liu, P., Yan, Y., Zhang, X. et al. A MATLAB code for the material-field series-expansion topology optimization method. Front. Mech. Eng. 16, 607–622 (2021). https://doi.org/10.1007/s11465-021-0637-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11465-021-0637-3

Keywords

Navigation