Lattice Boltzmann Method Solver Documentation

Similar documents
Lattice Boltzmann Method for Fluid Simulations

Lattice Boltzmann Method for Fluid Simulations

LATTICE BOLTZMANN SIMULATION OF FLUID FLOW IN A LID DRIVEN CAVITY

Two-Dimensional Unsteady Flow in a Lid Driven Cavity with Constant Density and Viscosity ME 412 Project 5

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

Development of a Parallel, 3D, Lattice Boltzmann Method CFD Solver for Simulation of Turbulent Reactor Flow

Predictor-Corrector Finite-Difference Lattice Boltzmann Schemes

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

Lattice Boltzmann Method

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

JMBC Computational Fluid Dynamics I Exercises by A.E.P. Veldman

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

68 Guo Wei-Bin et al Vol. 12 presented, and are thoroughly compared with other numerical data with respect to the Strouhal number, lift and drag coeff

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

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

IMPLEMENTING THE LATTICE-BOLTZMANN

Copyright 2013 Tech Science Press FDMP, vol.9, no.4, pp , 2013

Lattice Boltzmann Simulations of 2D Laminar Flows past Two Tandem Cylinders

Due Tuesday, November 23 nd, 12:00 midnight

LATTICE BOLTZMANN MODELLING OF PULSATILE FLOW USING MOMENT BOUNDARY CONDITIONS

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

Simulation of floating bodies with lattice Boltzmann

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

APPRAISAL OF FLOW SIMULATION BY THE LATTICE BOLTZMANN METHOD

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

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

Validation 3. Laminar Flow Around a Circular Cylinder

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

Before we consider two canonical turbulent flows we need a general description of turbulence.

SIMULATION OF MIXED CONVECTIVE HEAT TRANSFER USING LATTICE BOLTZMANN METHOD

Alternative and Explicit Derivation of the Lattice Boltzmann Equation for the Unsteady Incompressible Navier-Stokes Equation

Self-Excited Vibration in Hydraulic Ball Check Valve

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

Assessment of the Accuracy of the Multiple-Relaxation-Time Lattice Boltzmann Method for the Simulation of Circulating Flows

Project 4: Navier-Stokes Solution to Driven Cavity and Channel Flow Conditions

Lattice Boltzmann Method for Moving Boundaries

Grad s approximation for missing data in lattice Boltzmann simulations

NOVEL FINITE DIFFERENCE SCHEME FOR THE NUMERICAL SOLUTION OF TWO-DIMENSIONAL INCOMPRESSIBLE NAVIER-STOKES EQUATIONS

EXTENDED FREE SURFACE FLOW MODEL BASED ON THE LATTICE BOLTZMANN APPROACH

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

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

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

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

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

Fluid Mechanics Theory I

Exercice I Exercice II Exercice III Exercice IV Exercice V. Exercises. Boundary Conditions in lattice Boltzmann method

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

Study of Forced and Free convection in Lid driven cavity problem

Single Curved Fiber Sedimentation Under Gravity. Xiaoying Rong, Dewei Qi Western Michigan University

NUMERICAL STUDY OF MELTING OF TIN WITHIN A RECTANGULAR CAVITY INCLUDING CONVECTIVE EFFECTS

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

Application of the Lattice-Boltzmann method in flow acoustics

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

The Lattice Boltzmann Method for Laminar and Turbulent Channel Flows

The lattice Boltzmann method for contact line dynamics

A generic, mass conservative local grid renement technique for lattice-boltzmann schemes

COMPARISON OF CPU AND GPU IMPLEMENTATIONS OF THE LATTICE BOLTZMANN METHOD

Tutorial 11. Use of User-Defined Scalars and User-Defined Memories for Modeling Ohmic Heating

Simulation and improvement of the ventilation of a welding workshop using a Finite volume scheme code

Analysis of the Lattice Boltzmann Method by the Truncated Moment System

Free energy concept Free energy approach LBM implementation Parameters

PREDICTION OF INTRINSIC PERMEABILITIES WITH LATTICE BOLTZMANN METHOD

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

SIMULATION OF NATURAL CONVECTION HEAT TRANSFER USING NANOFLUID IN A CONCENTRIC ANNULUS

Single curved fiber sedimentation under gravity

The investigation on SIMPLE and SIMPLER algorithm through lid driven cavity

Research Article Numerical Simulation of Viscous Flow over a Square Cylinder Using Lattice Boltzmann Method

Fine Grid Numerical Solutions of Triangular Cavity Flow

Corresponding Author (Received October 22, 2012; accepted May 1, 2013) ABSTRACT

Simulation of lid-driven cavity ows by parallel lattice Boltzmann method using multi-relaxation-time scheme

Handout 8 MATLAB Code for the Projection Method and BC Details for the Lid-Driven Cavity Problem

Flow Structure Investigations in a "Tornado" Combustor

Fluid Dynamics Exercises and questions for the course

Stochastic Particle Methods for Rarefied Gases

Lattice Boltzmann methods Summer term Cumulant-based LBM. 25. July 2017

Investigation of reattachment length for a turbulent flow over a backward facing step for different step angle

Cranfield University, Cranfield, Bedfordshire, MK43 0AL, United Kingdom. Cranfield University, Cranfield, Bedfordshire, MK43 0AL, United Kingdom

ROLE OF THE VERTICAL PRESSURE GRADIENT IN WAVE BOUNDARY LAYERS

Active Control of Separated Cascade Flow

The Use of Lattice Boltzmann Numerical Scheme for Contaminant Removal from a Heated Cavity in Horizontal Channel

Numerical Prediction Of Torque On Guide Vanes In A Reversible Pump-Turbine

Advantages of a Finite Extensible Nonlinear Elastic Potential in Lattice Boltzmann Simulations

SECONDARY MOTION IN TURBULENT FLOWS OVER SUPERHYDROPHOBIC SURFACES

Designing Correct Fluid Hydrodynamics on A Rectangular Grid using MRT Lattice Boltzmann Approach

Grid refinement in LBM based on continuous distribution functions

Project title: A Multiscale Simulation-Based Design Platform for Cost-Effective CO 2 Capture Processes using Nano-Structured Materials (NanoSim)

FIELD SCALE RESERVOIR SIMULATION THROUGH A LATTICE BOLTZMANN FRAMEWORK. A Dissertation ZACHARY ROSS BENAMRAM

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

Lattice Boltzmann model for the Elder problem

FLUID MECHANICS PROF. DR. METİN GÜNER COMPILER

Summary We develop an unconditionally stable explicit particle CFD scheme: Boltzmann Particle Hydrodynamics (BPH)

6.2 Governing Equations for Natural Convection

FINITE ELEMENT ANALYSIS OF MIXED CONVECTION HEAT TRANSFER ENHANCEMENT OF A HEATED SQUARE HOLLOW CYLINDER IN A LID-DRIVEN RECTANGULAR ENCLOSURE

Fine grid numerical solutions of triangular cavity flow

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

Physical Modeling of Multiphase flow. Boltzmann method

A combined immersed boundary and discrete unified gas kinetic. scheme for particle-fluid flows

A Computational Investigation of a Turbulent Flow Over a Backward Facing Step with OpenFOAM

Turbulence Modeling I!

LAMINAR NATURAL CONVECTION IN VERTICAL 2D GLAZING CAVITIES

Transcription:

Lattice Boltzmann Method Solver Documentation Release 0.0.1 Sayop Kim May 03, 2016

Contents 1 Code Instruction 3 1.1 Quick instruction for running the simulation.............................. 3 2 Results 5 2.1 Problem1 - a............................................... 5 2.2 Problem1 - b............................................... 7 2.3 Problem1 - c............................................... 12 2.4 Problem1 - d............................................... 13 2.5 Problem1 - e............................................... 13 2.6 Problem1 - f............................................... 14 2.7 Problem1 - g............................................... 16 i

ii

This document is online available. The pdf format of this documentation may have some inappropriate image size and not-well organized order of image and its description. You are recommended to see this documentation visiting http://cfm05.readthedocs.org. Contents: Contents 1

2 Contents

CHAPTER 1 Code Instruction The present project is aimed to develop a computer program for solving a steady solution with Lattice Boltzmann Method (LBM). The code being used for answering all the question here is written with Python language. This program is to run with simple command: $ python main.py 1.1 Quick instruction for running the simulation The Python code used for this project can be cloned from github.com repository: $ git clone https://github.com/sayop/cfm05 You can also see the code directly by visiting the website: https://github.com/sayop/cfm05 If you clone the code, you will see the following set of files and directories: $ sayop@reynolds:~$ ls CFM05/ docs README.md src docs contains the document files set for the current project using Sphinx software. This pdf document is online available at: http://cfm05-gatech.readthedocs.org. The Python script for this simulation is stored in src folder. Before running the simulation, you need to open the file named input.in using editor for example, VI on unix system: $ vi input.in Then, you should be able to see the following set of simulation parameters: #grid dimension idim 61 jdim 61 xmin 0 xmax 60 ymin 0 ymax 60 #boundary conditions uleft 0.0 vleft 0.0 uright 0.0 vright 0.0 ubottom 0.0 vbottom 0.0 uup 10.0 3

vup 0.0 # fluid kinematic properties nu 1.0 pinit 10.0 #simulation setup pcorr 1 alpha 1.0 presidual 0.01 maxiter 1 Courant 0.5 dtinit 0.0001 Beta 0.5 residualmin 0.00005 #Post-Process niterwrite 100 The parameter s name above will literally tell you what every single variables indicates in the simulation. For the post-processing as requested in this project, niterwrite will write a solution plot and CSV file at speicifed interval of time integration number. 4 Chapter 1. Code Instruction

CHAPTER 2 Results 2.1 Problem1 - a Describe the essential steps of the solution method. Include the discretized equations and implementation of boundary conditions. 2.1.1 Solution method This project aims to use Lattice Boltzmann Method for solving the lid driven flow problem and assess its prediction accuracy and several numerical issues as stated in the problem description. In this project, D2Q9 latice is employed to describe the stream the distribution fuctions along the specified directions. The directions in which 9-bit lattice BGK model evoloves defines following 9 discrete velocities: (0, 0) i = 0 e i = (cos[(i 1)π/2], sin[(i 1)π/2]) i = 1, 2, 3, 4 2(cos[(i 5)π/2 + π/4], sin[(i 5)π/2 + π/4]) i = 5, 6, 7, 8 The description of the lattice arrangement and the directions that particle streams are illustrated in the diagram below. Having 9 different velocity vectors, each of the 9 particles (fluid molecules) is moved to neighboring lattices. Along the defined direction, 9 independent fluid particles are moved and re-located then update their distribution function in time. The evolution equation of the density distribution function is integrated in time as shown below. This step represents the collision process that changes the distribution function for each of 9 particles after streaming. This process will update the fluid macroscopic properties. f i (x i + ce i t, t + t) f i (x i, t) = 1 τ [ fi (x i, t) f eq i (x i, t) ] 5

where c = x/ t, and x and t are the lattice spacing and the time step, respectively. Here, τ is the dimensionless relaxation time that approximates the temporal rate at which instantaneous distribution function evolves and transitions to the equilibrium states. Given kinematic viscosity is taken into account for determining the relaxation time which is determined from following equation: And the f eq i ν = 2τ 1 x 6 expresses the equilibrium density function, which is determined by: f eq i (x i, t) = ω i ρ + ρs i (u i (x i, t)) where [ s i (u i ) = ω i e (e iu i ) + 4.5 (e iu i ) 2 c c 2 1.5 u ] iu i c 2 with the weight coefficient: 4 9 i = 0 1 ω i = 9 i = 1, 2, 3, 4 1 36 i = 5, 6, 7, 8 After updating the distribution function, we are then to find fluid density and velocity from the integrated distribution function by assuming the relationship between the distribution function and macroscopic fluid properties: ρ = i f i ρu = i ce i f i 2.1.2 Boundary conditions Treating boundary conditions for Lattice Boltzmann Method is very different from the way with other typical CFD simulation s approach that directly states flow properties at the boundary. Since the LBM plays with distribution function and derives the macroscopic flow properties from it, the boundary condition should also be treated with specific manipulation of distribution at the boundary lattices. The issue that arise with the LBM is that there is no further lattices out of the computational domain that accomodate the streamed particles. To cope with this problem, a mid grid bounce-back boundary condition is used to replace the normal 9 direction streaming. On the edge lattices, we assume there is an imaginary lattices right next to the boundary, and when the particles move towards these lattices, it will be bounce back to their original lattice with inversed direction. For the specific boundary condition of our moving lid on the upper wall, an equation of Zou-He velocity boundary conditions are employed and the specific treatment on this lattice can be made by manipulating the distribution functions as: f 2 + f 5 + f 6 = ρ (f 4 + f 7 + f 8 + f 0 + f 1 + f 3 ) f 5 f 6 = ρu (f 1 + f 8 f 3 f 7 ) f 2 + f 5 + f 6 = ρv + (f 4 + f 7 + f 8 ) ρ = 1 1 v ((f 0 + f 1 + f 3 ) 2(f 4 + f 7 + f 8 )) 6 Chapter 2. Results

2.2 Problem1 - b Consider the case when H = W (a square cavity). Here, the Reynolds number, Re = UW/ν, characterizes the flow patters. Compute the steady state solutions for both Re = 100 and Re = 500. Plot the flow streamlines and centerline profiles (u vs. y and v vs. x through the center of the domain). For Re = 100, valdiate your method by comparing your results to data from given literature. 2.2.1 Re = 100 In this test, the lid cavity s velocity is set to make the Reynolds number set to 100. To see the qualitative effect of different grid spacing, four different grid resolution conditions is employed and compared together in this page. NxN = 20x20 <Streamlines of 20x20 case runs> <Centerline u-velocity compared with Ghia s numerically resolved data> 2.2. Problem1 - b 7

<Centerline v-velocity compared with Ghia s numerically resolved data> Observation Coarser grid is horrible at achieving well-defined velocity field due to numerical errors and unstable solution. Despite this instability and error, the qualitative flow pattern is well resolved. The possible explanation of this inaccurate solution may be made with an arguement that particle streaming should be made across lattices closely apart each other. Far distance between neighboring lattices may not represent proper particle streaming process. NxN = 40x40 <Streamlines of 40x40 case runs> 8 Chapter 2. Results

<Centerline u-velocity compared with Ghia s numerically resolved data> <Centerline v-velocity compared with Ghia s numerically resolved data> Observation Grid resolution for this problem should be made up with 40x40 at least in order to have well-resolved flow properties with reasonable accuracy. The simulation data is in a good agreement with the reference data produced by Ghia et al. NxN = 80x80 2.2. Problem1 - b 9

<Streamlines of 60x60 case runs> <Centerline u-velocity compared with Ghia s numerically resolved data> <Centerline v-velocity compared with Ghia s numerically resolved data> Observation 10 Chapter 2. Results

Having resolution of 80x80 makes finally the resolved data looks very close to the reference data. We observed the denser grid size produces the more well-matching data with reference data. 2.2.2 Re = 500 In this test, the lid cavity velocity is set to 50 m/s to make the Reynolds number 500. Here, only one single set of grid space was employed for effective simulation running, because this high Reynolds number case was stongly senstive to the grid resolution, so it was not successful with less grid points than this to have such that stable solution. Again, due to the computational time issue, having more than the current grid points were not effective either. The chosen grid resolution is 160x160 in x and y directions. The computation time taken for this setup is 32151.1 sec. NxN = 160x160 <Streamlines of 160x160 case runs> <Centerline u-velocity> 2.2. Problem1 - b 11

<Centerline v-velocity> Observation As compared to previous condition of Re=100, the higher Reynolds number lid moving speed makes more strong vorticity on the bottom corner. The centered vortext relocates its position further down and so it moveds toward the center of domain. 2.3 Problem1 - c Examine the effect of the relaxation time τ and the Mach number on method stability using your simulations, and compare your results to the stability criteria. Discuss how these parameters relate to the required grid size and physical time step size. Given equation as stated in the previous section, the relaxation time is strongly coupled with kinematic viscosity ν. ν = 2τ 1 x 6 In this simulation, grid spacing and time step are consistently set to unity for various grid resolution conditions in order to avoid complexity that may arise with non-unity t and x. Therefore, the grid spacing doesn t change the numerics of. Instead, to be consistent with Re=100, kinematic viscosity ν is to be changed, resulting in change of τ. The following figure illustrates the variable relaxation time allows the stable solution with different grid spacing. 12 Chapter 2. Results

2.4 Problem1 - d Compare your results with different grid resolutions to evaluate the numerical error and the order of the scheme. The qualitative comparison between different grid spacing for Re=100 case has been made in the previous section. As observed, the less grid point is, the less accurate and the more unstable solution were achieved. Please see section b. In order to evaluate the numerical accuracy, the numerically resolved LBM data is compared to the reference data in terms of u-velocity component along the centered axial location. Assuming the reference data to be target data that is achieved when the numerical data is accurate, the root mean square (RMS) values were evaluted from the different grid spacing setups. Effect of grid spacing on the numerical accuracy Overall, the accurate solution can be achieved with finer grid spacing setup. It means again that the smaller grid size contributes to less numerical error. As stated in the previous section, smaller grid spacing is more favorable condition for LBM because original Boltzmann equation was derived in molecular scales of length and time and so it can be more reliable when it is employed in the small spaced lattice configuration. In addition, the RMS error seems to be stablized as the grid resolution goes beyond 60 or more. Since the current Python script running for LBM is not such efficient, all the grid spacing analysis and fully resolved solution were discussed based on 60x60 resolution. 2.5 Problem1 - e Discuss how the simulation speed depends on the grid resolution and time step. The simulation for different grid resolutions were conducted with consistent convergence criterion as 0.01 % of normalized residual. The evolution of u-velocity residual with different grid spacing is placed on top of each other in the following plot. As the grid spacing become smaller, the more time integration was required to achieve the pre-specified convergence criterion. It also means the more grid points requires more computational time, which is illustrated as shown in the second figure. Effect of grid spacing on the convergence history 2.4. Problem1 - d 13

Effect of grid spacing on the computational time to achieve the steady solution. As observed in the previous homework problem, above observations are very typical in the fact that more iterations and more computational time are required for the higher grid resolutions. Specifically, in such a high resolution case, temporal updated quantity in distribution function is too small to rapidly approach to the steady solution, and it leads to more required iterations and again more computational time. 2.6 Problem1 - f Repeat parts b and c for the case of H = 1.5W (except for validation). 2.6.1 Re = 100 NxN = 40x60 14 Chapter 2. Results

<Streamlines for 40x60 case> <Centerline u-velocity compared with Ghia s numerically resolved data> <Centerline v-velocity compared with Ghia s numerically resolved data> Observations 2.6. Problem1 - f 15

In Re=100, the main vortex is formed in a very similar distance from the lid location. Because of fixed viscosity even in the long depth, the momentum transferred from the moving lid penetrates by the same amount, so it is observed that the vortex is created in a very same way as the previous domain configuration. This observation can be confirmed qualitatively in the centerline u-velocity plot: The curved shape is shifted upward. However, in the bottom clock-counterwise rotating vortices are observed on both bottom corners. 2.6.2 Re = 500 NxN = 160x240 <Streamlines for 160x240 case under higher Resolution number condition> Observations Higher resolution condition makes numerical solution unstable: The required grid spacing needs to be small enough to have stable solution. This case running took a couple of hours with current Python script. There is distinctive layer separation in between two counter-rotating vortices: This was identically observed in the previous homework problems under the same condition. 2.7 Problem1 - g Compare the results obtained in homework 3,4, and 5. Discuss the advangates and disadvantages of the methods. In this test, Re=100 case has been chosen for the desired comparison because this case doesn t not require impractically higher grid resolution such that the test can be performed very efficiently. The selected grid resolution is 60x60 and three different solution methods were tested under the same condition. All the simulation for these solution methods were conducted with the same convergence rate of 0.01% for u-velocity residual. 16 Chapter 2. Results

<Comparison on the calculated u-velocity along the centerline with different solution method: bottom image is the magnified one for noticing the discrepancy> Observations Overally all the solution methods were successfully running to achieve the reliable flow behaviors. However, there are noticeable discrepancy when there are compared to each other: Projection method is the worst at accuracy. It seems that more iterations may be needed to have accurate solution for Projection method. ACM gives the most accurate solution. However, in order to assess the solution method s accuracy, further investigation needs to be done for reliable assessment. LBM Projection method ACM RMS of u-velocity 0.00413982355618 0.00857537642521 0.00132103968968 Iterations for convergence 4889 3496 37017 Compute time for convergence 784.86 4145.3 1711.31 Above table describes the computational performance among different solution methods. Here the projection method again turns out to be worst case in terms of computational time. This is because the projection method is to solve Laplacian equation for pressure correction terms which is the most expensive part in the whole process. Given grid resolution, the projection method requires more than 150 iterations for SOR method in the pressure correction step. 2.7. Problem1 - g 17

On the otherhand, LBM was the best way to have accurate solution with less computational effort. However, this comparison may not be reliable because the computational time is also very strongly senstive to how the efficiently and effectively simulation code is made. 18 Chapter 2. Results