<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">OJFD</journal-id><journal-title-group><journal-title>Open Journal of Fluid Dynamics</journal-title></journal-title-group><issn pub-type="epub">2165-3852</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/ojfd.2015.51002</article-id><article-id pub-id-type="publisher-id">OJFD-54003</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Semi-Implicit Scheme of Lattice Boltzmann Method for Two Dimensional Cavity Flow Simulation
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>ei</surname><given-names>Zhang</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Jun</surname><given-names>Yao</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Hai</surname><given-names>Sun</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Jianguang</surname><given-names>Zhang</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>School of Geosciences, China University of Petroleum, Qingdao, China</addr-line></aff><aff id="aff1"><addr-line>School of Petroleum Engineering, China University of Petroleum, Qingdao, China</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>RCOGFR_UPC@126.com(JY)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>12</day><month>02</month><year>2015</year></pub-date><volume>05</volume><issue>01</issue><fpage>10</fpage><lpage>16</lpage><history><date date-type="received"><day>21</day>	<month>January</month>	<year>2015</year></date><date date-type="rev-recd"><day>accepted</day>	<month>9</month>	<year>February</year>	</date><date date-type="accepted"><day>12</day>	<month>February</month>	<year>2015</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  The calculation sequence of collision, propagation and macroscopic variables is not very clear in lattice Boltzmann method (LBM) code implementation. According to the definition, three steps should be computed on all nodes respectively, which mean three loops are needed. While the “pull” scheme makes the only one loop possible for coding, this is called semi-implicit scheme in this study. The accuracy and efficiency of semi-implicit scheme are discussed in detail through the simulation of lid-driven cavity flow. Non-equilibrium extrapolation scheme is adopted on the boundary of simulation area. The results are compared with two classic articles, which show that semi-implicit scheme has good agreement with the classic scheme. When Re is less than 3000, the iterations steps of semi-scheme can be decreased by about 30% though comparing the semi-implicit scheme with standard scheme containing three loops. As the Re increases into more than 3400, the standard scheme is not converged. On the contrary, the iterations of semi-implicit scheme are approximately linear to Re.
 
</p></abstract><kwd-group><kwd>Lattice Boltzmann</kwd><kwd> Cavity Flow</kwd><kwd> Reynolds Number</kwd><kwd> Semi-Implicit</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>In recent years, the lattice Boltzmann method has developed into an alternative and promising numerical scheme for simulating fluid flows and modeling physics in fluids. The LBM can simulate various fluid flow situations that are difficult to operate in the laboratory. However, these simulations are very computation-intensive and time-consuming even with modern computing power. There are many different ways to accelerate the simulation, such as parallel computing and different data layouts [<xref ref-type="bibr" rid="scirp.54003-ref1">1</xref>] or data storage in memory [<xref ref-type="bibr" rid="scirp.54003-ref2">2</xref>] . Among them, parallel computing contains CPU parallel computing [<xref ref-type="bibr" rid="scirp.54003-ref3">3</xref>] - [<xref ref-type="bibr" rid="scirp.54003-ref5">5</xref>] and GPU parallel computing [<xref ref-type="bibr" rid="scirp.54003-ref6">6</xref>] [<xref ref-type="bibr" rid="scirp.54003-ref7">7</xref>] .</p><p>However, the calculation sequence of collision, propagation and macroscopic variables is ambiguous in code implementation. The “pull” and “push” scheme [<xref ref-type="bibr" rid="scirp.54003-ref1">1</xref>] can be used in propagation step. According to the definition, three steps should be computed orderly on all nodes, which means three loops are needed in the programming, and both “pull” and “push” scheme are available. Especially the “pull” scheme, which integrates the three steps into one loop, will be discussed in this paper. The “pull” scheme with one loop is called semi-implicit scheme. In Section 2, <xref ref-type="fig" rid="fig1">Figure 1</xref> will show why we call it “semi-implicit”. The accuracy and efficiency of semi-implicit scheme is discussed in detail through the simulation of lid-driven cavity flow.</p><p>Lid-driven cavity flow is a well-known fluid flow problem where the fluid is set into motion by a part of containing boundary. This type of flow has been used as a benchmark problem for many numerical methods due to its simple geometry and complicated flow behavior. Ghia et al. [<xref ref-type="bibr" rid="scirp.54003-ref8">8</xref>] give a comprehensive review on the numerical studies related to this type of fluid flows. Hou et al. [<xref ref-type="bibr" rid="scirp.54003-ref9">9</xref>] use LBM for simulating the cavity flow and present solution up to Reynolds number Re = 7500. The results in this paper will be compared with the results of these two articles.</p><p>In this paper, Section 2 presents the lattice Boltzmann model used in this study. The standard scheme and semi-implicit scheme of LBM are introduced, and the difference between two schemes is given. Section 3 draws the cavity flow problem, which is simulated by lattice Boltzmann method with semi-implicit scheme. The simulation result is compared with the results from previous articles. In addition, the performance comparison between the two schemes is given. Moreover, the final section shows the concluding remarks.</p></sec><sec id="s2"><title>2. Numerical Schemes</title><sec id="s2_1"><title>2.1. Lattice Boltzmann Method</title><p>A lattice Bhatnagar-Gross-Krook (BGK) model [<xref ref-type="bibr" rid="scirp.54003-ref10">10</xref>] [<xref ref-type="bibr" rid="scirp.54003-ref11">11</xref>] is briefly introduced here for the purpose of describing the semi-implicit scheme in the following section. The BGK model is defined by the following equation:</p><disp-formula id="scirp.54003-formula631"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-2320190x6.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x7.png" xlink:type="simple"/></inline-formula> is a particle distribution function representing the probability of finding a fluid particle with a velocity <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x8.png" xlink:type="simple"/></inline-formula> at location <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x9.png" xlink:type="simple"/></inline-formula> and time<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x10.png" xlink:type="simple"/></inline-formula>. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x11.png" xlink:type="simple"/></inline-formula>is the relaxation time. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x12.png" xlink:type="simple"/></inline-formula>is the number of velocities. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x13.png" xlink:type="simple"/></inline-formula>is an equilibrium distribution function.</p><p>Velocity <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x14.png" xlink:type="simple"/></inline-formula> is determined by a lattice structure. For 2D regular cell models, the most commonly used lattice structure is D2Q9 according to the DdQb notation of Qin et al. [<xref ref-type="bibr" rid="scirp.54003-ref11">11</xref>] . Here, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x15.png" xlink:type="simple"/></inline-formula>is the space dimensions, while <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x16.png" xlink:type="simple"/></inline-formula> is the number of velocities including the zero velocity,<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x17.png" xlink:type="simple"/></inline-formula>.</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Comparison between standard scheme and semi-implicit scheme</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-2320190x18.png"/></fig><p>The equilibrium distribution function for the D2Q9 lattice model is given by</p><disp-formula id="scirp.54003-formula632"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-2320190x19.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x20.png" xlink:type="simple"/></inline-formula> is the weight factor in the <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x21.png" xlink:type="simple"/></inline-formula> direction. The weight factors for the D2Q9 model are 4/9 for the rest particles<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x22.png" xlink:type="simple"/></inline-formula>, 1/9 for particles streaming to the face connected neighbors <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x23.png" xlink:type="simple"/></inline-formula> and 1/36 for particles streaming to the edge connected neighbors <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x24.png" xlink:type="simple"/></inline-formula> and while <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x25.png" xlink:type="simple"/></inline-formula> is the speed of sound, and</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x26.png" xlink:type="simple"/></inline-formula>for D2Q9 model. The relaxation time <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x26.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x27.png" xlink:type="simple"/></inline-formula> is related to the viscosity by</p><disp-formula id="scirp.54003-formula633"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-2320190x28.png"  xlink:type="simple"/></disp-formula></sec><sec id="s2_2"><title>2.2. Boundary Conditions</title><p>The boundary condition most commonly used in lattice Boltzmann method is the bounce-back method. The bounce-back scheme is easy to implement and make the method ideal for simulating fluid flows in complicated geometries [<xref ref-type="bibr" rid="scirp.54003-ref8">8</xref>] . However, the bounce-back scheme is only first-order in numerical accuracy at the boundaries, which is not consistent with the order of the LBM in interior points. The non-equilibrium extrapolation scheme is adopted here. The basic idea is to decompose the distribution function into equilibrium part and non-equili- brium part. The scheme is of second-order accuracy in both time and space region [<xref ref-type="bibr" rid="scirp.54003-ref12">12</xref>] .</p></sec><sec id="s2_3"><title>2.3. Difference between Standard and Semi-Implicit Schemes</title><p>The macroscopic variables such as density and velocity, which are required for equilibrium distribution function, can be obtained from the following equations:</p><disp-formula id="scirp.54003-formula634"><label>(4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-2320190x29.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.54003-formula635"><label>(5)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-2320190x30.png"  xlink:type="simple"/></disp-formula><p>From Equation (1), the fluid particle evolution involves two distinct steps:</p><p>Collision:</p><disp-formula id="scirp.54003-formula636"><label>(6)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-2320190x31.png"  xlink:type="simple"/></disp-formula><p>Propagation:</p><disp-formula id="scirp.54003-formula637"><label>(7)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-2320190x32.png"  xlink:type="simple"/></disp-formula><p>Macroscopic variables, collision and propagation are the three time consuming steps during the lattice Boltzmann simulation process. The main difference between the standard scheme and semi-implicit scheme in code implementation is that, the former scheme needs three loops for three steps, while the latter scheme needs only one loop in all the nodes for all three steps. When the distribution functions <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x33.png" xlink:type="simple"/></inline-formula> for node <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x34.png" xlink:type="simple"/></inline-formula> were computed, the distribution functions <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x35.png" xlink:type="simple"/></inline-formula> of its neighboring node are used by standard scheme for all directions, but the distribution functions <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x36.png" xlink:type="simple"/></inline-formula> of its neighboring nodes are used by semi-implicit scheme for the red directions (shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>). The accuracy and efficiency of semi-impli- cit scheme will be discussed through the simulation of cavity flow in the next section.</p></sec></sec><sec id="s3"><title>3. Cavity Simulation and Discussion</title><p>The present simulation uses Cartesian coordinates with the origin located at lower left corner. Numerical simulations are carried out using the standard and semi-implicit scheme LBGK model for different Re numbers on a <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x37.png" xlink:type="simple"/></inline-formula> lattice. Initially the velocities at all nodes, except the top nodes, are set to zero. The x-velocity of the top, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x38.png" xlink:type="simple"/></inline-formula>is set to 0.1 and the y-velocity is zero. Uniform fluid density <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x39.png" xlink:type="simple"/></inline-formula> is imposed initially. The convergence criterion for the steady state is given by the follow:</p><disp-formula id="scirp.54003-formula638"><label>(8)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-2320190x40.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x41.png" xlink:type="simple"/></inline-formula> is the total number of nodes in the computational domain. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x41.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x42.png" xlink:type="simple"/></inline-formula>and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x41.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x42.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x43.png" xlink:type="simple"/></inline-formula> are the x-velocity and y-ve- locity respectively.</p><sec id="s3_1"><title>3.1. Stream Function</title><p>The simulation results computed by semi-implicit scheme were compared with previous works done by Ghia et al. [<xref ref-type="bibr" rid="scirp.54003-ref8">8</xref>] and Hou et al. [<xref ref-type="bibr" rid="scirp.54003-ref9">9</xref>] . First, the locations of primary and secondary vortices are listed in <xref ref-type="table" rid="table1">Table 1</xref> and <xref ref-type="table" rid="table2">Table 2</xref>. The convergence criterion, Er is choosen 10<sup>−6</sup> for all simulations.</p><p>Numerical simulations were carried out for<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x44.png" xlink:type="simple"/></inline-formula>, 1000, 2000, 5000, 7500. <xref ref-type="fig" rid="fig2">Figure 2</xref> shows the changes of stream function for each Reynolds numbers, the locations of vortices with different level can be seen clearly from these figures, for example, the third level vortices is turned out on the upper left corner of the square cavity when<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x45.png" xlink:type="simple"/></inline-formula>. <xref ref-type="table" rid="table1">Table 1</xref> shows the locations of the center of primary vortices and the pair of lower vortices for different Reynolds numbers. The locations of the secondary vortex in the upper left corner for <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x45.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x46.png" xlink:type="simple"/></inline-formula> and 7500 are listed in <xref ref-type="table" rid="table2">Table 2</xref>. These result show good agreement with Ghia et al. [<xref ref-type="bibr" rid="scirp.54003-ref8">8</xref>] and Hou et al. [<xref ref-type="bibr" rid="scirp.54003-ref9">9</xref>] .</p></sec><sec id="s3_2"><title>3.2. Performance Compare</title><p>For all simulations, steady state is reached when the convergence criterion, Er is less than 10<sup>−6</sup> for successive 1000 simulation steps. <xref ref-type="table" rid="table3">Table 3</xref> shows the iterations that both schemes are needed. Ef in <xref ref-type="table" rid="table3">Table 3</xref> equals<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x47.png" xlink:type="simple"/></inline-formula>, which shows the saving proportion of iterative steps of the semi-implicit</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> The locations <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x48.png" xlink:type="simple"/></inline-formula> of primary and secondary vortices</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  colspan="2"   rowspan="2"  >Re</th><th align="center" valign="middle"  colspan="2"  >Primary vortex</th><th align="center" valign="middle" ></th><th align="center" valign="middle"  colspan="2"  >Lower left vortex</th><th align="center" valign="middle" ></th><th align="center" valign="middle"  colspan="2"  >Lower right vortex</th></tr></thead><tr><td align="center" valign="middle" >x</td><td align="center" valign="middle" >y</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >x</td><td align="center" valign="middle" >y</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >x</td><td align="center" valign="middle" >y</td></tr><tr><td align="center" valign="middle"  rowspan="3"  >400</td><td align="center" valign="middle" >a</td><td align="center" valign="middle" >0.5547</td><td align="center" valign="middle" >0.6055</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0508</td><td align="center" valign="middle" >0.0469</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.8906</td><td align="center" valign="middle" >0.1250</td></tr><tr><td align="center" valign="middle" >b</td><td align="center" valign="middle" >0.5608</td><td align="center" valign="middle" >0.6078</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0549</td><td align="center" valign="middle" >0.0510</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.8902</td><td align="center" valign="middle" >0.1255</td></tr><tr><td align="center" valign="middle" >c</td><td align="center" valign="middle" >0.5562</td><td align="center" valign="middle" >0.6063</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0496</td><td align="center" valign="middle" >0.0468</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.8855</td><td align="center" valign="middle" >0.1222</td></tr><tr><td align="center" valign="middle"  rowspan="3"  >1000</td><td align="center" valign="middle" >a</td><td align="center" valign="middle" >0.5313</td><td align="center" valign="middle" >0.5625</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0859</td><td align="center" valign="middle" >0.0781</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.8594</td><td align="center" valign="middle" >0.1094</td></tr><tr><td align="center" valign="middle" >b</td><td align="center" valign="middle" >0.5333</td><td align="center" valign="middle" >0.5647</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0902</td><td align="center" valign="middle" >0.0784</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.8667</td><td align="center" valign="middle" >0.1137</td></tr><tr><td align="center" valign="middle" >c</td><td align="center" valign="middle" >0.5319</td><td align="center" valign="middle" >0.5657</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0822</td><td align="center" valign="middle" >0.0769</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.8644</td><td align="center" valign="middle" >0.1125</td></tr><tr><td align="center" valign="middle"  rowspan="2"  >2000</td><td align="center" valign="middle" >b</td><td align="center" valign="middle" >0.5255</td><td align="center" valign="middle" >0.5490</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0902</td><td align="center" valign="middle" >0.1059</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.8471</td><td align="center" valign="middle" >0.0980</td></tr><tr><td align="center" valign="middle" >c</td><td align="center" valign="middle" >0.5227</td><td align="center" valign="middle" >0.5483</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0862</td><td align="center" valign="middle" >0.1014</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.8445</td><td align="center" valign="middle" >0.0976</td></tr><tr><td align="center" valign="middle"  rowspan="3"  >5000</td><td align="center" valign="middle" >a</td><td align="center" valign="middle" >0.5117</td><td align="center" valign="middle" >0.5352</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0730</td><td align="center" valign="middle" >0.1367</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.8066</td><td align="center" valign="middle" >0.0742</td></tr><tr><td align="center" valign="middle" >b</td><td align="center" valign="middle" >0.5176</td><td align="center" valign="middle" >0.5373</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0784</td><td align="center" valign="middle" >0.1373</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.8078</td><td align="center" valign="middle" >0.0745</td></tr><tr><td align="center" valign="middle" >c</td><td align="center" valign="middle" >0.5158</td><td align="center" valign="middle" >0.5347</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0742</td><td align="center" valign="middle" >0.1330</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.8068</td><td align="center" valign="middle" >0.0747</td></tr><tr><td align="center" valign="middle"  rowspan="3"  >7500</td><td align="center" valign="middle" >a</td><td align="center" valign="middle" >0.5117</td><td align="center" valign="middle" >0.5322</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0645</td><td align="center" valign="middle" >0.1504</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.7813</td><td align="center" valign="middle" >0.0625</td></tr><tr><td align="center" valign="middle" >b</td><td align="center" valign="middle" >0.5176</td><td align="center" valign="middle" >0.5333</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0706</td><td align="center" valign="middle" >0.1529</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.7922</td><td align="center" valign="middle" >0.0667</td></tr><tr><td align="center" valign="middle" >c</td><td align="center" valign="middle" >0.5137</td><td align="center" valign="middle" >0.5321</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0666</td><td align="center" valign="middle" >0.1484</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.7927</td><td align="center" valign="middle" >0.0667</td></tr></tbody></table></table-wrap><p>Note: a, Ghia [<xref ref-type="bibr" rid="scirp.54003-ref8">8</xref>] b, Hou [<xref ref-type="bibr" rid="scirp.54003-ref9">9</xref>] , c, semi-implicit scheme.</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> The locations <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-2320190x49.png" xlink:type="simple"/></inline-formula> of upper left vortex</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  colspan="2"   rowspan="2"  >Re</th><th align="center" valign="middle"  colspan="2"  >Upper left vortex</th></tr></thead><tr><td align="center" valign="middle" >x</td><td align="center" valign="middle" >y</td></tr><tr><td align="center" valign="middle"  rowspan="3"  >5000</td><td align="center" valign="middle" >a</td><td align="center" valign="middle" >0.0625</td><td align="center" valign="middle" >0.9102</td></tr><tr><td align="center" valign="middle" >b</td><td align="center" valign="middle" >0.0667</td><td align="center" valign="middle" >0.9059</td></tr><tr><td align="center" valign="middle" >c</td><td align="center" valign="middle" >0.0634</td><td align="center" valign="middle" >0.9085</td></tr><tr><td align="center" valign="middle"  rowspan="3"  >7500</td><td align="center" valign="middle" >a</td><td align="center" valign="middle" >0.0664</td><td align="center" valign="middle" >0.9141</td></tr><tr><td align="center" valign="middle" >b</td><td align="center" valign="middle" >0.0706</td><td align="center" valign="middle" >0.9098</td></tr><tr><td align="center" valign="middle" >c</td><td align="center" valign="middle" >0.0669</td><td align="center" valign="middle" >0.9119</td></tr></tbody></table></table-wrap><p>Note: a, Ghia [<xref ref-type="bibr" rid="scirp.54003-ref8">8</xref>] b, Hou [<xref ref-type="bibr" rid="scirp.54003-ref9">9</xref>] , c, semi-implicit scheme.</p><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Comparison of iterations between two schemes</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >Re</th><th align="center" valign="middle"  rowspan="2"  >Er</th><th align="center" valign="middle"  colspan="2"  >Iterations</th><th align="center" valign="middle"  rowspan="2"  >Ef</th></tr></thead><tr><td align="center" valign="middle" >I<sub>standard</sub></td><td align="center" valign="middle" >I<sub>semi-implicit</sub></td></tr><tr><td align="center" valign="middle" >400</td><td align="center" valign="middle" >1.0E−6</td><td align="center" valign="middle" >60,000</td><td align="center" valign="middle" >37,900</td><td align="center" valign="middle" >36.8%</td></tr><tr><td align="center" valign="middle" >1000</td><td align="center" valign="middle" >1.0E−6</td><td align="center" valign="middle" >83,000</td><td align="center" valign="middle" >59,500</td><td align="center" valign="middle" >28.3%</td></tr><tr><td align="center" valign="middle" >2000</td><td align="center" valign="middle" >1.0E−6</td><td align="center" valign="middle" >108,700</td><td align="center" valign="middle" >79,800</td><td align="center" valign="middle" >26.6%</td></tr><tr><td align="center" valign="middle" >3000</td><td align="center" valign="middle" >1.0E−6</td><td align="center" valign="middle" >182,000</td><td align="center" valign="middle" >106,000</td><td align="center" valign="middle" >41.8%</td></tr><tr><td align="center" valign="middle" >3100</td><td align="center" valign="middle" >1.0E−6</td><td align="center" valign="middle" >194,000</td><td align="center" valign="middle" >107,600</td><td align="center" valign="middle" >44.5%</td></tr><tr><td align="center" valign="middle" >3200</td><td align="center" valign="middle" >1.0E−6</td><td align="center" valign="middle" >210,000</td><td align="center" valign="middle" >109,200</td><td align="center" valign="middle" >48.0%</td></tr><tr><td align="center" valign="middle" >3300</td><td align="center" valign="middle" >1.0E−6</td><td align="center" valign="middle" >242,000</td><td align="center" valign="middle" >110,800</td><td align="center" valign="middle" >54.2%</td></tr><tr><td align="center" valign="middle" >3400</td><td align="center" valign="middle" >1.0E−6</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >114,800</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >5000</td><td align="center" valign="middle" >1.0E−6</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >197,000</td><td align="center" valign="middle" >-</td></tr></tbody></table></table-wrap><fig-group id="fig2"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Stream functions for different Reynolds numbers.</title></caption><fig id ="fig2_1"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-2320190x52.png"/></fig><fig id ="fig2_2"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-2320190x51.png"/></fig><fig id ="fig2_3"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-2320190x50.png"/></fig></fig-group><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Comparison of iterations between two schemes</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-2320190x53.png"/></fig><p>scheme. The iterations can be saved about 30%, when Re less than 3000, and the advantage of semi-implicit scheme becomes more obvious as the Re increases. The standard scheme is not converged once Re &gt; 3400. On the contrary, the iterations of semi-implicit scheme is approximately linear to Re (<xref ref-type="fig" rid="fig3">Figure 3</xref>).</p></sec></sec><sec id="s4"><title>4. Conclusion</title><p>The essence of semi-implicit scheme is that it uses the latest equilibrium distribution function, computed by the new macroscopic variables. The semi-implicit scheme accelerates the computation rate of flowing status to steady statement and increases the computation efficiency. In addition, the application of semi-implicit scheme is not limited to the cavity flow simulation; many other problems can choose this scheme to reduce the total computing time.</p></sec><sec id="s5"><title>Acknowledgements</title><p>We would like to express appreciation to the following financial support: the National Natural Science Foundation of China (No. 51490654, 51234007), the National Natural Science Foundation of Shandong Province (No. ZR2013DL011, No. ZR2014EEP018), China Postdoctoral Science Foundation (No. 2014M551989).</p></sec><sec id="s6"><title>NOTES</title></sec></body><back><ref-list><title>References</title><ref id="scirp.54003-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Wellein, G., Zeiser, T., Hager, G. and Donath, S. (2006) On the Single Processor Performance of Simple Lattice Boltzmann Kernels. Computers &amp; Fluids, 35, 910-919. http://dx.doi.org/10.1016/j.compfluid.2005.02.008</mixed-citation></ref><ref id="scirp.54003-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Ma, J., Wu, K., Jiang, Z. and Couples, G.D. (2010) SHIFT: An Implementation for Lattice Boltzmann Simulation in Low-Porosity Porous Media. Physical Review E, 81, Article ID: 056702. http://dx.doi.org/10.1103/PhysRevE.81.056702</mixed-citation></ref><ref id="scirp.54003-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Skordos, P.A. (1995) Parallel Simulation of Subsonic Fluid Dynamics on a Cluster of Workstations. Proceedings of the Fourth IEEE International Symposium, Washington DC, 2-4 August 1995, 6-16.</mixed-citation></ref><ref id="scirp.54003-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Amati, G., Succi, S. and Piva, R. (1997) Massively Parallel Lattice-Boltzmann Simulation of Turbulent Channel Flow. International Journal of Modern Physics C, 8, 869-877. http://dx.doi.org/10.1142/S0129183197000746</mixed-citation></ref><ref id="scirp.54003-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Martys, N.S., Hagedorn, J.G., Goujon, D. and Devaney, J.E. (1999) Large-Scale Simulations of Single- and Multicomponent Flow in Porous Media. Proceedings of the International Symposiumon Optical Science, Engineering, and Instrumentation, Denver, 18 July 1999, 205-213. http://dx.doi.org/10.1117/12.363723</mixed-citation></ref><ref id="scirp.54003-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Tolke, J. (2010) Implementation of a Lattice Boltzmann Kernel Using the Compute Unified Device Architecture Developed by nVIDIA. Computing and Visualization in Science, 13, 29-39.http://dx.doi.org/10.1007/s00791-008-0120-2</mixed-citation></ref><ref id="scirp.54003-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Kuznik, F., Obrecht, C., Rusaouen, G., and Roux, J.J. (2010) LBM Based Flow Simulation Using GPU Computing Processor. Computers &amp; Mathematics with Applications, 59, 2380-2392. http://dx.doi.org/10.1016/j.camwa.2009.08.052</mixed-citation></ref><ref id="scirp.54003-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Ghia, U.K.N.G., Ghia, K.N. and Shin, C.T. (1982) High-Re Solutions for Incompressible Flow Using the Navier-Stokes Equations and a Multigrid Method. Journal of Computational Physics, 48, 387-411.http://dx.doi.org/10.1016/0021-9991(82)90058-4</mixed-citation></ref><ref id="scirp.54003-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Hou, S., Zou, Q., Chen, S., Doolen, G. and Cogley, A.C. (1995) Simulation of Cavity Flow by the Lattice Boltzmann Method. Journal of Computational Physics, 118, 329-347. http://dx.doi.org/10.1006/jcph.1995.1103</mixed-citation></ref><ref id="scirp.54003-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Bhatnagar, P.L., Gross, E.P. and Krook, M. (1954) A Model for Collision Processes in Gases. I. Small Amplitude Processes in Charged and Neutral One-Component Systems. Physical Review, 94, 511-525.http://dx.doi.org/10.1103/PhysRev.94.511</mixed-citation></ref><ref id="scirp.54003-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Qian, Y.H., D’Humières, D. and Lallemand, P. (1992) Lattice BGK Models for Navier-Stokes Equation. Europhysics Letters, 17, 479. http://dx.doi.org/10.1209/0295-5075/17/6/001</mixed-citation></ref><ref id="scirp.54003-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Guo, Z.L., Zheng, C.G. and Shi, B.C. (2002) Non-Equilibrium Extrapolation Method for Velocity and Pressure Boundary Conditions in the Lattice Boltzmann Method. Chinese Physics, 11, 366-374. http://dx.doi.org/10.1088/1009-1963/11/4/310</mixed-citation></ref></ref-list></back></article>