Abstract
A novel block-structured Cartesian mesh method is developed that is well designed for the graphics processing unit (GPU) acceleration of flow simulations. The size of the mesh block is set based on the thread hierarchy in Compute Unified Device Architecture which is an easy-to-use GPU programming model. The mesh method is implemented in a finite-volume compressible flow solver, where the two-dimension steady Euler equations are solved by using the AUSM + scheme in spatial discretization and third-order total-variation-diminishing Runge–Kutta method in time discretization. For the GPU implementation, the redundant computation, data structure reorganization and Structure-of-Arrays (SoA) mesh layout are utilized to reduce the frequency and data size for information transfer between host and device. Two test cases, the supersonic flow over a circular cylinder and a NACA0012 airfoil, are presented to validate numerical approaches and valuate computational performance. Additionally, numerical experiments are carried out on a test case at different mesh sizes and execution configurations to investigate properties of the proposed method.
Similar content being viewed by others
References
Winter M, Heckmeier FM, Breitsamter C (2017) CFD-based aeroelastic reduced-order modeling robust to structural parameter variations. Aero Sci Technol 67:13–30
Torabi K, Afshari H (2017) Optimization for flutter boundaries of cantilevered trapezoidal thick plates. J Braz Soc Mech Sci Eng 39(5):1545–1561
He P, Mader CA, Martins JR, Maki KJ (2018) An aerodynamic design optimization framework using a discrete adjoint approach with OpenFOAM. Comput Fluids 168:285–303
Sang W, Yu J (2011) Numerically analyzing more efficiently high-lift aerodynamics of wing/body model with omni-tree Cartesian grids. Aerosp Sci Technol 15(5):375–380
Ashkan G, Amir H (2017) Numerical study of red blood cell motion and deformation through a michrochannel using lattice Boltzmann-immersed boundary method. J Braz Soc Mech Sci Eng 39(6):1873–1882
Berger M, Oliger J (1984) Adaptive mesh refinement for hyperbolic partial differential equations. J Comput Phys 53:484–512
Anderson DM, McFadden GB, Wheeler AA (1998) Diffuse interface methods in fluid mechanics. Ann Rev Fluid Mech 30:139–165
De AK (2018) A diffuse interface immersed boundary method for complex moving boundary problems. J Comput Phys 366:226–251
Yoo YL, Sung HG (2018) Numerical investigation of an interaction between shock waves and bubble in a compressible multiphase flow using a diffuse interface method. Int J Heat Mass Trans 127:210–221
Mittal R, Dong H, Bozkurttas M, Najjar FM, Vargas A, Loebbecke A (2008) A versatile sharp interface immersed boundary method for incompressible flows with complex boundaries. J Comput Phys 227(10):4825–4852
Kumar M, Roy S (2016) A sharp interface immersed boundary method for moving geometries with mass conservation and smooth pressure variation. Comput Fluids 137:15–35
Zhu C, Seo JH, Mittal R (2019) A graph-partitioned sharp-interface immersed boundary solver for efficient solution of internal flows. J Comput Phys 386:37–46
Harada M, Tamaki Y, Takahashi Y, Imamura T (2017) Simple and robust cut-cell method for high-Reynolds-number-flow simulation on Cartesian grids. AIAA J 55(8):2833–2841
Pan D, Shen T (2008) A ghost cell method for the computation of incompressible flows with immersed bodies. In: proceedings of the 6th IASME/WSEAS international conference on fluid mechanics and aerodynamics, Rhodes, Greece
Farooq MA, Skøien AA, Müller B (2013) Cartesian grid method for the compressible Euler equations using simplified ghost point treatments at embedded boundaries. Comput Fluids 82:50–62
Yuan RF, Zhong CW (2018) An immersed-boundary method for compressible viscous flows and its application in the gas-kinetic BGK scheme. Appl Math Model 55:417–446
Zhang Y, Fang XL, Zou JF, Shi X, Ma ZH, Zheng Y (2019) Numerical simulations of shock/obstacle interactions using an improved ghost-cell immersed boundary method. Comput Fluids 182:128–143
Wei F, Jin L, Liu J, Ding F, Zheng XP (2019) Acceleration of a 2D unsteady Euler solver with GPU on nested Cartesian grid. Acta Astronaut 159:319–330
Brandvik T, Pullan G (2008) Acceleration of a 3D Euler solver using commodity graphics hardware. In: proceedings of the 46th AIAA aerospace sciences meeting and exhibit, Reno, Nevada
Elsen E, LeGresley P, Darve E (2008) Large calculation of the flow over a hypersonic vehicle using a GPU. J Comput Phys 227:10148–10161
Puente R, Corral R, Parra J (2018) Comparison between aerodynamic designs obtained by human driven and automatic procedures. Aero Sci Technol 72:443–454
Nvidia Corporation (2018) CUDA C programming guide v10.0
Xu C, Deng X, Zhang L, Fang J, Wang G, Jiang Y, Cao W, Che Y, Wang Y, Wang Z, Liu W, Cheng X (2014) Collaborating CPU and GPU for large-scale high-order CFD simulations with complex grids on the TianHe-1A supercomputer. J Comput Phys 278:275–297
Bonelli F, Tuttafesta M, Colonna G, Cutrone L, Pascazio G (2017) An MPI-CUDA approach for hypersonic flows with detailed state-to-state air kinetics using a GPU cluster. Comput Phys Commun 219:178–195
Hashimoto T, Yasuda T, Tanno I, Tanaka Y, Morinishi K, Satofuka N (2018) Multi-GPU parallel computation of unsteady incompressible flows using kinetically reduced local Navier-Stokes equations. Comput Fluids 167:215–220
Feng XS, Zhou YF, Gan XB (2019) A multi-GPU finite volume solver for magnetohydrodynamics-based solar wind simulations. Comput Phys Commun 238:181–193
Corrigan A, Camelli F, Löhner R, Wallin J (2009) Running unstructured grid-based CFD solvers on modern graphics hardware. In: proceedings of the 19th AIAA computational fluid dynamics, San Antonio, Texas
Franco EE, Barrera HM, Laín S (2015) 2D lid-driven cavity flow simulation using GPU-CUDA with a high-order finite difference scheme. J Braz Soc Mech Sci Eng 37:1329–1338
Emelyanov VN, Karpenko AG, Kozelkov AS, Teterina IV, Volkov KN, Yalozo AV (2017) Analysis of impact of general-purpose graphics processor units in supersonic flow modeling. Acta Astronaut 135:198–207
Cao C, Chen HQ, Zhang JL, Xu SG (2019) A multi-layered point reordering study of GPU-based meshless method for compressible flow simulations. J Comput Sci 33:45–60
Kim LS, Nakahashi K, Jeong HK, Ha MY (2007) High-density mesh flow computations by building-cube method. J Mech Sci Technol 21(8):1306–1319
Komatsu K, Soga T, Egawa R, Takizawa H, Kobayashi H, Takahashi S, Sasaki D, Nakahashi K (2011) Parallel processing of the building-cube method on a GPU platform. Comput Fluids 45(1):122–128
Jameson A, Schmidt W, Turkel E (1981) Numerical solution of the Euler equations by finite volume methods using Runge Kutta time stepping schemes. In: proceedings of the 14th fluid and plasma dynamics conference, Palo Alto, CA, USA
Leer BV (1974) Towards the ultimate conservative difference scheme. II. Monotonicity and conservation combined in a second-order scheme. J Comput Phys 14(4):361–370
Liou MS (1996) A sequel to AUSM: AUSM+. J Comput Phys 129(2):364–382
Shu CW, Osher S (1989) Efficient implementation of essentially non-oscillatory shock-capturing schemes, II. J Comput Phys 83(1):32–78
Sjögreen B, Petersson NA (2007) A Cartesian embedded boundary method for hyperbolic conservation laws. Commun Comput Phys 2(6):1199–1219
Yoshihara H, Sacher P (1985) Test cases for inviscid flow field methods. AGARDograph No. 211, AGARD, Neuilly-sur-Seine, France
Acknowledgements
The authors would like to express their gratitude for the financial support provided by the Fund of Innovation, Shanghai Aerospace Science and Technology (No. SAST201419). The authors are also grateful to the reviewers for their extremely constructive comments.
Author information
Authors and Affiliations
Corresponding author
Additional information
Technical Editor: Jader Barbosa Jr., PhD.
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
Wei, F., Jin, L., Liu, J. et al. GPU acceleration of a 2D compressible Euler solver on CUDA-based block-structured Cartesian meshes. J Braz. Soc. Mech. Sci. Eng. 42, 250 (2020). https://doi.org/10.1007/s40430-020-02290-w
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s40430-020-02290-w