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.
Similar content being viewed by others
References
Abrahamson S, Lonnes S (1995) Uncertainty in calculating vorticity from 2D velocity fields using circulation and least-squares approach. Exp Fluids 20:10–20
Aidun C, Clausen J (2010) Lattice-Boltzmann method for complex flows. Annu Rev Fluid Mech 42:439–472
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
Bendsøe M (1989) Optimal shape design as a material distribution problem. Struct Optim 1(4):193–202. https://doi.org/10.1007/BF01650949
Bendsøe M, Sigmund O (1999) Material interpolation schemes in topology optimization. Arch Appl Mech 69:635–654
Bendsøe M, Sigmund O (2003) Topology optimization—theory, methods and applications, 2nd edn. Springer, Berlin
Cecka C, Lew A, Darve E (2011) Assembly of finite element methods on graphics processors. Int J Numer Methods Eng 85:640–669
Challis V, Roberts A, Grotowski J (2014) High resolution topology optimization using graphics processing units (GPUs). Struct Multidiscip Optim 49(2):315–325
Chu D, Xie Y, Hira A, Steven G (1996) Evolutionary structural optimization for problems with stiffness constraints. Finite Elem Anal Des 21:239–251
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
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
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
Demmel J, Nguyen H (2015) Parallel reproducible summation. IEEE Trans Comput 64(7):2060–2070
Djenidi L, Moghtaderi B (2006) Numerical investigations of laminar mixing in a coaxial microreactor. J Fluid Mech 568:223–243
Garcia M, Gutierrez J, Rueda N (2011) Fluid-structure coupling using lattice-Boltzmann and fixed-grid FEM. Finite Elem Anal Des 47:906–912
Georgescu S, Chow P, Okuda H (2013) GPU acceleration for FEM-based structural analysis. Arch Comput Methods Eng 20(2):111–121
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
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
Huang X, Xie Y (2009) Bi-directional evolutionary topology optimization of continuum structures with one or multiple materials. Comput Mech 43:393–401
Huang X, Xie Y (2010) Topology optimization of continuum structures: methods and applications, 1st edn. Wiley, New York
Kasumba H, Kunisch K (2012) Vortex control in channel flows using translation invariant cost functionals. Comput Optim Appl 52:691–717
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
Kuznik F, Obrecht C, Rusaouen G, Roux JJ (2010) LBM based flow simulations using GPU computing processor. Comput Math Appl 59:2380–2392
Laniewski-Wollk L, Rokicki J (2016) Adjoint lattice Boltzmann for topology optimization on multi-GPU architecture. Comput Math Appl 71:833–848
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
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
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
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
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
Martinez-Frutos J, Herrero-Perez D (2017) GPU acceleration for evolutionary topology optimization of continuum structures using isosurfaces. Comput Struct 182:119–136
Martins J, Lambe A (2013) Multidisciplinary design optimization: a survey of architectures. AIAA J 59:2049–2075
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
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
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
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
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
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
Nguyen H (2007) GPU Gems 3. Addison-Wesley Professional, Boston
NVIDIA Corporation (2008) NVIDIA CUDA—programming language. NVIDIA, Santa Clara
Obrecht C, Kuznik F, Tourancheau B, Roux JJ (2013) Multi-GPU implementation of the lattice Boltzmann method. Comput Math Appl 65:252–261
Osher S, Sethian J (1988) Front propagating with curvature dependent speed: algorithms based on Hamilton–Jacobi formations. J Comput Phys 78(1):12–49
Pingen G, Evgrafov A, Maute K (2007) Topology optimization of flow domains using the lattice Boltzmann method. Struct Multidiscip Optim 36:507–524
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
Querin O, Steven G, Xie Y (1998) Evolutionary structural optimization (ESO) using a bi-directional algorithm. Eng Comput 15:1034–1048
Rozvany G, Zhou M, Birker T (1992) Generalized shape optimization without homogenization. Struct Optim 4(3):250–252. https://doi.org/10.1007/BF01742754
Sanders J, Kandrot E (2010) CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley Professional, Santa Clara
Schmidt S, Schulz V (2011) A 2589 line topology optimization code written for the graphics card. Comput Vis Sci 14(6):249–256
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
Sigmund O, Maute K (2013) Topology optimization approaches. Struct Multidiscip Optim 48:1031–1055. https://doi.org/10.1007/s00158-013-0978-6
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
Steven G, Li Q, Xie Y (2000) Evolutionary topology and shape design for general physical field problems. Comput Mech 26:129–139
Succi S (2001) The lattice Boltzmann equation for fluid dynamics and beyond, 1st edn. Oxford University Press, Oxford
Suresh K (2013) Efficient generation of large-scale pareto-optimal topologies. Struct Multidiscip Optim 47:49–61
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
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
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
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
Vemaganti K, Lawrence WE (2005) Parallel methods for optimality criteria-based topology optimization. Comput Methods Appl Mech Eng 194:3637–3667
Wadbro E, Berggren M (2009) Megapixel topology optimization on a graphics processing unit. SIAM Rev 51(4):707–721
Wang H, Menon S (2001) Fuel–air mixing enhancement by synthetic microjets. AIAA J 39:2308–2319
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
Wu J, Dick C, Westermann R (2016) A system for high resolution topology optimization. IEEE Trans Vis Comput Gr 22:1195–1208
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
Xie Y, Steven G (1996) Evolutionary structural optimization for dynamical problems. Comput Struct 58:1067–1073
Xie Y, Steven G (1997) Evolutionary structural optimization, 1st edn. Springer, Berlin
Yang X, Xie Y, Steven G (2005) Evolutionary methods for topology optimization of continuous structures with design dependent loads. Comput Struct 83:956–963
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
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
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00366-018-0651-1