Skip to main content

Efficient MATLAB implementation of NURBS-based IGA and material design using isogeometric topology optimization

Abstract

In this paper, we present compact and efficient MATLAB codes for NURBS-based IGA and material design using isogeometric topology optimization. We make full use of the advantages of MATLAB in the vector and matrix computation and calculate the span indexes of and NURBS basis functions at multi-parameters simultaneously, so that the efficiency in generating IGA element and global stiffness matrices can be increased significantly. Based on the presented IGA MATLAB codes, we apply the IGA-based SIMP topology optimization into material design with extreme properties, such as shear modulus maximization and negative Poisson’s ratio, where the effective macroscopic elasticity tensor is calculated by the energy-based homogenization approach. Numerical examples demonstrate the efficiency of the presented codes in generating stiffness matrices and the effectiveness in material optimization design. All the codes are included as appendixes.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

References

  • Andreassen E, Andreasen CS (2014) How to determine composite material properties using numerical homogenization. Comput Mater Sci 83:488–495

    Article  Google Scholar 

  • Andreassen E, Clausen A, Schevenels M, Lazarov BS, Sigmund O (2011) Efficient topology optimization in MATLAB using 88 lines of code. Struct Multidiscip Optim 43:1–16

    MATH  Article  Google Scholar 

  • Bazilevs Y, Calo VM, Cottrell JA, Evans JA, Hughes TJR, Lipton S et al (2010) isogeometric analysis using T-splines. Comput Methods Appl Mech Eng 199:229–263

    MathSciNet  MATH  Article  Google Scholar 

  • Beirão da Veiga L, Buffa A, Cho D, Sangalli G (2011) IsoGeometric analysis using T-splines on two-patch geometries. Comput Methods Appl Mech Eng 200(21–22):1787–1803

    MathSciNet  MATH  Article  Google Scholar 

  • Bendsøe MP (1989) Optimal shape design as a material distribution problem. Struct Optim 1:193–202

    Google Scholar 

  • Bendsøe MP, Kikuchi N (1988) Generating optimal topologies in structural design using a homogenization method. Comput Methods Appl Mech Eng 71:197–224

    MathSciNet  MATH  Article  Google Scholar 

  • Bourdin B (2001) Filters in topology optimization. Int J Numer Meth Eng 50:2143–2158

    MathSciNet  MATH  Article  Google Scholar 

  • Bruyneel M, Duysinx P, Fleury C (2002) A family of MMA approximations for structural optimization. Struct Multidiscip Optim 24:263–276

    Article  Google Scholar 

  • Challis VJ (2010) A discrete level-set topology optimization code written in Matlab. Struct Multidiscip Optim 41:453–464

    MathSciNet  MATH  Article  Google Scholar 

  • Cottrell JA, Hughes TJ, Bazilevs Y (2009) Isogeometric analysis: toward integration of CAD and FEA. John Wiley & Sons, Hoboken

    MATH  Book  Google Scholar 

  • De Falco C, Reali A, Vázquez R (2011) GeoPDEs: a research tool for isogeometric analysis of PDEs. Adv Eng Softw 42:1020–1034

    MATH  Article  Google Scholar 

  • Dörfel MR, Jüttler B, Simeon B (2010) Adaptive isogeometric analysis by local h-refinement with T-splines. Comput Methods Appl Mech Eng 199:264–275

    MathSciNet  MATH  Article  Google Scholar 

  • Gai Y, Zhu X, Zhang YJ, Hou W, Ping H (2019) Explicit isogeometric topology optimization based on moving morphable voids with closed B-spline boundary curves. Struct Multidiscip Optim 61(3):963–982

    MathSciNet  Article  Google Scholar 

  • Gao J, Xue H, Gao L, Luo Z (2019) Topology optimization for auxetic metamaterials based on isogeometric analysis. Comput Methods Appl Mech Eng 352:211–236

    MathSciNet  MATH  Article  Google Scholar 

  • Guo X, Zhang W, Zhong W (2014) Doing Topology optimization explicitly and geometrically-a new moving morphable components based framework. J Appl Mech 81

  • Hassani B, Hinton E (1998) A review of homogenization and topology optimization I-homogenization theory for media with periodic structure. Comput Struct 69:707–717

    MATH  Article  Google Scholar 

  • Hassani B, Khanzadi M, Tavakkoli SM (2012) An isogeometrical approach to structural topology optimization by optimality criteria. Struct Multidiscip Optim 45:223–233

    MathSciNet  MATH  Article  Google Scholar 

  • Herrero D, Martínez J, Martí P (2013) An implementation of level set based topology optimization using GPU. In: 10th World Congress on Structural and Multidisciplinary Optimization, Orlando, Florida, USA, p 1–10

  • Hou W, Gai Y, Zhu X, Wang X, Zhao C, Xu L et al (2017) Explicit isogeometric topology optimization using moving morphable components. Comput Methods Appl Mech Eng 326:694–712

    MathSciNet  MATH  Article  Google Scholar 

  • Hughes TJ, Cottrell JA, Bazilevs Y (2005) Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Comput Methods Appl Mech Eng 194:4135–4195

    MathSciNet  MATH  Article  Google Scholar 

  • Hunter, W (2017) Topy-Topology optimization with Python. GitHub Repository

  • Jahangiry HA, Tavakkoli SM (2017) An isogeometrical approach to structural level set topology optimization. Comput Methods Appl Mech Eng 319:240–257

    MathSciNet  MATH  Article  Google Scholar 

  • Karatarakis A, Karakitsios P, Papadrakakis M (2014) GPU accelerated computation of the isogeometric analysis stiffness matrix. Comput Methods Appl Mech Eng 269:334–355

    MathSciNet  MATH  Article  Google Scholar 

  • Lazarov BS, Sigmund O (2011) Filters in topology optimization based on Helmholtz-type differential equations. Int J Numer Meth Eng 86:765–781

    MathSciNet  MATH  Article  Google Scholar 

  • Li L, Khandelwal K (2015) Volume preserving projection filters and continuation methods in topology optimization. Eng Struct 85:144–161

    Article  Google Scholar 

  • Li K, Qian X (2011) Isogeometric analysis and shape optimization via boundary integral. Comput Aided Des 43:1427–1437

    Article  Google Scholar 

  • Michel J-C, Moulinec H, Suquet P (1999) Effective properties of composite materials with periodic microstructure: a computational approach. Comput Methods Appl Mech Eng 172:109–143

    MathSciNet  MATH  Article  Google Scholar 

  • Munk DJ, Kipouros T, Vio GA (2019) Multi-physics bi-directional evolutionary topology optimization on GPU-architecture. Eng Comput 35:1059–1079

    Article  Google Scholar 

  • Nguyen VP, Anitescu C, Bordas SP, Rabczuk T (2015) Isogeometric analysis: an overview and computer implementation aspects. Math Comput Simul 117:89–116

    MathSciNet  MATH  Article  Google Scholar 

  • Nguyen-Xuan H, Hoang T, Nguyen VP (2014) An isogeometric analysis for elliptic homogenization problems. Comput Math Appl 67:1722–1741

    MathSciNet  MATH  Article  Google Scholar 

  • Perez RE, Jansen PW, Martins JRRA (2012) pyOpt: a Python-based object-oriented framework for nonlinear constrained optimization. Struct Multidiscip Optim 45:101–118

    MathSciNet  MATH  Article  Google Scholar 

  • Piegl L, Tiller W. The NURBS Book. 2nd Edition, 1997.

  • Querin OM, Steven GP, Xie YM (1998) Evolutionary structural optimisation (ESO) using a bidirectional algorithm. Eng Comput 15:1031–1048

    MATH  Article  Google Scholar 

  • Ratnani A, Sonnendrücker E (2012) Isogeometric analysis in reduced magnetohydrodynamics. Comput Sci Discov 5:014007

    Article  Google Scholar 

  • Rypl D, Patzák B (2012) From the finite element analysis to the isogeometric analysis in an object oriented computing environment. Adv Eng Softw 44:116–125

    Article  Google Scholar 

  • Schillinger D, Rank E (2011) An unfitted hp-adaptive finite element method based on hierarchical B-splines for interface problems of complex geometry. Comput Methods Appl Mech Eng 200:3358–3380

    MathSciNet  MATH  Article  Google Scholar 

  • Schillinger D, Dede L, Scott MA, Evans JA, Borden MJ, Rank E et al (2012) An isogeometric design-through-analysis methodology based on adaptive hierarchical refinement of NURBS, immersed boundary methods, and T-spline CAD surfaces. Comput Methods Appl Mech Eng 249:116–150

    MathSciNet  MATH  Article  Google Scholar 

  • Schmidt S, Schulz V (2011) A 2589 line topology optimization code written for the graphics card. Comput vis Sci 14:249–256

    MathSciNet  MATH  Article  Google Scholar 

  • Scott MA, Li X, Sederberg TW, Hughes TJR (2012) Local refinement of analysis-suitable T-splines. Comput Methods Appl Mech Eng 213–216:206–222

    MathSciNet  MATH  Article  Google Scholar 

  • Seo Y-D, Kim H-J, Youn S-K (2010) Isogeometric topology optimization using trimmed spline surfaces. Comput Methods Appl Mech Eng 199:3270–3296

    MathSciNet  MATH  Article  Google Scholar 

  • Sigmund O (1994) Materials with prescribed constitutive parameters: an inverse homogenization problem. Int J Solids Struct 31:2313–2329

    MathSciNet  MATH  Article  Google Scholar 

  • Sigmund O (2001) A 99 line topology optimization code written in Matlab. Struct Multidiscip Optim 21:120–127

    Article  Google Scholar 

  • Svanberg K (1987) The method of moving asymptotes-a new method for structural optimization. Int J Numer Meth Eng 24:359–373

    MathSciNet  MATH  Article  Google Scholar 

  • Uhm T-K, Youn S-K (2009) T-spline finite element method for the analysis of shell structures. Int J Numer Meth Eng 80:507–536

    MathSciNet  MATH  Article  Google Scholar 

  • Versprille KJ (1975) Computer-aided design applications of the rational B-Spline approximation form. Syracuse University, Newyork

    Google Scholar 

  • Vuong A-V, Heinrich C, Simeon B (2010) ISOGAT: A 2D tutorial MATLAB code for isogeometric analysis. Comput Aided Geom Des 27:644–655

    MathSciNet  MATH  Article  Google Scholar 

  • Vuong A-V, Giannelli C, Jüttler B, Simeon B (2011) A hierarchical approach to adaptive local refinement in isogeometric analysis. Comput Methods Appl Mech Eng 200:3554–3567

    MathSciNet  MATH  Article  Google Scholar 

  • Wang Y, Benson DJ (2016) Isogeometric analysis for parameterized LSM-based structural topology optimization. Comput Mech 57:19–35

    MathSciNet  MATH  Article  Google Scholar 

  • Wang MY, Wang X, Guo D (2003) A level set method for structural topology optimization. Comput Methods Appl Mech Eng 192:227–246

    MathSciNet  MATH  Article  Google Scholar 

  • Wang F, Lazarov BS, Sigmund O (2011) On projection methods, convergence and robust formulations in topology optimization. Struct Multidiscip Optim 43:767–784

    MATH  Article  Google Scholar 

  • Wei X, Zhang Y, Liu L, Hughes TJ (2017) Truncated T-splines: fundamentals and methods. Comput Methods Appl Mech Eng 316:349–372

    MathSciNet  MATH  Article  Google Scholar 

  • Wei P, Li Z, Li X, Wang MY (2018) An 88-line MATLAB code for the parameterized level set method based topology optimization using radial basis functions. Struct Multidiscip Optim 58:831–849

    MathSciNet  Article  Google Scholar 

  • Xia L, Breitkopf P (2015) Design of materials using topology optimization and energy-based homogenization approach in Matlab. Struct Multidiscip Optim 52:1229–1241

    MathSciNet  Article  Google Scholar 

  • Xie YM, Steven GP (1993) A simple evolutionary procedure for structural optimization. Comput Struct 49:885–896

    Article  Google Scholar 

  • Zhang W, Yuan J, Zhang J, Guo X (2016) A new topology optimization approach based on Moving Morphable Components (MMC) and the ersatz material model. Struct Multidiscip Optim 53:1243–1260

    MathSciNet  Article  Google Scholar 

  • Zhang W, Yang W, Zhou J, Li D, Guo X (2016) Structural topology optimization through explicit boundary evolution. J Appl Mech 84(1)

  • Zhu X, Hu P, Ma Z-D (2016) B++ splines with applications to isogeometric analysis. Comput Methods Appl Mech Eng 311:503–536

    MathSciNet  MATH  Article  Google Scholar 

Download references

Acknowledgements

This work was funded by National Natural Science Foundation of China (No. 11272075) and China Postdoctoral Science Foundation (No. 2020M681795). These financial supports are gratefully acknowledged. The authors also would like to thank the valuable suggestions from Dr. Xuan Wang and Dr. Jie Gao.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jian Xing.

Additional information

Publisher's Note

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

Appendices

Appendix A: FindSpans function (25 lines)

figure c

Appendix B: Der1BasisFuns function (39 lines)

figure d

Appendix C: gstps function (36 lines)

figure e

Appendix D: IGA_KE function (74 lines)

figure f
figure g

Appendix E: top_IGA_Homo function (144 lines)

figure h
figure i
figure j
figure k

Rights and permissions

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Gai, Y., Xing, J. & Hu, P. Efficient MATLAB implementation of NURBS-based IGA and material design using isogeometric topology optimization. Optim Eng (2022). https://doi.org/10.1007/s11081-022-09752-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11081-022-09752-1

Keywords

  • Isogeometric analysis
  • Homogenization
  • Topology optimization
  • Material design
  • MATLAB