Predominantly solid-void three-dimensional topology optimisation using open source software
Thesis (MScEng (Mechanical and Mechatronic Engineering))--University of Stellenbosch, 2009.
Inspired by Sigmund’s 99-line MATLAB code for minimum compliance (maximum stiffness) topology optimisation, this thesis presents an open source software (OSS) version developed in Python, denoted ToPy. ToPy extends the 99-line code of Sigmund in a number of ways. Firstly, ToPy can solve three different problem types, namely minimum compliance, heat conduction and mechanism synthesis, in two-dimensional (2D) or three-dimensional (3D) space. This is accomplished by simply changing an input file. Secondly, by using established open source software (Pysparse and its iterative solver) for solving the sparse finite element (FE) systems of equations, the ToPy code provides improved speed and scalability. ToPy also provides for grey-scale filtering (GSF) to yield predominantly, or even purely, solid-void or black-and-white designs in 2D and 3D space. In addition, an exponential approximation to the objective function is implemented. This approximation is a generalisation of the reciprocal approximation so popular in structural optimisation; the values of the exponents may be based on gradient information in previously visited iterates, or fixed exponents may be prescribed, in the spirit of optimality criterion (OC) methods. As a further generalisation, the diagonal quadratic approximation to the exponential approximation in an SAO setting is also implemented. What is more: the diagonal quadratic approximation to the exponential approximation was successfully used in combination with GSF. This is a novelty of some importance as it was previously suggested that GSF can only be used in combination with strictly monotonic objective functions, like the reciprocal approximation.