Topology Optimization through Differentiable Finite Element Solver

In this paper, a topology optimization framework utilizing automatic differentiation is presented as an efficient way for solving 2D density-based topology optimization problem by calculating gradients through the fully differentiable finite element solver. The optimization framework with the differentiable physics solver is proposed and tested on several classical topology optimization examples. The differentiable solver is implemented in Julia programming language and can be automatically differentiated in reverse mode to provide the pullback functions of every single operation. The entire end-to-end gradient information can be then backed up by utilizing chain rule. This framework incorporates a generator built from convolutional layers with a set of learnable parameters to propose new designs for every iteration. Since the whole process is differentiable, the parameters of the generator can be updated using any optimization algorithm given the gradient information from automatic differentiation. The proposed optimization framework is demonstrated on designing a half MBB beam and compared to the results with the ones from the efficient 88-line code. By only changing the objective function and the boundary conditions, it can run an optimization for designing a compliant mechanism, e.g. a force inverter where the output displacement is in the opposite direction of the input.

[1]  Alan Edelman,et al.  A Differentiable Programming System to Bridge Machine Learning and Scientific Computing , 2019, ArXiv.

[2]  Y. Xie,et al.  Bidirectional Evolutionary Method for Stiffness Optimization , 1999 .

[3]  Stefanie Jegelka,et al.  ResNet with one-neuron hidden layers is a Universal Approximator , 2018, NeurIPS.

[4]  G. Allaire A review of adjoint methods for sensitivity analysis, uncertainty quantification and optimization in numerical codes , 2015 .

[5]  Douglas C. Montgomery,et al.  Response Surface Methodology: Process and Product Optimization Using Designed Experiments , 1995 .

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

[7]  J. L. Walsh,et al.  Efficient structural optimization for multiple load cases using adjoint sensitivities , 2001 .

[8]  Xiaoming Wang,et al.  A level set method for structural topology optimization , 2003 .

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

[10]  Michael Innes,et al.  Don't Unroll Adjoint: Differentiating SSA-Form Programs , 2018, ArXiv.

[11]  Miles Lubin,et al.  Forward-Mode Automatic Differentiation in Julia , 2016, ArXiv.

[12]  B. Bourdin Filters in topology optimization , 2001 .

[13]  Yoshua Bengio,et al.  Generative Adversarial Nets , 2014, NIPS.

[14]  Robert Hecht-Nielsen,et al.  Theory of the backpropagation neural network , 1989, International 1989 Joint Conference on Neural Networks.

[15]  Alexander N Gorban,et al.  The general approximation theorem , 1998, 1998 IEEE International Joint Conference on Neural Networks Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98CH36227).

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

[17]  Jimmy Ba,et al.  Adam: A Method for Stochastic Optimization , 2014, ICLR.

[18]  R. Haftka,et al.  Elements of Structural Optimization , 1984 .

[19]  R. Errico What is an adjoint model , 1997 .