Skip to main content
Log in

Multi-physics bi-directional evolutionary topology optimization on GPU-architecture

  • Original Article
  • Published:
Engineering with Computers Aims and scope Submit manuscript

Abstract

Topology optimization has proven to be viable for use in the preliminary phases of real world design problems. Ultimately, the restricting factor is the computational expense since a multitude of designs need to be considered. This is especially imperative in such fields as aerospace, automotive and biomedical, where the problems involve multiple physical models, typically fluids and structures, requiring excessive computational calculations. One possible solution to this is to implement codes on massively parallel computer architectures, such as graphics processing units (GPUs). The present work investigates the feasibility of a GPU-implemented lattice Boltzmann method for multi-physics topology optimization for the first time. Noticeable differences between the GPU implementation and a central processing unit (CPU) version of the code are observed and the challenges associated with finding feasible solutions in a computational efficient manner are discussed and solved here, for the first time on a multi-physics topology optimization problem. The main goal of this paper is to speed up the topology optimization process for multi-physics problems without restricting the design domain, or sacrificing considerable performance in the objectives. Examples are compared with both standard CPU and various levels of numerical precision GPU codes to better illustrate the advantages and disadvantages of this implementation. A structural and fluid objective topology optimization problem is solved to vary the dependence of the algorithm on the GPU, extending on the previous literature that has only considered structural objectives of non-design dependent load problems. The results of this work indicate some discrepancies between GPU and CPU implementations that have not been seen before in the literature and are imperative to the speed-up of multi-physics topology optimization algorithms using GPUs.

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
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24

Similar content being viewed by others

References

  1. Abrahamson S, Lonnes S (1995) Uncertainty in calculating vorticity from 2D velocity fields using circulation and least-squares approach. Exp Fluids 20:10–20

    Article  Google Scholar 

  2. Aidun C, Clausen J (2010) Lattice-Boltzmann method for complex flows. Annu Rev Fluid Mech 42:439–472

    Article  MathSciNet  MATH  Google Scholar 

  3. Aissa M, Verstraete T, Vuik C (2014) Use of modern GPUs in design optimization. In: 10th ASMO-UK/ISSMO conference on engineering design optimization. Association for Structural and Multidisciplinary Optimization in the UK

  4. Bendsøe M (1989) Optimal shape design as a material distribution problem. Struct Optim 1(4):193–202. https://doi.org/10.1007/BF01650949

    Article  Google Scholar 

  5. Bendsøe M, Sigmund O (1999) Material interpolation schemes in topology optimization. Arch Appl Mech 69:635–654

    Article  MATH  Google Scholar 

  6. Bendsøe M, Sigmund O (2003) Topology optimization—theory, methods and applications, 2nd edn. Springer, Berlin

    MATH  Google Scholar 

  7. Cecka C, Lew A, Darve E (2011) Assembly of finite element methods on graphics processors. Int J Numer Methods Eng 85:640–669

    Article  MATH  Google Scholar 

  8. Challis V, Roberts A, Grotowski J (2014) High resolution topology optimization using graphics processing units (GPUs). Struct Multidiscip Optim 49(2):315–325

    Article  Google Scholar 

  9. Chu D, Xie Y, Hira A, Steven G (1996) Evolutionary structural optimization for problems with stiffness constraints. Finite Elem Anal Des 21:239–251

    Article  MATH  Google Scholar 

  10. D’Ammaro A, Kipouros T, Saddawi S, Savill A, Djenidi L (2010) Computational design for micro fluidic devices using Lattice Boltzmann and heuristic optimisation algorithms. In: Joint OCCAM/ICFD lattice Boltzmann workshop, OCCAM/ICFD

  11. Deaton J, Grandhi R (2014) A survey of structural and multidisciplinary continuum topology optimization. Struct Multidiscip Optim 49:1–38. https://doi.org/10.1007/s00158-013-0956-z

    Article  MathSciNet  Google Scholar 

  12. Delbosc N, Khan J, Kapur N, Noakes C (2014) Optimized implementation of the lattice Boltzmann method on a graphics processing unit towards real-time fluid simulation. Comput Math Appl 67:462–475

    Article  MathSciNet  MATH  Google Scholar 

  13. Demmel J, Nguyen H (2015) Parallel reproducible summation. IEEE Trans Comput 64(7):2060–2070

    Article  MathSciNet  MATH  Google Scholar 

  14. Djenidi L, Moghtaderi B (2006) Numerical investigations of laminar mixing in a coaxial microreactor. J Fluid Mech 568:223–243

    Article  MATH  Google Scholar 

  15. Garcia M, Gutierrez J, Rueda N (2011) Fluid-structure coupling using lattice-Boltzmann and fixed-grid FEM. Finite Elem Anal Des 47:906–912

    Article  Google Scholar 

  16. Georgescu S, Chow P, Okuda H (2013) GPU acceleration for FEM-based structural analysis. Arch Comput Methods Eng 20(2):111–121

    Article  MathSciNet  MATH  Google Scholar 

  17. Herrero D, Martinez J, Marti P (2013) An implementation of level set based topology optimization using GPU. In: Proceedings of 10th World congress on structural and multidisciplinary optimization, WCSMO/ISSMO

  18. Huang X, Xie Y (2007) Convergent and mesh-independent solutions for the bi-directional evolutionary structural optimization method. Finite Elem Anal Des 43:1039–1049

    Article  Google Scholar 

  19. Huang X, Xie Y (2009) Bi-directional evolutionary topology optimization of continuum structures with one or multiple materials. Comput Mech 43:393–401

    Article  MathSciNet  MATH  Google Scholar 

  20. Huang X, Xie Y (2010) Topology optimization of continuum structures: methods and applications, 1st edn. Wiley, New York

    Book  MATH  Google Scholar 

  21. Kasumba H, Kunisch K (2012) Vortex control in channel flows using translation invariant cost functionals. Comput Optim Appl 52:691–717

    Article  MathSciNet  MATH  Google Scholar 

  22. Khan M, Delbosc N, Noakes C, Summers J (2015) Real-time flow simulation of indoor environments using lattice Boltzmann method. Build Simul 8:405–414

    Article  Google Scholar 

  23. Kuznik F, Obrecht C, Rusaouen G, Roux JJ (2010) LBM based flow simulations using GPU computing processor. Comput Math Appl 59:2380–2392

    Article  MATH  Google Scholar 

  24. Laniewski-Wollk L, Rokicki J (2016) Adjoint lattice Boltzmann for topology optimization on multi-GPU architecture. Comput Math Appl 71:833–848

    Article  MathSciNet  MATH  Google Scholar 

  25. Li Q, Luo K (2014) Thermodynamic consistency of the pseudopotential lattice Boltzmann model for simulating liquid–vapor flows. Appl Therm Eng 72(1):56–61

    Article  Google Scholar 

  26. Li Q, Luo K, Kang Q, He Y, Chen Q, Liu Q (2016) Lattice Boltzmann methods for multiphase flow and phase-change heat transfer. Prog Energy Combust Sci 52:62–105

    Article  Google Scholar 

  27. Liu H, Kang Q, Leonardi C, Schmieschek S, Narváez A, Jones B, Williams J, Valocchi A, Harting J (2016) Multiphase lattice Boltzmann simulations for porous media applications. Comput Geosci 20:777–805

    Article  MathSciNet  MATH  Google Scholar 

  28. Mahdavi A, Balaji R, Frecker M, Mockensturm E (2006) Topology optimization of 2D continua for minimum compliance using parallel computing. Struct Multidiscio Optim 32(2):121–132

    Article  Google Scholar 

  29. Makhija D, Pingen G, Yang R, Maute K (2012) Topology optimization of multi-component flows using a multi-relaxation time lattice Boltzmann method. Comput Fluids 67:104–114

    Article  MathSciNet  MATH  Google Scholar 

  30. Martinez-Frutos J, Herrero-Perez D (2017) GPU acceleration for evolutionary topology optimization of continuum structures using isosurfaces. Comput Struct 182:119–136

    Article  Google Scholar 

  31. Martins J, Lambe A (2013) Multidisciplinary design optimization: a survey of architectures. AIAA J 59:2049–2075

    Article  Google Scholar 

  32. Micikevicius P (2009) 3D finite difference computation on GPUs using CUDA. In: Proceedings of 2nd workshop on general purpose processing on graphics processing units. ACM

  33. Moghtaderi B, Shames I, Djenidi L (2006) Microfluidic characteristics of a multi-holed baffle plate micro-reactor. Int J Heat Fluid Flow 27:1069–1077

    Article  Google Scholar 

  34. Munk D, Vio G, Steven G (2015) Topology and shape optimization methods using evolutionary algorithms: a review. Struct Multidiscip Optim 52(3):613–631. https://doi.org/10.1007/s00158-015-1261-9

    Article  MathSciNet  Google Scholar 

  35. Munk D, Kipouros T, Vio G, Steven G, Parks G (2017) Topology optimization of micro fluidic mixers considering fluid–structure interactions with a coupled lattice Boltzmann algorithm. J Comput Phys 349:11–32

    Article  MathSciNet  Google Scholar 

  36. Munk D, Kipouros T, Vio G, Parks G, Steven G (2018a) Multiobjective and multi-physics topology optimization using an updated smart normal constraint bi-directional evolutionary structural optimization algorithm. Struct Multidiscip Optim 57:665–688

    Article  Google Scholar 

  37. Munk D, Kipouros T, Vio G, Parks G, Steven G (2018b) On the effect of fluid–structure interactions and choice of algorithm in multi-physics topology optimisation. Finite Elem Anal Des 145:32–54

    Article  Google Scholar 

  38. Nguyen H (2007) GPU Gems 3. Addison-Wesley Professional, Boston

    Google Scholar 

  39. NVIDIA Corporation (2008) NVIDIA CUDA—programming language. NVIDIA, Santa Clara

    Google Scholar 

  40. Obrecht C, Kuznik F, Tourancheau B, Roux JJ (2013) Multi-GPU implementation of the lattice Boltzmann method. Comput Math Appl 65:252–261

    Article  MathSciNet  MATH  Google Scholar 

  41. Osher S, Sethian J (1988) Front propagating with curvature dependent speed: algorithms based on Hamilton–Jacobi formations. J Comput Phys 78(1):12–49

    Article  MATH  Google Scholar 

  42. Pingen G, Evgrafov A, Maute K (2007) Topology optimization of flow domains using the lattice Boltzmann method. Struct Multidiscip Optim 36:507–524

    Article  MathSciNet  MATH  Google Scholar 

  43. Pingen G, Evgrafov A, Maute K (2009) Adjoint parameter sensitivity analysis for the hydrodynamic lattice Boltzmann method with applications to design optimization. Comput Fluids 38:910–923

    Article  MathSciNet  MATH  Google Scholar 

  44. Querin O, Steven G, Xie Y (1998) Evolutionary structural optimization (ESO) using a bi-directional algorithm. Eng Comput 15:1034–1048

    Article  Google Scholar 

  45. Rozvany G, Zhou M, Birker T (1992) Generalized shape optimization without homogenization. Struct Optim 4(3):250–252. https://doi.org/10.1007/BF01742754

    Article  Google Scholar 

  46. Sanders J, Kandrot E (2010) CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley Professional, Santa Clara

    Google Scholar 

  47. Schmidt S, Schulz V (2011) A 2589 line topology optimization code written for the graphics card. Comput Vis Sci 14(6):249–256

    Article  MathSciNet  MATH  Google Scholar 

  48. Schönherr M, Kucher K, Geier M, Stiebler M, Freudiger S, Krafczyk M (2011) Multi-thread implementations of the lattice-Boltzmann method on non-uniform grids for CPUs and GPUs. Comput Math Appl 61:3730–3743

    Article  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  50. Sigmund O, Petersson J (1998) Numerical instabilities in topology optimization: a survey on procedures dealing with checkerboards, mesh-dependencies and local minima. Struct Optim 16:68–75

    Article  Google Scholar 

  51. Steven G, Li Q, Xie Y (2000) Evolutionary topology and shape design for general physical field problems. Comput Mech 26:129–139

    Article  MATH  Google Scholar 

  52. Succi S (2001) The lattice Boltzmann equation for fluid dynamics and beyond, 1st edn. Oxford University Press, Oxford

    MATH  Google Scholar 

  53. Suresh K (2013) Efficient generation of large-scale pareto-optimal topologies. Struct Multidiscip Optim 47:49–61

    Article  MathSciNet  MATH  Google Scholar 

  54. Taufer M, Padron O, Saponaro P, Patel S (2010) Improving numerical reproducibility and stability in large-scale numerical simulations on GPUs. In: 24th IEEE international symposium on parallel and distributed processing (IPDPS). IEEE, pp 1–9

  55. Tölke J, Krafczyk M (2008) TeraFLOP computing on a desktop PC with GPUs for 3D CFD. Int J Comput Fluid Dyn 22:443–456

    Article  MATH  Google Scholar 

  56. Tsotskas C, Kipouros T, Savill A (2014) The design and implementation of a GPU-enabled multi-objective Tabu-search intended for real world and high-dimensional applications. Procedia Comput Sci 29:2152–2161

    Article  Google Scholar 

  57. Tsotskas C, Kipouros T, Savill A (2015) Fast multi-objective optimisation of a micro-fluidic device by using graphics accelerators. Procedia Comput Sci 51:2237–2246

    Article  Google Scholar 

  58. Vemaganti K, Lawrence WE (2005) Parallel methods for optimality criteria-based topology optimization. Comput Methods Appl Mech Eng 194:3637–3667

    Article  MathSciNet  MATH  Google Scholar 

  59. Wadbro E, Berggren M (2009) Megapixel topology optimization on a graphics processing unit. SIAM Rev 51(4):707–721

    Article  MathSciNet  MATH  Google Scholar 

  60. Wang H, Menon S (2001) Fuel–air mixing enhancement by synthetic microjets. AIAA J 39:2308–2319

    Article  Google Scholar 

  61. Woodfield P, Kazuyoshi N, Suzuki K (2003) Numerical study for enhancement of laminar flow mixing using multiple confined jets in a micro-can combustor. Int J Heat Mass Transf 46:2655–2663

    Article  Google Scholar 

  62. Wu J, Dick C, Westermann R (2016) A system for high resolution topology optimization. IEEE Trans Vis Comput Gr 22:1195–1208

    Article  Google Scholar 

  63. Xie Y, Steven G (1993) A simple evolutionary procedure for structural optimization. Comput Struct 49(5):885–896. https://doi.org/10.1016/0045-7949(93)90035-C

    Article  Google Scholar 

  64. Xie Y, Steven G (1996) Evolutionary structural optimization for dynamical problems. Comput Struct 58:1067–1073

    Article  MATH  Google Scholar 

  65. Xie Y, Steven G (1997) Evolutionary structural optimization, 1st edn. Springer, Berlin

    Book  MATH  Google Scholar 

  66. Yang X, Xie Y, Steven G (2005) Evolutionary methods for topology optimization of continuous structures with design dependent loads. Comput Struct 83:956–963

    Article  Google Scholar 

  67. Zegard T, Paulino G (2013) Toward GPU accelerated topology optimization on unstructured meshes. Struct Multidiscip Optim 48:473–485. https://doi.org/10.1007/s00158-013-0920-y

    Article  Google Scholar 

Download references

Acknowledgements

D. J. Munk thanks the Australian government for their financial support through the Endeavour Fellowship scheme. The authors would like to acknowledge the UK Consortium on Mesoscale Engineering Sciences (UKCOMES) EPSRC Grant no. EP/L00030X/1 for providing the HPC capabilities used in this article.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David J. Munk.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Munk, D.J., Kipouros, T. & Vio, G.A. Multi-physics bi-directional evolutionary topology optimization on GPU-architecture. Engineering with Computers 35, 1059–1079 (2019). https://doi.org/10.1007/s00366-018-0651-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00366-018-0651-1

Keywords

Navigation