Skip to main content
Log in

Applications of automatic differentiation in topology optimization

  • RESEARCH PAPER
  • Published:
Structural and Multidisciplinary Optimization Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

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

    Article  MathSciNet  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • D’Humieres D (1994) Generalized lattice Boltzmann equations. Prog Astronaut Aeronaut 159:450–458

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    MathSciNet  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • Sigmund O, Maute K (2013) Topology optimization approaches. Struct Multidiscip Optim 48(6):1031–1055. doi:10.1007/s00158-013-0978-6

    Article  MathSciNet  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • Ł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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • Ö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

    Article  MathSciNet  MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Sebastian A. Nørgaard.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00158-017-1708-2

Keywords

Navigation