Abstract
The goal of this article is to demonstrate the applicability and to discuss the advantages and disadvantages of automatic differentiation in topology optimization. The technique makes it possible to wholly or partially automate the evaluation of derivatives for optimization problems and is demonstrated on two separate, previously published types of problems in topology optimization. Two separate software packages for automatic differentiation, CoDiPack and Tapenade are considered, and their performance and usability trade-offs are discussed and compared to a hand coded adjoint gradient evaluation process. Finally, the resulting optimization framework is verified by applying it to a non-trivial unsteady flow topology optimization problem.
Similar content being viewed by others
References
Aage N, Andreassen E, Lazarov BS (2015) Topology optimization using PETSc: an easy-to-use, fully parallel, open source topology optimization framework. Struct Multidiscip Optim 51(3):565–572. doi:10.1007/s00158-014-1157-0
Albring T, Sagebaum M, Gauger N (2015a) Development of a consistent discrete adjoint solver in an evolving aerodynamic design framework. AIAA 2015-3240
Albring T, Zhou B, Gauger N, Sagebaum M (2015b) An aerodynamic design framework based on algorithmic differentiation. ERCOFTAC Bulletin 102:10–16
Albring T, Sagebaum M, Gauger NR (2016) Efficient aerodynamic design using the discrete adjoint method in su2. In: 17th AIAA/ISSMO multidisciplinary analysis and optimization conference
Asinari P (2006) Semi-implicit-linearized multiple-relaxation-time formulation of lattice Boltzmann schemes for mixture modeling. Phys Rev E 73(5):056,705. doi:10.1103/PhysRevE.73.056705
AutoDiff website (2016) Autodiff.org: Community portal for automatic differentiation. http://www.autodiff.org, accessed: 2016-10- 18
Balay S, Abhyankar S, Adams MF, Brown J, Brune P, Buschelman K, Dalcin L, Eijkhout V, Gropp WD, Kaushik D, Knepley MG, McInnes LC, Rupp K, Smith BF, Zampini S, Zhang H, Zhang H (2016a) PETSC users manual. Tech. Rep. ANL-95/11 - revision 3.7, argonne national laboratory, http://www.mcs.anl.gov/petsc
Balay S, Abhyankar S, Adams MF, Brown J, Brune P, Buschelman K, Dalcin L, Eijkhout V, Gropp WD, Kaushik D, Knepley MG, McInnes LC, Rupp K, Smith BF, Zampini S, Zhang H, Zhang H (2016b) PETSC Web page. http://www.mcs.anl.gov/petsc
Bartoloni A, Battista C, Cabasino S, Paolucci P, Pech J, Sarno S, Todesco G, Torelli M, Tross W, Vicini P, Benzi R, Cabibbo N, Massaioli F, Tripiccione R (1993) LBE Simulations of Rayleigh-Benard convection on the APE100 parallel processor. Int J ModPhys C Phys Comput 4(5):993–1006. doi:10.1142/S012918319300077X
Bendsøe MP, Sigmund O (2004) Topology optimization: theory, methods and applications. Springer
Bhatnagar P L, Gross E P, Krook M (1954) A model for collision processes in gases. I: Small amplitude processes in charged and neutral one-component systems. Phys Rev 94(3)
Borrvall T, Petersson J (2003) Topology optimization of fluids in stokes flow. Int J Numer Methods Fluids 41(1):77–107. doi:10.1002/fld.426
CoDiPack website (2016) Codipack—code differentiation package. http://www.scicomp.uni-kl.de/software/codi/, accessed: 2016-10-18
Dahl J, Jensen J S, Sigmund O (2008) Topology optimization for transient wave propagation problems in one dimension. Struct Multidiscip Optim 36:585–595
D’Humieres D (1994) Generalized lattice Boltzmann equations. Prog Astronaut Aeronaut 159:450–458
Elesin Y, Lazarov B, Jensen J, Sigmund O (2012) Design of robust and efficient photonic switches using topology optimization. Photonics Nanostruct Fundam Appl 10(1):153–165. doi:10.1016/j.photonics.2011.10.003
Elesin Y, Lazarov B, Jensen J, Sigmund O (2014) Time domain topology optimization of 3d nanophotonic devices. Photonics Nanostruct Fundam Appl 12(1):23–33. doi:10.1016/j.photonics.2013.07.008
Geier M, Greiner A, Korvink JG (2006) Cascaded digital lattice Boltzmann automata for high Reynolds number flow. Phys Rev E 73(6):066,705. doi:10.1103/PhysRevE.73.066705
Griewank A, Walther A (2000) Algorithm 799: revolve: an implementation of checkpointing for the reverse or adjoint mode of computational differentiation. Acm Trans Math Softw 26(1):19–45. doi:10.1145/347837.347846
Griewank A, Walther A (2008) Automatic differentiation of algorithms. SIAM
Guennebaud G, Jacob B, et al. (2010) Eigen v3. http://eigen.tuxfamily.org
Guest JK, Prévost JH, Belytschko T (2004) Achieving minimum length scale in topology optimization using nodal design variables and projection functions. Int J Numer Methods Eng 61(2):238–254. doi:10.1002/nme.1064
Guo Z, Shi B, Zheng C (2002) A coupled lattice BGK model for the Boussinesq equations. Int J Numer Methods Fluids 39(4):325–342. doi:10.1002/fld.337
Hascoët L, Pascual V (2013) The tapenade automatic differentiation tool: principles, model, and specification. ACM Transactions Mathematical Software 39(3), 10.1145/2450153.2450158
Hogan RJ (2014) Fast reverse-mode automatic differentiation using expression templates in C++. ACM Trans Math Softw (toms) 40(4):1–16. doi:10.1145/2560359
Inamuro T, Yoshino M, Ogino F (1995) A non-slip boundary-condition for lattice boltzmann simulations. Phys Fluids 7(12):2928–2930. doi:10.1063/1.868766
Junk M, Yang Z (2008) Outflow boundary conditions for the lattice Boltzmann method. Progress in Computational Fluid Dynamics 8(1–4):38–48. doi:10.1504/PCFD.2008.018077
Krause MJ, Heuveline V (2013) Parallel fluid flow control and optimisation with lattice Boltzmann methods and automatic differentiation. Computers and Fluids 80:28–36. doi:10.1016/j.compfluid.2012.07.026
Kreissl S, Pingen G, Maute K (2011) Topology optimization for unsteady flow. Int J Numer Methods Eng 87(13):1229–1253. doi:10.1002/nme.3151
Ladd A, Verberg R (2001) Lattice-Boltzmann simulations of particle-fluid suspensions. J Stat Phys 104 (5-6):1191–1251. doi:10.1023/A:1010414013942
Latt J, Chopard B (2006) Lattice Boltzmann method with regularized pre-collision distribution functions. Math Comput Simul 72(2-6):165–168. doi:10.1016/j.matcom.2006.05.017
Latt J, Chopard B, Malaspinas O, Deville M, Michler A (2008) Straight velocity boundaries in the lattice Boltzmann method. Phys Rev E 77(5):056,703. doi:10.1103/PhysRevE.77.056703
Lazarov B, Matzen R, Elesin Y (2011) Topology optimization of pulse shaping filters using the hilbert transform envelope extraction. Struct Multidiscip Optim 44:409–419. doi:10.1007/s00158-011-0642-y
Lin S, Zhao L, Guest JK, Weihs TP, Liu Z (2015) Topology optimization of fixed-geometry fluid diodes. J Mech Des 137(8):081,402. doi:10.1115/1.4030297
Liu G, Geier M, Liu Z, Krafczyk M, Chen T (2014) Discrete adjoint sensitivity analysis for fluid flow topology optimization based on the generalized lattice Boltzmann method. Computers and Mathematics With Applications 68(10):1374–1392. doi:10.1016/j.camwa.2014.09.002
Mezrhab A, Moussaoui MA, Jami M, Naji H, Bouzidi M (2010) Double MRT thermal lattice Boltzmann method for simulating convective flows. Phys Lett A 374(34):3499–3507. doi:10.1016/j.physleta.2010.06.059
Nemili A, Özkaya E, Gauger NR, Kramer F, Höll T, Thiele F (2014) Optimal design of active flow control for a complex high-lift configuration. In: Proceedings of 7th AIAA flow control conference, 2014-2515
Nørgaard S, Sigmund O, Lazarov B (2016) Topology optimization of unsteady flow problems using the lattice Boltzmann method. J Comput Phys 307:291 – 307. doi:10.1016/j.jcp.2015.12.023
Parker J (2008) A novel lattice Boltzmann method for treatment of multicomponent convection, diffusion and reaction phenomena in multiphase systems. PhD thesis, Oregon State University
Sagebaum M, Gauger NR, Naumann U, Lotz J, Leppkes K (2013) Algorithmic differentiation of a complex C++ code with underlying libraries. Procedia Computer Science 18:208–217. doi:10.1016/j.procs.2013.05.184
Sigmund O, Maute K (2013) Topology optimization approaches. Struct Multidiscip Optim 48(6):1031–1055. doi:10.1007/s00158-013-0978-6
Spaid M, Phelan F (1997) Lattice boltzmann methods for modeling microscale flow in fibrous porous media. Phys Fluids 9(9):2468–2474. doi:10.1063/1.869392
Succi S (2001) The lattice Boltzmann equation for fluid dynamics and beyond. Oxford University Press
Tapenade website (2016) Tapenade on-line automatic differentiation engine. http://www-tapenade.inria.fr:8080/tapenade/index.jsp, accessed: 2016-10-18
Wang Q, Moin P, Iaccarino G (2009) Minimal repetition dynamic checkpointing algorithm for unsteady adjoint calculation. SIAM J Sci Comput 31(4):2549–2567. doi:10.1137/080727890
Łaniewski Wołłstrok L, Rokicki J (2016) Adjoint lattice Boltzmann for topology optimization on multi-gpu architecture. Computers and Mathematics With Applications 71(3):833–848. doi:10.1016/j.camwa.2015.12.043
Zhou BY, Albring T, Gauger NR, Illario da Silva C R, Economon T D, Alonso JJ A discrete adjoint approach for jet-flap interaction noise reduction. In: Proceedings of 58th AIAA/ASCE/AHS/ASC structures, structural dynamics, and materials conference. AIAA SciTech Forum, AIAA, 2017- 0130
Zhu J, Ma J (2013) An improved gray lattice Boltzmann model for simulating fluid flow in multi-scale porous media. Adv Water Resour 56:61–76. doi:10.1016/j.advwatres.2013.03.001
Özkaya E, Hay JA, Gauger NR, Schönwald N, Thiele F (2016) A two-level approach for design optimization of acoustic liners. In: Proceedings of 9th international conference on computational fluid dynamics, ICCFD9-2016- 184
Zou Q, He X (1997) On pressure and velocity boundary conditions for the lattice Boltzmann BGK model. Phys Fluids 9(6):1591–1598. doi:10.1063/1.869307
Acknowledgements
The first author would like to acknowledge the generous help and fruitful discussion offered by Emre Özkaya and Tim Albring at TU Kaiserslautern. The first and the last authors acknowledge the financial support received from the TopTen project sponsored by the Danish Council for Independent Research (DFF-4005-00320).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Nørgaard, S.A., Sagebaum, M., Gauger, N.R. et al. Applications of automatic differentiation in topology optimization. Struct Multidisc Optim 56, 1135–1146 (2017). https://doi.org/10.1007/s00158-017-1708-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00158-017-1708-2