Multiphase Flow Simulations in Inclined Tubes with Lattice Boltzmann Method on GPU

Similar documents
Predictor-Corrector Finite-Difference Lattice Boltzmann Schemes

Parallelism of MRT Lattice Boltzmann Method based on Multi-GPUs

Lattice Boltzmann simulations on heterogeneous CPU-GPU clusters

Simulation of Lid-driven Cavity Flow by Parallel Implementation of Lattice Boltzmann Method on GPUs

COMPARISON OF CPU AND GPU IMPLEMENTATIONS OF THE LATTICE BOLTZMANN METHOD

The Lattice Boltzmann Method for Laminar and Turbulent Channel Flows

Simulation of floating bodies with lattice Boltzmann

On Portability, Performance and Scalability of a MPI OpenCL Lattice Boltzmann Code

Research of Micro-Rectangular-Channel Flow Based on Lattice Boltzmann Method

LATTICE BOLTZMANN SIMULATION OF FLUID FLOW IN A LID DRIVEN CAVITY

Physical Modeling of Multiphase flow. Boltzmann method

Lattice Boltzmann Method for Fluid Simulations

arxiv:comp-gas/ v1 28 Apr 1993

External and Internal Incompressible Viscous Flows Computation using Taylor Series Expansion and Least Square based Lattice Boltzmann Method

EXTENDED FREE SURFACE FLOW MODEL BASED ON THE LATTICE BOLTZMANN APPROACH

Using OpenMP on a Hydrodynamic Lattice-Boltzmann Code

Calculation of ground states of few-body nuclei using NVIDIA CUDA technology

Simulation of Rarefied Gas Flow in Slip and Transitional Regimes by the Lattice Boltzmann Method

MODELLING OF THE BOUNDARY CONDITION FOR MICRO CHANNELS WITH USING LATTICE BOLTZMANN METHOD (LBM)

Level Set-based Topology Optimization Method for Viscous Flow Using Lattice Boltzmann Method

A Framework for Hybrid Parallel Flow Simulations with a Trillion Cells in Complex Geometries

Computers and Mathematics with Applications

Available online at ScienceDirect. Procedia Engineering 61 (2013 ) 94 99

Lattice Boltzmann approach to liquid - vapour separation

APPLICATION OF CUDA TECHNOLOGY FOR CALCULATION OF GROUND STATES OF FEW-BODY NUCLEI BY FEYNMAN'S CONTINUAL INTEGRALS METHOD

Introduction to numerical computations on the GPU

ME615 Project Presentation Aeroacoustic Simulations using Lattice Boltzmann Method

LATTICE BOLTZMANN MODELLING OF PULSATILE FLOW USING MOMENT BOUNDARY CONDITIONS

arxiv:cond-mat/ v1 [cond-mat.stat-mech] 11 Dec 2002

SEMICLASSICAL LATTICE BOLTZMANN EQUATION HYDRODYNAMICS

Simulation of 2D non-isothermal flows in slits using lattice Boltzmann method

The Lattice Boltzmann Simulation on Multi-GPU Systems

Lattice Boltzmann Method for Fluid Simulations

Computer simulations of fluid dynamics. Lecture 11 LBM: Algorithm for BGK Maciej Matyka

Using LBM to Investigate the Effects of Solid-Porous Block in Channel

APPRAISAL OF FLOW SIMULATION BY THE LATTICE BOLTZMANN METHOD

Lattice Boltzmann Method

Pore Scale Analysis of Oil Shale/Sands Pyrolysis

Lattice Bhatnagar Gross Krook model for the Lorenz attractor

Numerical Investigation of Fluid and Thermal Flow in a Differentially Heated Side Enclosure walls at Various Inclination Angles

Flow simulation of fiber reinforced self compacting concrete using Lattice Boltzmann method

arxiv: v1 [physics.flu-dyn] 10 Aug 2015

Kinetic Models and Gas-Kinetic Schemes with Rotational Degrees of Freedom for Hybrid Continuum/Kinetic Boltzmann Methods

LATTICE-BOLTZMAN METHOD IN CFD MODELLING OF DIRECT ACTING RELIEF VALVE

LATTICE BOLTZMANN METHOD AND DIFFUSION IN MATERIALS WITH LARGE DIFFUSIVITY RATIOS

Simulation of T-junction using LBM and VOF ENERGY 224 Final Project Yifan Wang,

Lattice Boltzmann Modeling of Wave Propagation and Reflection in the Presence of Walls and Blocks

arxiv: v1 [hep-lat] 7 Oct 2010

MOLECULAR DYNAMIC SIMULATION OF WATER VAPOR INTERACTION WITH VARIOUS TYPES OF PORES USING HYBRID COMPUTING STRUCTURES

Analysis and boundary condition of the lattice Boltzmann BGK model with two velocity components

S0214 : GPU Based Stacking Sequence Generation For Composite Skins Using GA

Practical Combustion Kinetics with CUDA

LATTICE BOLTZMANN AND FINITE VOLUME SIMULATIONS OF MULTIPHASE FLOW IN BGA ENCAPSULATION PROCESS

Three-dimensional simulation of slip-flow and heat transfer in a microchannel using the lattice Boltzmann method

NON-DARCY POROUS MEDIA FLOW IN NO-SLIP AND SLIP REGIMES

Population annealing study of the frustrated Ising antiferromagnet on the stacked triangular lattice

FINITE-DIFFERENCE IMPLEMENTATION OF LATTICE BOLTZMANN METHOD FOR USE WITH NON-UNIFORM GRIDS

CFD Flow and Heat Transfer Simulation for Empty and Packed Fixed Bed Reactor in Catalytic Cracking of Naphtha

THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE

Acceleration of Deterministic Boltzmann Solver with Graphics Processing Units

IMPLEMENTING THE LATTICE-BOLTZMANN

On the lattice Boltzmann method for multiphase flows

IMPLEMENTATION OF POD AND DMD METHODS IN APACHE SPARK FRAMEWORK FOR SIMULATION OF UNSTEADY TURBULENT FLOW IN THE MODEL COMBUSTOR

Grad s approximation for missing data in lattice Boltzmann simulations

Study on lattice Boltzmann method/ large eddy simulation and its application at high Reynolds number flow

Perm State University Research-Education Center Parallel and Distributed Computing

Investigation of an implicit solver for the simulation of bubble oscillations using Basilisk

TR A Comparison of the Performance of SaP::GPU and Intel s Math Kernel Library (MKL) for Solving Dense Banded Linear Systems

Multiscale simulations of complex fluid rheology

A Quantum Chemistry Domain-Specific Language for Heterogeneous Clusters

Lattice Boltzmann model for the Elder problem

Using AmgX to accelerate a PETSc-based immersed-boundary method code

Claude Tadonki. MINES ParisTech PSL Research University Centre de Recherche Informatique

Imaging using GPU. V-K Veligatla, Kapteyn Institute P. Labropoulos, ASTRON and Kapteyn Institute L. Koopmans, Kapteyn Institute

EFFECT OF A CLUSTER ON GAS-SOLID DRAG FROM LATTICE BOLTZMANN SIMULATIONS

The lattice Boltzmann method for contact line dynamics

On pressure and velocity boundary conditions for the lattice Boltzmann BGK model

1.3 Molecular Level Presentation

Accelerating Model Reduction of Large Linear Systems with Graphics Processors

SIMULATION OF MIXED CONVECTIVE HEAT TRANSFER USING LATTICE BOLTZMANN METHOD

Parallel Simulations of Self-propelled Microorganisms

A Compact and Efficient Lattice Boltzmann Scheme to Simulate Complex Thermal Fluid Flows

19 th INTERNATIONAL CONGRESS ON ACOUSTICS MADRID, 2-7 SEPTEMBER 2007

Stochastic Particle Methods for Rarefied Gases

Shortest Lattice Vector Enumeration on Graphics Cards

Computers and Mathematics with Applications

Multi-GPU Simulations of the Infinite Universe

Equivalence between kinetic method for fluid-dynamic equation and macroscopic finite-difference scheme

Density dependence of dielectric permittivity of water and estimation of the electric field for the breakdown inception

Generalized Local Equilibrium in the Cascaded Lattice Boltzmann Method. Abstract

FEM-Level Set Techniques for Multiphase Flow --- Some recent results

Experiments at the University of Minnesota (draft 2)

Cosmology with Galaxy Clusters: Observations meet High-Performance-Computing

Introduction to Benchmark Test for Multi-scale Computational Materials Software

A Momentum Exchange-based Immersed Boundary-Lattice. Boltzmann Method for Fluid Structure Interaction

ON PARTITIONED AND MONOLITHIC COUPLING STRATEGIES IN LAGRANGIAN VORTEX METHODS FOR 2D FSI PROBLEMS

Numerical Investigation on Shear Driven Cavity Flow by the Constrained Interpolated Profile Lattice Boltzmann Method

Simulation of Turbulent Flow of a Rotating Cylinder Electrode. Influence of Using Plates and Concentric Cylinder as Counter Electrodes

Scalable and Power-Efficient Data Mining Kernels

ZFS - Flow Solver AIA NVIDIA Workshop

Transcription:

Multiphase Flow Simulations in Inclined Tubes with Lattice Boltzmann Method on GPU Khramtsov D.P., Nekrasov D.A., Pokusaev B.G. Department of Thermodynamics, Thermal Engineering and Energy Saving Technologies, Moscow State University of Mechanical Engineering, Moscow, Russia dmitry@khramtsov.net, nekrasov55@yandex.ru, pokusaev2005@yandex.ru Abstract. Multiphase flows are widely used in many practical applications in industry, such as oil industry, chemical and thermal engineering, bioengineering and medicine. Especially flows in tubes with granular layer. Multiphase flows in inclined tubes are poorly studied. Numerical study of multiphase flows in inclined tubes was performed. Cases of clear tube and tube with granular layer were examined. Simulation model was based on lattice Boltzmann method. Parallel algorithm was programmed in CUDA C. For numerical simulations graphical processor nvidia Tesla C2075 was used. Bubble flow in inclined tubes with different inclination angles and diameters of beads were studied. Simulation results are in agreement with the experimental studies. Flow pattern of air bubble was examined. Keywords Lattice Boltzmann method, CUDA, GPU, nvidia Tesla, computational fluid dynamics, multiphase flow. 1 Introduction Multiphase flows have many applications in industry, especially slug flows in tubes. Slug flows represent the gas bubble rising in liquid. Such bubbles can have different forms that called flow patterns. This pattern depends on liquid and gas type. Also angle of tube inclination play an important role. Maximum speeds are differs for clear tube and tube with granular layer. Flow pattern effects the speed of bubble rising, while this speed have an influence on heat and mass transfer. It is critical in such systems as reactor cooling systems. In modern cooling systems coated fuel particles are packed directly in cooling tubes. So, it is become actual to study multiphase flows in granular layer. Detailed experimental studies of flow patterns are quite difficult, especially in case of slug flow in granular layer. Numerical simulations can provide a comprehensive approach for studying of such systems. Numerical simulation model can be based on finite-difference or finite-element method. These methods are widely studied. For multiphase problems with compound boundary conditions such methods lead to complex mathematical formulation. Simulations based on such complex models have lack of performance due to difficulties with effective parallelization. Particularly it becomes noticeable for large-scale tree-dimensional problems. Alternative approach is to use methods based on cellular automata theory. In cellular automata scheme fluid flow is modeling by moving particles from one node of lattice to another. This approach is very simple but not accurate enough. As evolution of cellular automata methods lattice Boltzmann method was proposed. 2 Related Works Lattice Boltzmann method was successfully applied to two-phase flows with large density differences, like water and air [1]. Simulations results were close to theoretical calculations. Numerical study of bubble rising dynamics in a vertical and inclined square channel was performed with Lattice Boltzmann approach [2]. GPU implementation and scalability Work was funded by RFBR grants (11-08-00368, 12-08-00734, 12-08-31243 ) and The Ministry of Education and Science of the Russian Federation grant 7.7787.2013. -194-

of Lattice Boltzmann solver was discussed in [3]. Three-dimensional numerical simulation of liquid-vapor systems based on Lattice Boltzmann method was described in [4]. Numerical study results for slug flow in vertical tubes was obtained in [5], but finite-element scheme was used. 3 Algorithm design and numerical simulations 3.1 Lattice Boltzmann method The main idea of the lattice Boltzmann method is to solve statistical equations that describe the dynamics of mean particle population, instead of directly solving Navier-Stokes equation. Particles distributions are described by Maxwell- Boltzmann distribution. The basis of lattice Boltzmann method is discrete kinetic equation, which describes collisions and streaming of particles (Equation 1). f i ( x + e i t, t + t) = f i ( x, t) + Ω i (f( x, t)), i = 0, 1...N 1 (1) where f i is a function, that describes discrete distribution of particle velocity for each direction i, t and x define steps in time and space accordingly, e i is a velocity vector, Ω i is a collision operator. For collisions approximation Bhatnagar-Gross-Krook operator was used (Equation 2). Ω i = 1 eq (fi f i ) (2) τ [ f eq i ( x) = ω i ρ( x) 1 + 3 e i u c 2 + 9 ( e i u) 2 2 c 4 3 u 2 ] 2 c 2, i = 0, 1...N 1 (3) Propagation speed is defined by c. It is an analog of sound speed, measured in lattice units. Weight coefficients ω i depends on lattice type. In this work D3Q19 model was used. This model has 19 velocity vectors in 3 dimensions (Figure 1). Figure 1. Lattice Boltzmann three-dimensional 19 velocity lattice (D3Q19). Density and velocity are calculated for each node via equations ρ = i=0 N f i and u = 1 ρ makes possible to perform this operations in parallel. i=0 N f i e i respectively. It Interaction between gas and liquid phases were modeled with method, proposed by Shan X., Chen H. [6]. This method exclude density gap between gas and liquid and allow treating both phases in a same way. This approach helps to simplify description of simulation model. Bounce-back rule [7] was used to implement interaction between solids and gas-liquid flow. This rule is extremely simple, but accurate. Using this rule give the ability to define complex boundary conditions much easier. where τ is a relaxation time and f eq i is an equilibrium distribution function, which obtained as expansion of Maxwell- Boltzmann distribution in Taylor series up to second order (3). Such order is chosen, because Navier-Stokes equation has the second order nonlinearity [7]. -195-

3.2 Parallel algorithm implementation Algorithm was programmed in CUDA C. Simulations were performed on laboratory computer using general purpose graphical processor nvidia Tesla C2075 with peak performance of 1,03 TFLOPS. Main advantage of using GPU for parallel computations is number of cores compared to CPU. In table 1 comparison of computing units that was available in laboratory is presented. Table 1. Comparison of cores number for different computing units. Device Number of cores Intel Core i5 4 Intel Xeon E5-1620 8 nvidia Tesla C2075 448 GPGPU was chosen for simulations instead of GPU because there is no lack of performance on double precision operations for general purpose graphical units. Geometry of tube and phases distribution were specified as tree-dimensional array. For every element of array a number was assigned, that define the density of substance. Solid particles were coded as zero, because solid phase is processed separately form gas and liquid phases. Computational grid had 12 10 6 nodes. Granular layer consists of spherical solid particles. These particles were generated by subprogram. This subprogram assigns zero for each node that represents solid phase. These nodes should form the geometry of packed spherical particles. Input data for subprogram are diameter of particles and type of packing. Array, that store data about density, is modified during the process of simulation. At each step of simulation array with data about velocity field for each node is formed. Through every specified step intermediate simulation results were saved to hard disk in VTK format. This format allows to postrpocess simulation data with specialized visualization software ParaView. Arrays with data about simulation parameters were stored in global memory of graphical processor. So, each multiprocessor could access the data. Global memory also was used to transfer results to host. Local variables for each thread were stored in registers. Some components were run on CPU. These components provide the ability to transfer data from GPU and control threads via CUDA driver. Also there was an error control module. If error occurred, this module wrote information about error into a log file. Developed software is represented schematically on Figure 2. As each node of lattice can be treated independently, potentially all nodes can be processed in parallel. But usually size of tree-dimensional lattice is much greater than maximum number of threads avaliable on GPU. To solve this problem thread pool design pattern was used. Figure 2. Functional scheme of developed software for parallel computations. -196-

All operations, that needed to be performed for each node, were realized as CUDA kernel function. As input argument, this function takes pointer to array element, that stores all data about particular node and then apply to it all lattice Boltzmann procedures. 3.3 Simulation results Three-dimensional simulations of air bubble dynamics in water were performed for two-phase liquid-gas and tree-phase liquid-gas-solids systems. Results of air bubble simulation is shown on Figure 3 and Figure 4. Figure 3. Result of tree-dimensional simulation of air bubble in an inclined tube. Figure 4. Visualization of air bubble flow in the tube with inclination angle 40. Diameter of granular layer beads was varied from 4 to 20 mm with 0.5 mm step. Angle of tube inclination was varied from 10 to 90 with 10 step. Numerical results were also obtained for beads with diameters of 4, 4.25, 4.5 and 4.75 mm. It was not possible to realize in physical experiment due to absence of beads with proper diameters. Computer simulation results showed that air bubble speed decreases when beads with diameter less than 5 mm were used. Experimental data for maximum bubble rising speed and bubble speed vs tube inclination angle were obtained previously in [8]. Simulation results are in agreement with experimental data. Simulation results confirm that maximum speed of air bubble in water is achieved with 5 mm beads. Experimental and numerical results for dependence of maximum speed of air bubble vs diameter of bead is shown on Figure 5. 4 Conclusion Simulation model, based on lattice Boltzmann method, was developed. Parallel algorithm was performed on high performance graphical processor. Model based on lattice Boltzmann method showed high potential to parallelization which makes possible to implement this method not only on local machine, but also use cloud computing services like Amazon EC2 or Hadoop based distributed computer clusters. Lattice Boltzmann method can speed-up computations, especially -197-

Figure 5. Comparison of numerical simulation results with experimental data. for tree-dimensional problems. Bounce-back rule simplify the process of interacting between solid boundaries and multiphase flow. Simulation results are in agreement with the experimental studies. Performed simulations made possible to make detailed study of air bubble flow pattern. Optimal regimes of slug flow were defined. 5 Acknowledgments This work was partially supported by The Russian Foundation for Basic Research (grants 11-08-00368, 12-08-00734, 12-08-31243) and The Ministry of Education and Science of the Russian Federation (grant 7.7787.2013). References [1] T. Inamuro, T. Ogata, S. Tajima, N. Konishi: A lattice Boltzmann method for incompressible two-phase flows with large density differences. Journal of Computational Physics, 2(198): 628-644, 2004. [2] L. Amaya-Bower, T. Lee: Numerical simulation of single bubble rising in vertical and inclined square channel using lattice Boltzmann method. Chemical Engineering Science, 5(66): 935-952, 2011. [3] C. Obrechta, F. Kuznik, B. Tourancheaud, J. Rouxb: Scalable lattice Boltzmann solvers for CUDA GPU clusters. Parallel Computing, 6(37): 259-270, 2013. [4] A. L. Kupershtokh : Three-dimensional simulations of two-phase liquid-vapor systems on GPU using the lattice Boltzmann method. Modern Science, 2(4): 56-63, 2010. [5] T. Taha, Z. Cui: CFD modelling of slug flow in vertical tubes. Chem. Eng. Sci., 2(61): 676-687, 2005. [6] X. Shan, H. Chen: Simulation of nonideal gases and liquid-gas phase transitions by the lattice Boltzmann equation. Phys. Rev. E., 4(49): 2941-2948, 1994. [7] S. Chen, G. Doolen: Lattice Boltzmann method for fluid flows. Annu. Rev. Fluid Mech., 30: 329-364, 1998. [8] B. G. Pokusaev, D. A. Kazenin, S. P. Karlov, et al.: Motion of a Gas Slug in Inclined Tubes. Theor. Found. Chem. Eng., 5(45): 640-645, 2011. -198-