Accelerating Finite-Volume Based Lattice Boltzmann Flow Solutions on a Graphics Processing Unit Using CUDA

Author(s):  
Goktan Guzel ◽  
Toygar Akgun
2009 ◽  
Vol 80 (6) ◽  
Author(s):  
Massimo Bernaschi ◽  
Ludovico Rossi ◽  
Roberto Benzi ◽  
Mauro Sbragaglia ◽  
Sauro Succi

SPE Journal ◽  
2016 ◽  
Vol 21 (04) ◽  
pp. 1425-1435 ◽  
Author(s):  
Cheng Chen ◽  
Zheng Wang ◽  
Deepak Majeti ◽  
Nick Vrvilo ◽  
Timothy Warburton ◽  
...  

Summary Shale permeability is sufficiently low to require an unconventional scale of stimulation treatments, such as very-large-volume, high-rate, multistage hydraulic-fracturing applications. Upscaling of hydrocarbon transport processes in shales is challenging because of the low permeability and strong heterogeneity. Rock characterization with high-resolution imaging [X-ray tomography and scanning electron microscope (SEM)] is usually highly localized and contains significant uncertainties because of the small field of view. Therefore, an effective high-performance computing method is required to collect information over a larger scale to meet the ergodicity requirement in upscaling. The lattice Boltzmann (LB) method has received significant attention in computational fluid dynamics because of its capability in coping with complicated boundary conditions. A combination of high-resolution imaging and LB simulation is a powerful approach for evaluating the transport properties of a porous medium in a timely manner, on the basis of the numerical solution of the Navier-Stokes equations and Darcy's law. In this work, a graphics-processing-unit (GPU) -enhanced lattice Boltzmann simulator (GELBS) was developed, which was optimized by GPU parallel computing on the basis of the inherent parallelism of the LB method. Specifically, the LB method was used to implement the computational kernel; a sparse data structure was applied to optimize memory allocation; the OCCA (Medina et al. 2014) portability library was used, which enables the GELBS codes to use different application-programming interfaces (APIs) including open computing language (OpenCL), compute unified device architecture (CUDA), and open multiprocessing (OpenMP). OpenCL is an open standard for cross-platform parallel computing, CUDA is supported only by NVIDIA devices, and OpenMP is primarily used on central processing units (CPUs). It was found that the GPU-accelerated code was approximately 1,000 times faster than the unoptimized serial code and 10 times faster than the parallel code run on a standalone CPU. The CUDA code was slightly faster than OpenCL code on the NVIDA GPU because of the extra cost of OpenCL used to adapt to a heterogeneous platform. The GELBS was validated by comparing it with analytical solutions, laboratory measurements, and other independent numerical simulators in previous studies, and it was proved to have a second-order global accuracy. The GELBS was then used to analyze thin cuttings extracted from a sandstone reservoir and a shale-gas reservoir. The sandstone permeabilities were found relatively isotropic, whereas the shale permeabilities were strongly anisotropic because of the horizontal lamination structure. In shale cuttings, the average permeability in the horizontal direction was higher than that in the vertical direction by approximately two orders of magnitude. Correlations between porosity and permeability were observed in both rocks. The combination of GELBS and high-resolution imaging methods makes for a powerful tool for permeability evaluation when conventional laboratory measurement is impossible because of small cuttings sizes. The constitutive correlations between geometry and transport properties can be used for upscaling in different rock types. The GPU-optimized code significantly accelerates the computing speed; thus, many more samples can be analyzed given the same processing time. Consequently, the ergodicity requirement is met, which leads to a better reservoir characterization.


2019 ◽  
Author(s):  
Henrik Asmuth ◽  
Hugo Olivares-Espinosa ◽  
Stefan Ivanell

Abstract. The presented work investigates the potential of large-eddy simulations (LES) of wind turbine wakes using the cumulant lattice Boltzmann method (CLBM). The wind turbine is represented by the actuator line model (ALM) that is implemented in a GPU-accelerated (Graphics Processing Unit) lattice Boltzmann framework. The implementation is validated and discussed by means of a code-to-code comparison to an established finite-volume Navier-Stokes solver. To this end, the ALM is subjected to a uniform laminar inflow while a standard Smagorinsky sub-grid scale model is employed in both numerical approaches. The comparison shows a good agreement in terms of the blade loads and near-wake characteristics. The main differences are found in the point of laminar-turbulent transition of the wake and the resulting far-wake. In line with other studies these differences can be attributed to the different orders of accuracy of the two methods. In a second part the possibilities of implicit LES with the CLBM are investigated using a limiter applied to the third-order cumulants in the scheme's collision operator. The study shows that the limiter generally ensures numerical stability. Nevertheless, a universal tuning approach for the limiter appears to be required, especially for perturbation-sensitive transition studies. In summary, the range of discussed cases outline the general feasibility of wind turbine simulations using the CLBM. In addition, it highlights the potential of GPU-accelerated LBM implementations to significantly speed up LES in the field of wind energy.


2019 ◽  
Vol 16 (05) ◽  
pp. 1840002 ◽  
Author(s):  
Ya Zhang ◽  
Guang Pan ◽  
Qiaogao Huang

A straightforward implementation of the Multi-Block Lattice Boltzmann Method (MB-LBM) on a Graphics Processing Unit (GPU) is presented to accelerate the simulation of fluid flows in two-dimensional geometries. The algorithm is measured in terms of both accuracy and efficiency with the benchmark cases of the lid-driven cavity flow and the flow past a circular cylinder, and satisfactory results are obtained. The results show that the performance on GPU becomes even better with the amount of data increasing. Moreover, the arrangement of the computational domain has a significant effect on the efficiency. These results demonstrate the great potential of GPU on the MB-LBM, especially when dealing with massive data.


Sign in / Sign up

Export Citation Format

Share Document