An efficient 3D topology optimization code written in Matlab

This paper presents an efficient and compact Matlab code to solve three-dimensional topology optimization problems. The 169 lines comprising this code include finite element analysis, sensitivity analysis, density filter, optimality criterion optimizer, and display of results. The basic code solves minimum compliance problems. A systematic approach is presented to easily modify the definition of supports and external loads. The paper also includes instructions to define multiple load cases, active and passive elements, continuation strategy, synthesis of compliant mechanisms, and heat conduction problems, as well as the theoretical and numerical elements to implement general non-linear programming strategies such as SQP and MMA. The code is intended for students and newcomers in the topology optimization. The complete code is provided in Appendix C and it can be downloaded from http://top3dapp.com.

[1]  M. Bendsøe Optimal shape design as a material distribution problem , 1989 .

[2]  O. Sigmund Morphology-based black and white filters for topology optimization , 2007 .

[3]  A. Groenwold,et al.  A quadratic approximation for structural topology optimization , 2009 .

[4]  H. P. Mlejnek,et al.  Some aspects of the genesis of structures , 1992 .

[5]  C. S. Jog,et al.  Topology design of structures using a dual algorithm and a constraint on the perimeter , 2002 .

[6]  M. Zhou,et al.  The COC algorithm, Part II: Topological, geometrical and generalized shape optimization , 1991 .

[7]  Ole Sigmund,et al.  On the Design of Compliant Mechanisms Using Topology Optimization , 1997 .

[8]  J. Petersson,et al.  Numerical instabilities in topology optimization: A survey on procedures dealing with checkerboards, mesh-dependencies and local minima , 1998 .

[9]  Behrooz Hassani,et al.  Homogenization and Structural Topology Optimization , 1999 .

[10]  Claude Fleury,et al.  CONLIN: An efficient dual optimizer based on convex approximation concepts , 1989 .

[11]  Lfp Pascal Etman,et al.  A simple heuristic for gray-scale suppression in optimality criterion-based topology optimization , 2009 .

[12]  Ole Sigmund,et al.  A 99 line topology optimization code written in Matlab , 2001 .

[13]  James K. Guest,et al.  Achieving minimum length scale in topology optimization using nodal design variables and projection functions , 2004 .

[14]  Anders Clausen,et al.  Efficient topology optimization in MATLAB using 88 lines of code , 2011 .

[15]  Charles E. Augarde,et al.  An element-based displacement preconditioner for linear elasticity problems , 2006 .

[16]  Grégoire Allaire,et al.  Structural optimization with $\tt{FreeFem++}$ , 2006 .

[17]  R. Kohn,et al.  Optimal design and relaxation of variational problems, III , 1986 .

[18]  G. Paulino,et al.  PolyMesher: a general-purpose mesh generator for polygonal elements written in Matlab , 2012 .

[19]  Grégoire Allaire,et al.  Structural Optimization with FreeFem , 2006 .

[20]  Tomasz Sokół,et al.  A 99 line code for discretized Michell truss optimization written in Mathematica , 2011 .

[21]  M. Bendsøe,et al.  Topology Optimization: "Theory, Methods, And Applications" , 2011 .

[22]  James K. Guest,et al.  Eliminating beta-continuation from Heaviside projection and density filter algorithms , 2011 .

[23]  G. Allaire,et al.  Structural optimization using sensitivity analysis and a level-set method , 2004 .

[24]  G. Allaire,et al.  Shape optimization by the homogenization method , 1997 .

[25]  Glaucio H. Paulino,et al.  PolyTop: a Matlab implementation of a general topology optimization framework using unstructured polygonal finite element meshes , 2012 .

[26]  T. E. Bruns,et al.  A reevaluation of the SIMP method with filtering and an alternative formulation for solid–void topology optimization , 2005 .

[27]  Ole Sigmund,et al.  3D interactive topology optimization on hand-held devices , 2015 .

[28]  Pierre Duysinx,et al.  Layout Optimization : A Mathematical Programming Approach , 1997 .

[29]  Martin P. Bendsøe,et al.  Optimization of Structural Topology, Shape, And Material , 1995 .

[30]  Vivien J. Challis,et al.  A discrete level-set topology optimization code written in Matlab , 2010 .

[31]  C. S. Jog,et al.  A new approach to variable-topology shape design using a constraint on perimeter , 1996 .

[32]  T. E. Bruns,et al.  Topology optimization of non-linear elastic structures and compliant mechanisms , 2001 .

[33]  Grégoire Allaire,et al.  The homogenization method for topology and shape optimization. Single and multiple loads case , 1996 .

[34]  M. Bendsøe,et al.  Generating optimal topologies in structural design using a homogenization method , 1988 .

[35]  G. Allaire,et al.  Optimal design for minimum weight and compliance in plane stress using extremal microstructures , 1993 .

[36]  William Hunter,et al.  Predominantly solid-void three-dimensional topology optimisation using open source software , 2009 .

[37]  بهروز حسنی,et al.  Homogenization and Structural Topology Optimization, Theory, Practice and Software , 1999 .

[38]  Krishnan Suresh,et al.  A 199-line Matlab code for Pareto-optimal tracing in topology optimization , 2010 .

[39]  K. Svanberg The method of moving asymptotes—a new method for structural optimization , 1987 .

[40]  J. Korvink,et al.  Structure topology optimization: fully coupled level set method via FEMLAB , 2005 .

[41]  M. Hestenes,et al.  Methods of conjugate gradients for solving linear systems , 1952 .

[42]  Ole Sigmund,et al.  Interactive topology optimization on hand-held devices , 2012, Structural and Multidisciplinary Optimization.