Abstract
This paper presents a 390-line code written in ANSYS Parametric Design Language (APDL) for topology optimization of structures with multi-constraints. It adopts the bi-directional evolutionary structural optimization method with the proposed dynamic evolution rate strategy (DER-BESO) to accelerate the iteration convergence. The complete APDL program includes the modules of finite element modeling, element sensitivity calculation, Lagrange multiplier updating, and the element updating module using DER-BESO method. It allows users to conduct the finite element analysis and optimization iterations just in one platform without having to switch repeatedly between the finite element analysis software and the optimization program. Through a cantilever example, the evolution procedure of DER-BSEO is compared to the primary BESO method to show its better performance in convergence speed. Different constraint cases are also considered to examine the robustness of the DER_BESO program. Example extensions for 3D structures and periodic structures with geometric restraints are also presented and discussed. Since ANSYS is a powerful finite element analysis platform, the given code has a perspective of extending to the optimization of large-scale structures or more complicated optimization problems that consider nonlinear or buckling effects.
References
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
Bendsoe MP (1989) Optimal shape design as a material distribution problem. Struct Optim 1:193–202
Bendsoe MP, Kikuchi N (1988) Generating optimal topologies in structural design using a homogenization method. Comput Method Appl Mech Eng 71:197–224
Borrvall T (2001) Topology optimization of elastic continua using restriction. Arch Comput Meth Eng 8(4):351–385
Challis VJ (2010) A discrete level-set topology optimization code written in Matlab. Struct Multidisc Optim 41:453–464
Chu D, Xie YM, Hira A, Steven GP (1996) Evolutionary structural optimization for problems with stiffness constraints. Finite Elem Anal Des 21:239–251
Deaton JD, Grandhi RV (2014) A survey of structural and multidisciplinary continuum topology optimization: post 2000. Struct Multidisc Optim 49:1–38
Du J, Olhoff N (2007) Topological design of freely vibrating continuum structures for maximum values of simple and multiple eigenfrequencies and frequency gaps. Struct Multidiscip Optim 34:91–110
Huang X, Xie YM (2010a) A further review of ESO type methods for topology optimization. Struct Multidisc Optim 41:671–683
Huang X, Xie YM (2007) Convergent and mesh-independent solutions for the bidirectional evolutionary structural optimization method. Finite Elem Anal Des 43:1039–1049
Huang X, Zuo ZH, Xie YM (2010). Evolutionary topological optimization of vibrating continuum structures for natural frequencies. Comput Struct 2010; 88:357–364
Huang X, Xie YM (2010b) Evolutionary topology optimization of continuum structures with an additional displacement constraint. Struct Multidisc Optim 40:409–416
Liu K, Tovar A (2014) An efficient 3D topology optimization code written in Matlab. Struct Multidisc Optim 50:1175–1196
Jia HP, Misra A, Poorsolhjouy P, Liu C (2017) Optimal structural topology of materials with micro-scale tension-compression asymmetry simulated using granular micromechanics. Mater Design 115:422–432
Jog CS, Haber RB (1996) Stability of finite element models for distributed parameter optimization and topology design. Comput Methods Appl Mech Eng 130:203–226
Kim H, Garcia MJ, Querin OM, Steven GP, Xie YM (2000) Introduction of fixed grid in evolutionary structural optimisation. Eng Comput 17(4):427–439
Kim H, Querin OM, Steven GP, Xie YM (2002) Improving efficiency of evolutionary structural optimization by implementing fixed grid mesh. Struct Multidiscip Optim 24(6):441–448
Lekszycki T (2002) Modelling of bone adaptation based on an optimal response hypothesis. Meccanica 37:343–354
Li Q, Steven GP, Xie YM (2001) A simple checkerboard suppression algorithm for evolutionary structural optimization. Struct Multidisip Optim 22:230–239
Loyola RA, Querin QM, Jiménez AG, Gordoa CA (2018) A sequential element rejection and admission (SERA) topology optimization code written in Matlab. Struct Multidiscip Optim 58:1297–1310
Martinez JSM, Blasco X, Salceo JV (2009a) A new perspective on multiobjective optimization by enhanced normalized normal constraint method. Struct Multidiscip Optim 36:537–546
Martinez M, Garcia-Nieto S, Sanchis J, Blasco X (2009b) Genetic algorithms optimization for normalized normal constraint method under Pareto construction. Adv Eng Softw 40:260–267
Munk DJ, Vio GA, Steven GP (2017) A bi-directional evolutionary structural optimization algorithm with an added connectivity constraint. Finite Elem Anal Des 131:25–42
Osher SJ, Santosa F (2001) Level set methods for optimization problems involving geometry and constraints I. Frequencies of a two-density inhomogenous drum. J Comput Phys 171(1):272–288
Querin OM, Steven GP, Xie YM (1998) Evolutionary structural optimisation (ESO) using a bidirectional algorithm. Eng Comput 15(8):1031–1048
Querin OM (1997) Evolutionary structural optimization: stress based formulation and implementation. Ph.D. Thesis, University of Sydney
Rozvany G (2009) A critical review of established methods of structural topology optimization. Struct Multidiscip Optim 37:217–237
Rozvany GIN, Querin OM (2002) Combining ESO with rigorous optimality criteria. Int J Veh Des 28(4):294–299
Sethian JA, Wiegmann A (2000) Structural boundary design via level set and immersed interface methods. J Comput Phys 163(2):489–528
Sigmund O (2001) A 99 line topology optimization code written in Matlab. Struct Multidisc Optim 21:120–127
Sigmund O, Maute K (2013) Topology optimization approaches. A comparative review. Struct Multidiscip Optim 48:1031–1055
Suresh K (2010) A 199-line matlab code for pareto-optimal tracing in topology optimization. Struct Multidiscip Optim 42:665–679
Talischi C, Paulino GH, Pereira A, Menezes IFM (2012) PolyMesher: a general-purpose mesh generator for polygonal elements written in Matlab. Struct Multidiscip Optim 45:309–328
Xie YM, Steven GP (1993) A simple evolutionary procedure for structural optimization. Comput Struct 49(5):885–896
Xie YM, Steven GP (1997) Evolutionary structural optimization. Springer, London
Yang XY, Xie YM (1999) Bidirectional evolutionary method for stiffness optimization. AIAA J 37(11):1483–1488
Zegard T, Paulino GH (2014) GRAND - ground structure based topology optimization for arbitrary 2D domains using MATLAB. Struct Multidiscip Optim 50:861–882
Zegard T, Paulino GH (2015) GRAND3 - ground structure based topology optimization for arbitrary 3D domains using MATLAB. Struct Multidiscip Optim 52:1161–1184
Zegard T, Paulino GH (2016) Bridging topology optimization and additive manufacturing. Struct Multidiscip Optim 53:175–192
Zuo ZH, Xie YM, Huang XD (2012) Evolutionary topology optimization of structures with multiple displacement and frequency constraints. Adv Struct Eng 15(2):359–372
Zuo ZH, Xie YM (2014) Evolutionary topology optimization of continuum structures with a global displacement control. Comput Aided Des 56:58–67
Zuo ZH, Xie YM (2015) A simple and compact Python code for complex 3D topology optimization. Adv Eng Softw 85:1–11
Funding
The work described in this paper is fully supported by grants from the National Natural Science Foundation of China (51925802, 51478130) and the China Scholarship Council (201808440070).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Replication of results
The code for the main example, the topology optimization of a 2D cantilever beam, is available as Appendix at the end of this paper. The codes for other examples in this paper will be available on request at xuan@gzhu.edu.cn (An Xu).
Additional information
Responsible Editor: Raphael Haftka
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix Complete APDL code for the 2D cantilever example
Appendix Complete APDL code for the 2D cantilever example
Rights and permissions
About this article
Cite this article
Lin, H., Xu, A., Misra, A. et al. An ANSYS APDL code for topology optimization of structures with multi-constraints using the BESO method with dynamic evolution rate (DER-BESO). Struct Multidisc Optim 62, 2229–2254 (2020). https://doi.org/10.1007/s00158-020-02588-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00158-020-02588-2