<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Phys.</journal-id>
<journal-title>Frontiers in Physics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Phys.</abbrev-journal-title>
<issn pub-type="epub">2296-424X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">875628</article-id>
<article-id pub-id-type="doi">10.3389/fphy.2022.875628</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Physics</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Advection&#x2013;Diffusion Lattice Boltzmann Method With and Without Dynamical Filter</article-title>
<alt-title alt-title-type="left-running-head">Zhang et al.</alt-title>
<alt-title alt-title-type="right-running-head">AD-LBM With Filter</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Zhihong</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1675123/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Zhiqiang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Wu</surname>
<given-names>Yunke</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>School of Energy and Power Engineering</institution>, <institution>Beihang University</institution>, <addr-line>Beijing</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Aero Engine Academic of China</institution>, <addr-line>Beijing</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/73022/overview">Lev Shchur</ext-link>, Landau Institute for Theoretical Physics, Russia</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1687618/overview">Oleg Ilyin</ext-link>, Federal Research Center Computer Science and Control (RAS), Russia</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1698081/overview">Christophe Coreixas</ext-link>, Universit&#xe9; de Gen&#xe8;ve, Switzerland</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Yunke Wu, <email>buaaake@buaa.edu.cn</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Interdisciplinary Physics, a section of the journal Frontiers in Physics</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>05</day>
<month>05</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>10</volume>
<elocation-id>875628</elocation-id>
<history>
<date date-type="received">
<day>16</day>
<month>02</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>20</day>
<month>04</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2022 Zhang, Li and Wu.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Zhang, Li and Wu</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>In multi-component flow and/or thermal flows, when the diffusion coefficient of the advection&#x2013;diffusion equation is relatively small, the relaxation coefficient in the lattice Boltzmann method will be close to 0.5, which will lead to numerical instability. The stability conditions will become more severe, when there are high gradient regions in the computational domain. In order to improve the stability of advection&#x2013;diffusion lattice Boltzmann method to simulate scalar transport in complex flow, a hybrid regularized collision operators and a dynamic filtering method which is suitable for the convection-diffusion lattice Boltzmann method are proposed in this paper. The advection&#x2013;diffusion lattice Boltzmann method is first tested in uniform flow with smooth and discontinuous initial conditions. Then the scalar transport in doubly periodic shear layer flow is tested, which is sensitive to numerical stability. The adaptive dynamic filtering method is also tested. The results are compared to the classical finite difference method and to the lattice Boltzmann method using the projection-based regularized and standard Bahtnagar-Gross-Krook collision operator. The results show that the hybrid regularized collision operator has advantages in simulating the scalar advection-diffusion problem with small diffusion coefficient. In addition, the adaptive filtering method can also improve the numerical stability of the lattice Boltzmann method with limited numerical dissipation.</p>
</abstract>
<kwd-group>
<kwd>lattice Boltzmann method</kwd>
<kwd>numerical stability</kwd>
<kwd>dynamic filter</kwd>
<kwd>passive scalar</kwd>
<kwd>dissipation</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Species transport and heat transfer flows are widely present in real-world systems with complicated geometry (gas turbines, burners, furnaces, and so on), and accurate numerical simulation of these processes is key to initial design. The governing equations consist of three main components: (a) Navier&#x2013;Stokes equations for the fluid, (b) heat transport equation and (c) a set of transport equations for the species. Conventional numerical methods for solving these equations include finite difference methods, finite volume methods, and finite element methods. Although initially developed to solve the Navier&#x2013;Stokes (NS) equation, lattice Boltzmann method have been extended to a variety of applications and flows [<xref ref-type="bibr" rid="B1">1</xref>&#x2013;<xref ref-type="bibr" rid="B3">3</xref>]. The local nature of the time evolution of the LBM helps to simplify the numerical coding process, improve the parallel scalability of the algorithm, and make the implementation of the complex boundary conditions straightforward. The disadvantage of LBM is that as the number of lattice velocity sets increases, more memory storage will be required. Despite the latter issue, the lattice Boltzmann method has emerged as a potential alternative for simulating a range of complex flows throughout the last decade.</p>
<p>The advection-diffusion or passive scalar LBM is widely used in the literature, especially under the assumption of incompressible flow [<xref ref-type="bibr" rid="B4">4</xref>&#x2013;<xref ref-type="bibr" rid="B6">6</xref>]. In this approach, the LBM flow solver is used to model the conservation of mass and momentum, while the temperature and species fields were handled using other sets of distribution functions. And it is assumed that the species and temperature distribution have little effect on the density, so the effect of species and temperature changes on the flow can be reflected by adding body force terms in the LBM flow solver. Hosseini [<xref ref-type="bibr" rid="B7">7</xref>, <xref ref-type="bibr" rid="B8">8</xref>] modified the classical advection-diffusion LBM, which can consider the effects of the changes of thermophysical parameters and transport coefficients, and used the modified LBM to simulate the reacting flows with detailed thermo-chemical models.</p>
<p>However, when the relaxation factor in LBM is very close to 0.5, it is easy to cause instability. The origin of LBM instability has been actively studied and remains an open topic [<xref ref-type="bibr" rid="B9">9</xref>, <xref ref-type="bibr" rid="B10">10</xref>]. An extension of the von Neumann linear analysis showed that modal interactions due to the error in the time and space discretization can lead to severe linear instabilities [<xref ref-type="bibr" rid="B11">11</xref>]. A linear perturbative analysis methodology has been proposed to study the stability properties of the isothermal discrete velocity Boltzmann equations using the Knudsen number as parameter [<xref ref-type="bibr" rid="B12">12</xref>]. Linear stability analysis of isothermal lattice Boltzmann methods has been carried out to investigate the impact of the collision model on numerical stability [<xref ref-type="bibr" rid="B13">13</xref>&#x2013;<xref ref-type="bibr" rid="B16">16</xref>]. The modal couplings depending on the exact value of the relaxation time, mean flow quantities, or even mesh resolution can appear and make a perfectly stable wave become unstable. For the compressible thermal flow, a spectral study of the compressible hybrid lattice Boltzmann method on standard lattice has been proposed to study the effect of the choice of numerical parameters on computational stability [<xref ref-type="bibr" rid="B17">17</xref>]. Suga [<xref ref-type="bibr" rid="B18">18</xref>] performed a linear stability analysis of the two-dimensional LBM for advection-diffusion equation and derived stable regions for different dimensionless relaxation coefficients. Hosseini [<xref ref-type="bibr" rid="B19">19</xref>] used the von Neumann method to analyze the stability of the LBM for advection-diffusion equation, and investigated the effects of different distribution functions and different parameters such as lattice sound velocity on the stability region. The main consequence of the LBM instability is to create numerical oscillations during the simulation, which are mainly characterized by high-frequency waves propagating throughout the computational domain. The numerical instability become more severe when discontinuous initial conditions, inappropriate boundary conditions, or high gradient regions exist in the computational domain. In order to expand the stability region of LBM, various theoretical methods have been proposed, including: multiple relaxation times [<xref ref-type="bibr" rid="B20">20</xref>], regularization techniques [<xref ref-type="bibr" rid="B21">21</xref>], entropic models [<xref ref-type="bibr" rid="B22">22</xref>].</p>
<p>Compared with the method of theoretically modifying the LBM, other studies use filtering methods to improve the stability of the calculation. The filtering methodology has already been extensively discussed for fluid flow simulations based on LBM, including static [<xref ref-type="bibr" rid="B23">23</xref>, <xref ref-type="bibr" rid="B24">24</xref>] and adaptive filtering strategies [<xref ref-type="bibr" rid="B25">25</xref>, <xref ref-type="bibr" rid="B26">26</xref>]. Ricot [<xref ref-type="bibr" rid="B23">23</xref>] proposed a high-order spatial filter to stabilize the LBM by increasing the dissipation in the high wavenumber range where the instabilities occur. However, the use of high-order filters will increase the stencil of LBM and reduce computational efficiency. Mari&#xe9; [<xref ref-type="bibr" rid="B26">26</xref>] et al. proposed a dynamical adaptive filtering method to improve stability of LBM. In this method, the filter coefficients depend on the local shear stress, which can improve the computational stability without introducing excessive numerical dissipation. Moreover, the dynamical filtering strategy can work with low-order stencil, which is consistent with the LBM.</p>
<p>In this paper, the advection&#x2013;diffusion lattice Boltzmann method is first tested in uniform flow with smooth and discontinuous initial conditions. In order to test the ability of advection-diffusion LBM in simulating scalar transport problems in complex flow, we use the scalar transport in doubly periodic shear layer flow as an example to compare the results of advection-diffusion LBM using different collision operators respectively. These collision operators are the projection based regularized collision operator, classical BGK collision operator and the hybrid regularized collision operator. Further, the effect of using dynamic filtering method to improve the stability of advection-diffusion LBM is explored. In this filtering method, the gradient of the transport scalar is selected as the sensitive variable. In the region with smooth variable distribution, the intensity coefficient of the filter is small to avoid introducing too much artificial dissipation, while in the region with large gradient distribution or discontinuity, the intensity coefficient of the filter is large to suppress the development of numerical oscillation.</p>
<p>The rest of the paper is organized as follows. A brief presentation of the LBM is given in <xref ref-type="sec" rid="s2">Section 2</xref>. The filtering strategy is described in <xref ref-type="sec" rid="s3">Section 3</xref>. The results of the scalar transport in uniform flow and doubly periodic shear layer flow obtained with the numerical method are presented in <xref ref-type="sec" rid="s4">Section 4</xref>. Finally, a brief conclusion is given.</p>
</sec>
<sec id="s2">
<title>2 Lattice Boltzmann Model</title>
<p>In the context of the present study a weakly compressible 2-D recursive regularization lattice model has been used as the flow field solver. The same grid structure and spacing is used for passive scalar fields.</p>
<sec id="s2-1">
<title>2.1 LBM for the Flow Field</title>
<p>With the initial solution simply defined by initial macroscopic fields <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> , with <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>m</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> the mass source and <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> the volume force term, the step-by-step lattice Boltzmann method that predicts <inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> following an approximate Navier-Stokes system is given.</p>
<p>
<statement content-type="step" id="Step_1">
<label>Step 1</label>
<p>: Equilibrium construction</p>
<p>Considering the fourth order Hermite expansion of Maxwell-Boltzmann distribution, one can obtain the equilibrium distribution function [<xref ref-type="bibr" rid="B27">27</xref>].<disp-formula id="e1">
<mml:math id="m5">
<mml:mrow>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi>&#x3c1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>i</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>i</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>4</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>i</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mn>6</mml:mn>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>6</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>i</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mn>24</mml:mn>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>8</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <inline-formula id="inf5">
<mml:math id="m6">
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is the weight coefficient, and <inline-formula id="inf6">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:msqrt>
<mml:mn>3</mml:mn>
</mml:msqrt>
</mml:mrow>
</mml:math>
</inline-formula> is the speed of sound in lattice units. The discrete velocity vectors and weight coefficients are defined as<disp-formula id="e2">
<mml:math id="m8">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m9">
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x223c;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
<mml:mo>&#x223c;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mn>36</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>The Hermite polynomials read<disp-formula id="e4a">
<mml:math id="m10">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="normal">&#xff0c;</mml:mi>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(4a)</label>
</disp-formula>
<disp-formula id="e4b">
<mml:math id="m11">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(4b)</label>
</disp-formula>
<disp-formula id="e4c">
<mml:math id="m12">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>4</mml:mn>
</mml:msubsup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(4c)</label>
</disp-formula>
</p>
<p>The third-order Hermite polynomials supported by the D2Q9 basis are <inline-formula id="inf7">
<mml:math id="m13">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>i</mml:mtext>
<mml:mi>x</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf8">
<mml:math id="m14">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>i</mml:mtext>
<mml:mi>y</mml:mi>
<mml:mi>y</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, and the fourth-order Hermite polynomials supported by the D2Q9 basis is <inline-formula id="inf9">
<mml:math id="m15">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>i</mml:mtext>
<mml:mi>x</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</statement>
</p>
<p>
<statement content-type="step" id="Step_2">
<label>Step 2</label>
<p>: Force construction</p>
<p>The forcing population is extended to second order [<xref ref-type="bibr" rid="B28">28</xref>, <xref ref-type="bibr" rid="B29">29</xref>],<disp-formula id="e5">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>i</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>i</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>4</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>with its Hermite moments defined as<disp-formula id="e6">
<mml:math id="m17">
<mml:mrow>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mi>F</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2202;</mml:mo>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2202;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3c1;</mml:mi>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mfrac>
<mml:mn>2</mml:mn>
<mml:mn>3</mml:mn>
</mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2202;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2202;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>m</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m18">
<mml:mrow>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
<disp-formula id="e8">
<mml:math id="m19">
<mml:mrow>
<mml:msup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>m</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>with <inline-formula id="inf10">
<mml:math id="m20">
<mml:mrow>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> the isotropy defect of the equilibrium distribution function. Here, for the D2Q9 lattice, the isotropy defects are <inline-formula id="inf11">
<mml:math id="m21">
<mml:mrow>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c1;</mml:mi>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mi>x</mml:mi>
<mml:mn>3</mml:mn>
</mml:msubsup>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf12">
<mml:math id="m22">
<mml:mrow>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</statement>
</p>
<p>
<statement content-type="step" id="Step_3">
<label>Step 3</label>
<p>: Non-equilibrium construction</p>
<p>Using the BGK collision operator, the non-equilibrium distribution function is obtained as:<disp-formula id="e9">
<mml:math id="m23">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
<p>However, when the relaxation factor of the BGK form of the LBM model is close to the critical value, the accuracy will be reduced. The use of regularized collision operators can effectively broaden the application range of the LBM model. For simulating isothermal flow with standard D2Q9 model, the recursive regularization collision operator with the third-order Hermite expansion [<xref ref-type="bibr" rid="B30">30</xref>] can obtain stable result, the non-equilibrium distribution function is obtained as:<disp-formula id="e10">
<mml:math id="m24">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>i</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>S</mml:mi>
<mml:mn>4</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mi>&#x3a0;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>i</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mn>6</mml:mn>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>S</mml:mi>
<mml:mn>6</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#xa0;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mi>&#x3a0;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mi>&#x3a0;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b3;</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mi>&#x3a0;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>where the second order moment of the non-equilibrium distribution function is<disp-formula id="e11">
<mml:math id="m25">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3a0;</mml:mi>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mi>q</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
</statement>
</p>
<p>
<statement content-type="step" id="Step_4">
<label>Step 4</label> <p>: Collision process</p>
<p>With the equilibrium distribution function <inline-formula id="inf13">
<mml:math id="m26">
<mml:mrow>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> , forcing population <inline-formula id="inf14">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and non-equilibrium distribution function <inline-formula id="inf15">
<mml:math id="m28">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are given in the previous steps, compute the collided distribution function as<disp-formula id="e12">
<mml:math id="m29">
<mml:mrow>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
</p>
<p>It should be noted that the prefactor commonly used with Guo&#x2019;s forcing methodology [<xref ref-type="bibr" rid="B28">28</xref>], i.e., (1 &#x2212; &#x2206;t/2&#x3c4;), is modified to &#x2206;t/2 because discrete effects are accounted for in the definition of the second-order non-equilibrium contribution (<xref ref-type="disp-formula" rid="e11">Eq. 11</xref>).</p>
<p>The relationship between the relaxation time <inline-formula id="inf16">
<mml:math id="m30">
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and the viscosity <inline-formula id="inf17">
<mml:math id="m31">
<mml:mi>&#x3bd;</mml:mi>
</mml:math>
</inline-formula> is as follows:<disp-formula id="e13">
<mml:math id="m32">
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
</statement>
</p>
<p>
<statement content-type="step" id="Step_5">
<label>Step 5</label>
<p>: Streaming process</p>
<p>Transport the distribution to neighbouring nodes according to<disp-formula id="e14">
<mml:math id="m33">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
</statement>
</p>
<p>
<statement content-type="step" id="Step_6">
<label>Step 6</label>
<p>: Update macroscopic variables</p>
<p>The density <inline-formula id="inf18">
<mml:math id="m34">
<mml:mi>&#x3c1;</mml:mi>
</mml:math>
</inline-formula> and velocity <inline-formula id="inf19">
<mml:math id="m35">
<mml:mi>u</mml:mi>
</mml:math>
</inline-formula> are (weighted) sums of the distribution <inline-formula id="inf20">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.<disp-formula id="e15">
<mml:math id="m37">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mi>q</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>m</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
<disp-formula id="e16">
<mml:math id="m38">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mi>q</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
</statement>
</p>
</sec>
<sec id="s2-2">
<title>2.2 LBM for the Scalar Field</title>
<p>For a scalar field <inline-formula id="inf21">
<mml:math id="m39">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, the governing equation of the convection-diffusion process is:<disp-formula id="e17">
<mml:math id="m40">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2202;</mml:mo>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2202;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>where <inline-formula id="inf22">
<mml:math id="m41">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula> represents a conserved physical quantity, such as temperature or component concentration. The left side of the equation describes the convection process of the scalar <inline-formula id="inf23">
<mml:math id="m42">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula> along with the external fluid velocity <inline-formula id="inf24">
<mml:math id="m43">
<mml:mrow>
<mml:mi mathvariant="bold">u&#xa0;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The first term on the right side of the equation is the diffusion term, where <inline-formula id="inf25">
<mml:math id="m44">
<mml:mi>D</mml:mi>
</mml:math>
</inline-formula> is the diffusion coefficient, and the second term <inline-formula id="inf26">
<mml:math id="m45">
<mml:mi>F</mml:mi>
</mml:math>
</inline-formula> is the source term.</p>
<p>The advection&#x2013;diffusion LBM is based on the following space&#x2013;time evolution equation for the distribution function:<disp-formula id="e18">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3a9;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>where the first item on the right-hand side is the collision source item. The prefactor (1 &#x2212; <italic>&#x2206;t/</italic>2<italic>&#x3c4;</italic>
<sub>
<italic>g</italic>
</sub>) was proposed by Guo et al. to reduce discrete effect issues [<xref ref-type="bibr" rid="B28">28</xref>]. For the collision operator in the form of BGK:<disp-formula id="e19">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3a9;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#xa0;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
</p>
<p>The second item on the right-hand side of <xref ref-type="disp-formula" rid="e17">Eq. 17</xref> is the source term used to correct the error caused by the convection term [<xref ref-type="bibr" rid="B31">31</xref>]:<disp-formula id="e20">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mo>&#x2202;</mml:mo>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
<p>The time derivative is computed by first-order Euler method.</p>
<p>The relationship between the relaxation time <inline-formula id="inf27">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the diffusion coefficient <inline-formula id="inf28">
<mml:math id="m50">
<mml:mi>D</mml:mi>
</mml:math>
</inline-formula> is as follows:<disp-formula id="e21">
<mml:math id="m51">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>
</p>
<p>Given the reduced number of moments conserved in the advection&#x2013;diffusion model and absence of non-linear velocity terms in the target macroscopic equation, the equilibrium distribution function can be truncated at first order<disp-formula id="e22">
<mml:math id="m52">
<mml:mrow>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>l</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>
</p>
<p>The D2Q9 model is also used to solve the scalar transport process in this paper, because it is more robust and accurate than the D2Q4 or D2Q5 model when the convection is strong. The specific values of its lattice parameters are shown in the previous section.</p>
<p>The advection&#x2013;diffusion LBM algorithm is divided into two parts: collision process and streaming process.</p>
<p>The collision process is:<disp-formula id="e23">
<mml:math id="m53">
<mml:mrow>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>l</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>l</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>l</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>
</p>
<p>Among them, <inline-formula id="inf29">
<mml:math id="m54">
<mml:mrow>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>l</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the off-equilibrium distribution, in the collision kernel of the BGK form, <inline-formula id="inf30">
<mml:math id="m55">
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>l</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>. For the regularized collision operator, the off-equilibrium distribution needs to be reconstructed.</p>
<p>The streaming process reads:<disp-formula id="e24">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>l</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>
</p>
<p>When the distribution function after streaming process is obtained, the scalar value of the next time step can be obtained from:<disp-formula id="e25">
<mml:math id="m57">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
</mml:munder>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>
</p>
<p>Both the BGK form and the regularized form of collision operators can recover the correct macroscopic convection-diffusion <xref ref-type="disp-formula" rid="e16">Eq. 16</xref>. The main idea of regularized method is to reconstruct the off-equilibrium distribution before the collision step [<xref ref-type="bibr" rid="B32">32</xref>, <xref ref-type="bibr" rid="B33">33</xref>]. By using the Hermite polynomial to expand the off-equilibrium distribution, the off-equilibrium distribution reads:<disp-formula id="e26">
<mml:math id="m58">
<mml:mrow>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>w</mml:mi>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mn>1</mml:mn>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>!</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>where the sum begins at <inline-formula id="inf31">
<mml:math id="m59">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> due to the conservation of scalar. Furthermore, <inline-formula id="inf32">
<mml:math id="m60">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the expansion coefficient of the off-equilibrium distribution, which needs to be determined.</p>
<p>For the regularization model based on direct projection (denoted PR-LBM), the first-order expansion coefficient <inline-formula id="inf33">
<mml:math id="m61">
<mml:mrow>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>&#x3b1;</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is obtained by directly projecting the off-equilibrium distribution function to the first-order tensor of Hermite polynomial:<disp-formula id="e27">
<mml:math id="m62">
<mml:mrow>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2248;</mml:mo>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mi>q</mml:mi>
</mml:munderover>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>
</p>
<p>The second order expansion coefficient <inline-formula id="inf34">
<mml:math id="m63">
<mml:mrow>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>&#x3b1;&#x3b2;</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> can be obtained by using the formula [<xref ref-type="bibr" rid="B34">34</xref>].<disp-formula id="e28">
<mml:math id="m64">
<mml:mrow>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2248;</mml:mo>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mi>q</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>
</p>
<p>In this paper, the collision operator based on first-order direct projection is denoted PR1st, and the collision operator based on second-order direct projection is denoted PR2nd.</p>
<p>Similar to the use of finite difference for the reconstruction of the non-equilibrium part in the flow field LBM [<xref ref-type="bibr" rid="B35">35</xref>, <xref ref-type="bibr" rid="B36">36</xref>], the first-order expansion coefficient <inline-formula id="inf35">
<mml:math id="m65">
<mml:mrow>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> can also be calculated from macroscopic quantity. Through the Chapman-Enskog analysis, the relationship between the expansion coefficient and the macroscopic quantity can be obtained [<xref ref-type="bibr" rid="B37">37</xref>]:<disp-formula id="e29">
<mml:math id="m66">
<mml:mrow>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:msub>
<mml:mo>&#x2202;</mml:mo>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>
</p>
<p>This term is assessed <italic>via</italic> the finite difference method (hence the FD subscript). Here, we using the second-order centered finite differences scheme to compute the gradient term <inline-formula id="inf36">
<mml:math id="m67">
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> , and the explicit Euler scheme to compute the time derivative term <inline-formula id="inf37">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mo>&#x2202;</mml:mo>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>A hybrid regularization method that was developed for the fluid dynamics was proposed by Jacob et al. [<xref ref-type="bibr" rid="B38">38</xref>]. In this model, the off-equilibrium coefficients are evaluated by combining two different approximations. The first approximation is direct projection of the off-equilibrium and the second approximation is computed by finite difference method as to the best approximate the viscous tensor. As shown in their article, excellent numerical stability is obtained by using the hybrid regularization collision model.</p>
<p>In this work, inspired by the hybrid regularization method [<xref ref-type="bibr" rid="B38">38</xref>] developed for the fluid dynamics, we propose a hybrid regularization procedure for the convection-diffusion LBM.</p>
<p>The adjustment factor <inline-formula id="inf38">
<mml:math id="m69">
<mml:mi>&#x3b2;</mml:mi>
</mml:math>
</inline-formula> is introduced to obtain a hybrid regularization (denoted as HR-LBM) reconstruction of the expansion coefficient:<disp-formula id="e30">
<mml:math id="m70">
<mml:mrow>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mi>q</mml:mi>
</mml:munderover>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>where <inline-formula id="inf39">
<mml:math id="m71">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is a free parameter. When <inline-formula id="inf40">
<mml:math id="m72">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the model corresponds to the first-order projection based regularized LBM method (PR1st-LBM). Through numerical experiments, when the adjustment factor is taken as <inline-formula id="inf41">
<mml:math id="m73">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.95</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the hybrid regularization reconstruction method has a good performance in terms of stability and accuracy.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Dynamical Spatial Filters</title>
<p>The so-called filtering is actually smoothing the known discrete function in a given way, thereby filtering out high-frequency oscillation waves. The general expression of the filtering method can be written as:<disp-formula id="e31">
<mml:math id="m74">
<mml:mrow>
<mml:mi>(f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>))</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>D</mml:mi>
</mml:munderover>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>n</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>&#x3c3;</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(31)</label>
</disp-formula>where <inline-formula id="inf42">
<mml:math id="m75">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> is the number of grid points used in the filtering stencil, and <inline-formula id="inf43">
<mml:math id="m76">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the unit vector of the D-dimensional Cartesian coordinate. The parameter <inline-formula id="inf44">
<mml:math id="m77">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> determines the strength of the filter and is a constant between 0 and 1. The value of the coefficient <inline-formula id="inf45">
<mml:math id="m78">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> satisfies <inline-formula id="inf46">
<mml:math id="m79">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, so as to ensure that the filtering operation will not introduce dispersion error [<xref ref-type="bibr" rid="B39">39</xref>]. Considering the issues of computational cost, a standard 3-point stencil filter is used in this paper. The parameters of the filter are: <inline-formula id="inf47">
<mml:math id="m80">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>The traditional filtering method is carried out for the variables in the macroscopic equation. For the LBM, since its evolution process is based on the distribution function, in addition to filtering the macroscopic variables, the distribution function or the collision operator can also be filtered. However, to filter the distribution function or the collision operator, each discrete velocity needs to be filtered once. In order to reduce the computational cost, this paper studies the effect of filtering macroscopic variables on the stability and accuracy of LBM. The LBM algorithm for filtering macroscopic variables is: firstly, by performing the standard collision and streaming process, a new distribution function is obtained, and then the macroscopic variables are calculated by <xref ref-type="disp-formula" rid="e24">Eq. 24</xref>. At last, the resulting macroscopic variables are filtered using <xref ref-type="disp-formula" rid="e29">Eq. 29</xref>.</p>
<p>In this paper, we consider a dynamic filtering method applicable to the scalar convection-diffusion equation. The dynamic computation of the filter coefficient is directly inspired from the work by Mari&#xe9; et al. [<xref ref-type="bibr" rid="B26">26</xref>] in which <inline-formula id="inf48">
<mml:math id="m81">
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> stands for the viscous stress tensor. The main idea is to associate the filter coefficient with the gradient of the transport scalar, and the filter coefficient has the following form:<disp-formula id="e32">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(32)</label>
</disp-formula>where <inline-formula id="inf49">
<mml:math id="m83">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is the norm of the gradient of the transport scalar, and <inline-formula id="inf50">
<mml:math id="m84">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the strength of the static filter, which is a constant. <inline-formula id="inf51">
<mml:math id="m85">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a reference value for the magnitude of the gradient, which is used to define the sensitivity of the dynamic filter to large gradients and discontinuous. In order to better capture the numerical oscillations, we use the first-order finite difference method to calculate the gradient of the transport scalar.</p>
<p>The estimation of the reference value for the magnitude of the gradient <inline-formula id="inf52">
<mml:math id="m86">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> plays an important role in dynamic filtering. If the value of <inline-formula id="inf53">
<mml:math id="m87">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is too small, there will be obvious filtering effects in the entire computing domain, and the dynamic filter will be represented as a static filter with <inline-formula id="inf54">
<mml:math id="m88">
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2248;</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. If the value of <inline-formula id="inf55">
<mml:math id="m89">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is too large, then <inline-formula id="inf56">
<mml:math id="m90">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is close to 0 in the whole calculation domain, and the dynamic filter will basically not work. The value of <inline-formula id="inf57">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can be evaluated under empirical criteria based on the physical problems. One way to evaluate <inline-formula id="inf58">
<mml:math id="m92">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is to multiply the difference between the maximum and minimum of the scalar distribution in the computational domain by a coefficient <inline-formula id="inf59">
<mml:math id="m93">
<mml:mrow>
<mml:mi mathvariant="italic">&#x3f5;</mml:mi>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> ,namely:<disp-formula id="e33">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="italic">&#x3f5;</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(33)</label>
</disp-formula>
</p>
</sec>
<sec sec-type="results|discussion" id="s4">
<title>4 Results and Discussion</title>
<sec id="s4-1">
<title>4.1 Advection&#x2013;Diffusion in Uniform Flow</title>
<p>At first, we performed simple advection&#x2013;diffusion numerical experiments in uniform flow with smooth and discontinuous initial conditions to evaluate the scheme. We use the BGK, PR1st, PR2nd and the HR collision operators.</p>
<sec id="s4-1-1">
<title>4.1.1 Advection-Diffusion of a Gaussian Hill</title>
<p>Here, the advective-diffusion process of the Gaussian hill is used to test the scalar field LBM. The filtering strategy is not used in this test. The initial concentration profile is taken as:<disp-formula id="e34">
<mml:math id="m95">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>exp</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(34)</label>
</disp-formula>where <inline-formula id="inf60">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>m</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the initial mean squared deviation. In the presence of uniform velocity <inline-formula id="inf61">
<mml:math id="m97">
<mml:mrow>
<mml:mi mathvariant="bold-italic">u&#xa0;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the time evolution of the Gaussian hill has an analytical solution, given as:<disp-formula id="e35">
<mml:math id="m98">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>0</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>m</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>D</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>exp</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>m</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>D</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(35)</label>
</disp-formula>with <inline-formula id="inf62">
<mml:math id="m99">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>D</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msqrt>
<mml:mtext>&#xa0;</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf63">
<mml:math id="m100">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is diffusion coefficient.</p>
<p>To avoid the contribution of the boundary conditions, the computation takes place in a periodic domain with <inline-formula id="inf64">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>400</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>400</mml:mn>
<mml:mtext>&#xa0;</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> lattice nodes. The initial center of the Gaussian hill is at location <inline-formula id="inf65">
<mml:math id="m102">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>200,200</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mtext>&#xa0;</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>, and the initial width of the Gaussian hill is <inline-formula id="inf66">
<mml:math id="m103">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>m</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>10</mml:mn>
<mml:mtext>&#xa0;</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. The velocity is <inline-formula id="inf67">
<mml:math id="m104">
<mml:mrow>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, we choose <inline-formula id="inf68">
<mml:math id="m105">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the corresponding diffusion coefficient <inline-formula id="inf69">
<mml:math id="m106">
<mml:mi>D</mml:mi>
</mml:math>
</inline-formula> is determined by the P&#xe9;clet number defined as <inline-formula id="inf70">
<mml:math id="m107">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>m</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. In this test, we examine both the diffusion-dominated (Pe &#x3d; 1) and the advection-dominated <inline-formula id="inf71">
<mml:math id="m108">
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mtext>Pe</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1000</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>) regimes. Four collision operators BGK, PR1st, PR2nd and HR (<inline-formula id="inf72">
<mml:math id="m109">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>) are used for calculation.</p>
<p>We will use the L<sub>2</sub> error norm to quantitatively study the calculation accuracy of the model. Given the reference quantity <inline-formula id="inf73">
<mml:math id="m110">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and its numerical equivalent <inline-formula id="inf74">
<mml:math id="m111">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, we define the L<sub>2</sub> error norm as:<disp-formula id="e36">
<mml:math id="m112">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
<label>(36)</label>
</disp-formula>
</p>
<p>The sum runs over the entire spatial domain where <inline-formula id="inf75">
<mml:math id="m113">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula> is defined.</p>
<p>
<xref ref-type="fig" rid="F1">Figure 1</xref> shows the concentration profile for <inline-formula id="inf76">
<mml:math id="m114">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>200</mml:mn>
<mml:mtext>&#xa0;</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> at <inline-formula id="inf77">
<mml:math id="m115">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>200</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> with Pe &#x3d; 1. It can be seen that the BGK and PR2nd collision operators obtain almost the same results, which have significant errors. However, the results of the PR1st and HR collision operator agree well with the analytical solution. <xref ref-type="fig" rid="F2">Figure 2</xref> show the concentration profile for <inline-formula id="inf78">
<mml:math id="m116">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>200</mml:mn>
<mml:mtext>&#xa0;</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> at <inline-formula id="inf79">
<mml:math id="m117">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>200</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> with Pe &#x3d; 1000. It can be seen that all the four collision operators obtain results agree well with the analytical solution. Error comparison for <inline-formula id="inf80">
<mml:math id="m118">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf81">
<mml:math id="m119">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>1000</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> between different collision operators is given in <xref ref-type="table" rid="T1">Table 1</xref>. The similarity of the BGK and PR2nd collision operators can also be seen from the table.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Scalar distribution profile for <inline-formula id="inf82">
<mml:math id="m120">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>200</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> at <inline-formula id="inf83">
<mml:math id="m121">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>200</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> with Pe &#x3d; 1 for different collision operators.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g001.tif"/>
</fig>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Scalar distribution profile for <inline-formula id="inf84">
<mml:math id="m122">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>200</mml:mn>
<mml:mtext>&#xa0;</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> at <inline-formula id="inf85">
<mml:math id="m123">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>200</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> with Pe &#x3d; 1000 for different collision operators.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g002.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Error comparison for <inline-formula id="inf86">
<mml:math id="m124">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>1000</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> between different collision operators.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">
<inline-formula id="inf87">
<mml:math id="m125">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Pe</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">BGK</th>
<th align="center">PR1st</th>
<th align="center">PR2nd</th>
<th align="center">
<bold>HR</bold> (<inline-formula id="inf88">
<mml:math id="m126">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>)</th>
<th align="center">
<bold>HR</bold> (<inline-formula id="inf89">
<mml:math id="m127">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">1</td>
<td align="center">
<inline-formula id="inf90">
<mml:math id="m128">
<mml:mrow>
<mml:mn>2.2573</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf91">
<mml:math id="m129">
<mml:mrow>
<mml:mn>1.0054</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf92">
<mml:math id="m130">
<mml:mrow>
<mml:mn>2.3335</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf93">
<mml:math id="m131">
<mml:mrow>
<mml:mn>3.4286</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf94">
<mml:math id="m132">
<mml:mrow>
<mml:mn>1.7807</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">1000</td>
<td align="center">
<inline-formula id="inf95">
<mml:math id="m133">
<mml:mrow>
<mml:mn>1.1564</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf96">
<mml:math id="m134">
<mml:mrow>
<mml:mn>1.0842</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf97">
<mml:math id="m135">
<mml:mrow>
<mml:mn>1.1574</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf98">
<mml:math id="m136">
<mml:mrow>
<mml:mn>3.1075</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf99">
<mml:math id="m137">
<mml:mrow>
<mml:mn>8.3536</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-1-2">
<title>4.1.2 Advection-Diffusion of a Rectangular Pulse</title>
<p>In order to test the scalar field LBM with discontinuous initial condition problems, the one-dimensional advection-diffusion of a rectangular pulse is simulated in this section. The simulations are carried out using four different collision operators, BGK, PR1st, PR2nd and HR. Firstly, we make the test without using the filtering method.</p>
<p>The initial rectangular pulse is described as:<disp-formula id="e37">
<mml:math id="m138">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>1.5</mml:mn>
<mml:mi>W</mml:mi>
<mml:mo>&#x226a;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x226a;</mml:mo>
<mml:mn>2.5</mml:mn>
<mml:mi>W</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(37)</label>
</disp-formula>where <inline-formula id="inf100">
<mml:math id="m139">
<mml:mi>W</mml:mi>
</mml:math>
</inline-formula> is the pulse width. <inline-formula id="inf101">
<mml:math id="m140">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>10</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>W</mml:mi>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is the length of computational domain. In this problem, the velocity vector is <inline-formula id="inf102">
<mml:math id="m141">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and the diffusion coefficient is <inline-formula id="inf103">
<mml:math id="m142">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. The analytical solution of <inline-formula id="inf104">
<mml:math id="m143">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula> is given as<disp-formula id="e38">
<mml:math id="m144">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>W</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msqrt>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>W</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msqrt>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(38)</label>
</disp-formula>
</p>
<p>Here, <inline-formula id="inf105">
<mml:math id="m145">
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:msqrt>
<mml:mi>&#x3c0;</mml:mi>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x222b;</mml:mo>
</mml:mstyle>
<mml:mn>0</mml:mn>
<mml:mi>x</mml:mi>
</mml:munderover>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the error function.</p>
<p>When the diffusion coefficient of the convection-diffusion equation is relatively large, even if the initial flow field has discontinuous distribution, the discontinuity will become smooth due to the strong dissipation effect of the equation itself. We first take the diffusion coefficient <inline-formula id="inf106">
<mml:math id="m146">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0.1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>and</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the velocity is <inline-formula id="inf107">
<mml:math id="m147">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.05</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. The results show that the four collision operators achieve almost the same results. Because the differences between analytical, BGK, PR1st, PR2nd and HR (<inline-formula id="inf108">
<mml:math id="m148">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>) collision operators are small, only the results of HR collision operator are given in <xref ref-type="fig" rid="F3">Figure 3</xref>. There is no difference can be seen from the figure, and the errors of the results are further compared in <xref ref-type="table" rid="T2">Table 2</xref>. We can see that the errors of the results obtained by the four collision operators are basically the same.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Scalar distribution profile for <inline-formula id="inf109">
<mml:math id="m149">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0.1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> at <inline-formula id="inf110">
<mml:math id="m150">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2000</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> for the different schemes.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g003.tif"/>
</fig>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Error comparison for <inline-formula id="inf111">
<mml:math id="m151">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0.1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0.01</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> between different collision operators.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">
<inline-formula id="inf112">
<mml:math id="m152">
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:math>
</inline-formula>
</th>
<th align="center">BGK</th>
<th align="center">PR1st</th>
<th align="center">PR2nd</th>
<th align="center">
<bold>HR</bold> (<inline-formula id="inf113">
<mml:math id="m153">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">1</td>
<td align="center">
<inline-formula id="inf114">
<mml:math id="m154">
<mml:mrow>
<mml:mn>4.4067</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf115">
<mml:math id="m155">
<mml:mrow>
<mml:mn>4.4014</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf116">
<mml:math id="m156">
<mml:mrow>
<mml:mn>4.4067</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf117">
<mml:math id="m157">
<mml:mrow>
<mml:mn>4.3189</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">0.1</td>
<td align="center">
<inline-formula id="inf118">
<mml:math id="m158">
<mml:mrow>
<mml:mn>6.3048</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf119">
<mml:math id="m159">
<mml:mrow>
<mml:mn>6.3072</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf120">
<mml:math id="m160">
<mml:mrow>
<mml:mn>6.3048</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf121">
<mml:math id="m161">
<mml:mrow>
<mml:mn>6.3122</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">0.01</td>
<td align="center">
<inline-formula id="inf122">
<mml:math id="m162">
<mml:mrow>
<mml:mn>1.0749</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf123">
<mml:math id="m163">
<mml:mrow>
<mml:mn>1.0758</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf124">
<mml:math id="m164">
<mml:mrow>
<mml:mn>1.0749</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf125">
<mml:math id="m165">
<mml:mrow>
<mml:mn>1.4068</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>If the diffusion coefficient of the convection-diffusion equation is relatively small, when the initial condition has discontinuous, due to the small dissipation effect of the equation itself, oscillation will occur near the discontinuity. In this example, we choose diffusion coefficient <inline-formula id="inf126">
<mml:math id="m166">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and the velocity is <inline-formula id="inf127">
<mml:math id="m167">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.05</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. LBM with all the four collision operators BGK, PR1st, PR2nd and HR are tested. <xref ref-type="fig" rid="F4">Figure 4</xref> shows the concentration profile at <inline-formula id="inf128">
<mml:math id="m168">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2000</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. It can be seen that the BGK and PR2nd collision operators obtain almost the same results, which the solution is superimposed with high-frequency waves, but the results of the collision operators in the PR1st form gradually diverge with the calculation. For the HR collision operator, there is no high frequency wave in other regions except for a small overshoot near the discontinuities. It can be seen from <xref ref-type="fig" rid="F4">Figure 4D</xref> that when the <inline-formula id="inf129">
<mml:math id="m169">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.95</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the transition region at the discontinuity is the narrowest.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Scalar distribution profile for <inline-formula id="inf130">
<mml:math id="m170">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> at <inline-formula id="inf131">
<mml:math id="m171">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2000</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> for different schemes: <bold>(A)</bold> BGK, <bold>(B)</bold> PR1st, <bold>(C)</bold> PR2nd, <bold>(D)</bold> HR.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g004.tif"/>
</fig>
<p>In order to investigate the influence of the filtering strategy and choose the proper values of <inline-formula id="inf132">
<mml:math id="m172">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf133">
<mml:math id="m173">
<mml:mi mathvariant="italic">&#x3f5;</mml:mi>
</mml:math>
</inline-formula>, we use the BGK collision operator combined with the filtering method to simulate the advection-diffusion of a rectangular pulse. The diffusion coefficients are taken as <inline-formula id="inf134">
<mml:math id="m174">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf135">
<mml:math id="m175">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> respectively, and the velocity is <inline-formula id="inf136">
<mml:math id="m176">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.05</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. Specifically, <inline-formula id="inf137">
<mml:math id="m177">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf138">
<mml:math id="m178">
<mml:mi mathvariant="italic">&#x3f5;</mml:mi>
</mml:math>
</inline-formula> take the two values of 0.1 and 0.2, so there are four combinations. Scalar distribution profile is shown in <xref ref-type="fig" rid="F5">Figure 5</xref>, we can see that the four sets of filter coefficients can well suppress the oscillation generated at the discontinuity. When the initial discontinuity is transported by convection, its sharp distribution profile is smoothed by the filter, thus reducing the filter intensity coefficient <inline-formula id="inf139">
<mml:math id="m179">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> as depicted in <xref ref-type="fig" rid="F6">Figure 6</xref>. These observations show that the numerical dissipation effects introduced by the dynamical filter with four sets of filter coefficients are similar, with minor differences. When the diffusion coefficient is large, the filter with <inline-formula id="inf140">
<mml:math id="m180">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf141">
<mml:math id="m181">
<mml:mrow>
<mml:mi mathvariant="italic">&#x3f5;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> can be selected, and when the diffusion coefficient is small, the filter with <inline-formula id="inf142">
<mml:math id="m182">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf143">
<mml:math id="m183">
<mml:mrow>
<mml:mi mathvariant="italic">&#x3f5;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> can be selected.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Scalar distribution profile for at <inline-formula id="inf144">
<mml:math id="m184">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>20000</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> for different <inline-formula id="inf145">
<mml:math id="m185">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf146">
<mml:math id="m186">
<mml:mi mathvariant="italic">&#x3f5;</mml:mi>
</mml:math>
</inline-formula> <bold>(A)</bold> <inline-formula id="inf147">
<mml:math id="m187">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> , <bold>(B)</bold> <inline-formula id="inf148">
<mml:math id="m188">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g005.tif"/>
</fig>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Time trace of the maximum value of the coefficient <inline-formula id="inf149">
<mml:math id="m189">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> for different <inline-formula id="inf150">
<mml:math id="m190">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf151">
<mml:math id="m191">
<mml:mi mathvariant="italic">&#x3f5;</mml:mi>
</mml:math>
</inline-formula> <bold>(A)</bold> <inline-formula id="inf152">
<mml:math id="m192">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> , <bold>(B)</bold> <inline-formula id="inf153">
<mml:math id="m193">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g006.tif"/>
</fig>
</sec>
</sec>
<sec id="s4-2">
<title>4.2 Advection-Diffusion in Doubly Periodic Shear Layer Flow</title>
<p>To show the ability of the advection&#x2013;diffusion LBM and the filtering method, we used a simple test: the scalar transport in doubly periodic shear layer flow. It is a well-known test case which allows to quantify the stability of numerical schemes as a first step [<xref ref-type="bibr" rid="B9">9</xref>]. This flow is composed of two longitudinal shear layers, located at <inline-formula id="inf154">
<mml:math id="m194">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>/</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf155">
<mml:math id="m195">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> , in a 2D doubly periodic domain with <inline-formula id="inf156">
<mml:math id="m196">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. The periodic boundaries can avoid additional disturbance from the boundary. A transverse perturbation is superimposed to the flow, leading to the roll-up of the shear layers, and the generation of two counter-rotating vortices by the Kelvin-Helmholtz instability mechanism. We set the initial scalar field along with the flow field, which means that <inline-formula id="inf157">
<mml:math id="m197">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> between the shear layers, and in other location <inline-formula id="inf158">
<mml:math id="m198">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>The initial conditions are fully defined through<disp-formula id="e39">
<mml:math id="m199">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>tanh</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>tanh</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>&#x2265;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
<label>(39)</label>
</disp-formula>
<disp-formula id="e40">
<mml:math id="m200">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:msup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>sin</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(40)</label>
</disp-formula>
<disp-formula id="e41">
<mml:math id="m201">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>tanh</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>tanh</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>&#x2265;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(41)</label>
</disp-formula>where <inline-formula id="inf159">
<mml:math id="m202">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> , and <inline-formula id="inf160">
<mml:math id="m203">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the characteristic speed. <inline-formula id="inf161">
<mml:math id="m204">
<mml:mrow>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is related to the width of the shear layers while <inline-formula id="inf162">
<mml:math id="m205">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> controls the amplitude of the transverse perturbation. The critical parameters of this test case are the width of the shear layers, and the Reynolds number which is the ratio between convective and diffusive phenomena. Here the case of thin shear layers is considered, i.e., <inline-formula id="inf163">
<mml:math id="m206">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>80</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0.05</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. The characteristic speed is <inline-formula id="inf164">
<mml:math id="m207">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. Reynolds number is here fixed to a moderate value of <inline-formula id="inf165">
<mml:math id="m208">
<mml:mrow>
<mml:mtext>Re</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>&#x3bd;</mml:mi>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>30000</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. The P&#xe9;clet number is defined by: <inline-formula id="inf166">
<mml:math id="m209">
<mml:mrow>
<mml:mtext>Pe</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. It is also useful for the discussion to define the convective time as <inline-formula id="inf167">
<mml:math id="m210">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. The flow evolution was simulated up to <inline-formula id="inf168">
<mml:math id="m211">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for various resolutions from 64 &#xd7; 64 to 512 &#xd7; 512 Cartesian grid. In this test, the filter strength parameter is selected as <inline-formula id="inf169">
<mml:math id="m212">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and the coefficient of reference gradient norm is taken as <inline-formula id="inf170">
<mml:math id="m213">
<mml:mrow>
<mml:mi mathvariant="italic">&#x3f5;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<sec id="s4-2-1">
<title>4.2.1 Validation of the Velocity Field</title>
<p>In order to validate the flow-field, we successively simulated the rollup of the double shear layer. Both the BGK and the recursive regularization collision operator are used.</p>
<p>
<xref ref-type="fig" rid="F7">Figure 7</xref> presents dimensionless vorticity contours <inline-formula id="inf171">
<mml:math id="m214">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> obtained with the BGK collision operator after one convective time period <inline-formula id="inf172">
<mml:math id="m215">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Regarding the coarse mesh grid (128 &#xd7; 128), numerical oscillations are too strong for the simulation to remain stable. For the fine mesh grid (256 &#xd7; 256), although the simulation is stable, but there are two spurious secondary vortices are observed. For the finest mesh grid (512 &#xd7; 512), it does not show any premise of stability issues.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Vorticity contours in the double shear layer, for different grids with the BGK collision model. From left to right: 128 &#xd7; 128, 256 &#xd7; 256, and 512 &#xd7; 512.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g007.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F8">Figure 8</xref> presents dimensionless vorticity contours obtained with the recursive regularization collision operator after one convective time period <inline-formula id="inf173">
<mml:math id="m216">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. They all show convergence, despite the inevitable loss of accuracy of the gradients. The algorithm does converge even with the coarsest mesh grid (64 &#xd7; 64), and there are no spurious secondary vortices. When using the recursive regularization collision operator, the 256 &#xd7; 256 mesh grid can already obtain relatively accurate flow field information. Therefore, we use this grid resolution to calculate the coupling problem of LBM for fluid mechanics and LBM for scalar transport.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Vorticity contours in the double shear layer, for different grids with the recursive regularization collision model. From left to right: 64 &#xd7; 64, 128 &#xd7; 128, and 256 &#xd7; 256.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g008.tif"/>
</fig>
<p>Furthermore, we compare the velocity fields obtained under the third order and fourth order equilibrium distribution function expansions. The result is given in <xref ref-type="fig" rid="F9">Figure 9</xref>. We can see that the difference between the velocity fields obtained from the third and fourth order expansions is very small.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Comparison of velocity fields obtained by the third and fourth order expansion of the equilibrium distribution function: <bold>(A)</bold> velocity profiles along the diagonal lines, <bold>(B)</bold> contour of the velocity difference.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g009.tif"/>
</fig>
</sec>
<sec id="s4-2-2">
<title>4.2.2 Tests of Advection-Diffusion of Scalar</title>
<p>In this subsection, the passive scalar transport problem in periodic double shear layer is studied. Because the results obtained by the PR2nd and the BGK are similar, we only give the results of BGK. At first, to better understand the stability of the proposed schemes, the minimum number of grids required for three LBM collision operators that can obtain stable result for different P&#xe9;clet number are investigated. The flow evolution was simulated up to <inline-formula id="inf174">
<mml:math id="m217">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for three various resolutions 128 &#xd7; 128, 256 &#xd7; 256 and 512 &#xd7; 512 Cartesian grid. The results are given in <xref ref-type="table" rid="T3">Table 3</xref>.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Grid needed to obtain stable result for different model for given P&#xe9;clet number.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">P&#xe9;clet number</th>
<th align="center">
<inline-formula id="inf175">
<mml:math id="m218">
<mml:mrow>
<mml:mn>5.12</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf176">
<mml:math id="m219">
<mml:mrow>
<mml:mn>5.12</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf177">
<mml:math id="m220">
<mml:mrow>
<mml:mn>5.12</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mn>5</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">BGK</td>
<td align="char" char="&#xd7;">128 &#xd7; 128</td>
<td align="center">512 &#xd7; 512</td>
<td align="center">Unstable</td>
</tr>
<tr>
<td align="left">PR1st</td>
<td align="char" char="&#xd7;">128 &#xd7; 128</td>
<td align="center">Unstable</td>
<td align="center">Unstable</td>
</tr>
<tr>
<td align="left">HR</td>
<td align="char" char="&#xd7;">128 &#xd7; 128</td>
<td align="center">128 &#xd7; 128</td>
<td align="center">128 &#xd7; 128</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In the following parts of this section, the passive scalar transport problem in periodic double shear layer is studied in detail with two specific P&#xe9;clet numbers. The computation grid is 256 &#xd7; 256, and the velocity field is computed by recursively regularized LBM. The scalar transport equation is solved by using the advection-diffusion LBM with the three collision operators BGK, PR1st and HR respectively. We examine both the medium and extremely large P&#xe9;clet number regimes.</p>
<p>For comparison, the solution obtained with a classical finite-difference solver is also given. The LBM and FD solver use the same time-step, and first order forward Euler integration is used. Second order central difference operator is used for convection and diffusion.</p>
<p>Since the analytical solution is not available, we take the unfiltered BGK collision operator for a well resolved grid (1024 &#xd7; 1024) as the reference solution.</p>
<sec id="s4-2-2-1">
<title>4.2.2.1 Test Case With Medium Diffusion Coefficient</title>
<p>First, we consider the case where the equation itself has a medium diffusion coefficient. Here, the diffusion coefficient <inline-formula id="inf178">
<mml:math id="m221">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.005</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> , the corresponding P&#xe9;clet number is <inline-formula id="inf179">
<mml:math id="m222">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5120</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. For the case with relatively large diffusion coefficient, even if the filtering method is not used, the finite difference scheme and the LBM with three collision operators can obtain stable results. <xref ref-type="fig" rid="F10">Figure 10</xref> shows the contours of the scalar distribution of the results calculated by the FD method and the HR collision operator without using the filtering method. Here, the results of PR1st and HR collision operators are basically the same as BGK. For brevity, only the scalar concentration contour of HR is given. It can be seen from the figure that both the FD method and the LBM can well simulate the transport process of the passive scalar along the flow field. The results show that the high gradient regions are distributed smoothly and the details of scalar mixing as the vortex rolls up are well captured. <xref ref-type="fig" rid="F11">Figure 11A</xref> shows the scalar distribution along the counter-diagonal of the computational domain when no filtering method is used. It can be seen that the results of the LBM of the three collision operators are almost identical, and are basically consistent with the results of the FD scheme.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Scalar concentration contour plot in the double shear layer at <inline-formula id="inf180">
<mml:math id="m223">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5120</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> for the FD scheme <bold>(A)</bold> and HR collision operator <bold>(B)</bold> without filtering.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g010.tif"/>
</fig>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Scalar distribution profile at <inline-formula id="inf181">
<mml:math id="m224">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5120</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> along the counter-diagonal of the domain for the different schemes: <bold>(A)</bold> without filter, <bold>(B)</bold> comparison of results with and without filter.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g011.tif"/>
</fig>
<p>Next, we consider the effect of using the filtering method on the FD scheme and LBM. Here, because the results of the three collision operators are basically the same, only the HR collision operator is selected as the representative of the LBM. <xref ref-type="fig" rid="F11">Figure 11B</xref> presents a comparison of the scalar distribution along the counter-diagonal of the computational domain with and without the filter. It can be seen that for the example with a relatively large diffusion coefficient, the results using the filtering method are basically consistent with the results without filtering. The adaptive filtering method does not bring significant numerical dissipation.</p>
<p>For a quantitative measure of the error of HR model with and without the filter, the scalar distribution along the counter-diagonal of the computational domain against a reference solution is compared. The L<sub>2</sub> error of the unfiltered HR model is <inline-formula id="inf182">
<mml:math id="m225">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>4.3537</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, and the L<sub>2</sub> error of the filtered HR model is <inline-formula id="inf183">
<mml:math id="m226">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>4.7510</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>
<xref ref-type="fig" rid="F12">Figure 12</xref> shows the filter coefficients contour plot and the distribution profile along the counter-diagonal of the computational domain after using the filter with the FD method and the HR collision operator. We can see the results of the two schemes are basically consistent, and both show good adaptive filtering characteristics.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Filter coefficient contour plot in the double shear layer at <inline-formula id="inf184">
<mml:math id="m227">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5120</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>: <bold>(A)</bold> the FD scheme, <bold>(B)</bold> HR collision operator, and <bold>(C)</bold> filter coefficient profiles along the counter-diagonal of the domain.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g012.tif"/>
</fig>
</sec>
<sec id="s4-2-2-2">
<title>4.2.2.2 Test Case With Small Diffusion Coefficient</title>
<p>We now consider the case where the equation itself has a small diffusion coefficient. Here, the diffusion coefficient <inline-formula id="inf185">
<mml:math id="m228">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> , the corresponding P&#xe9;clet number is <inline-formula id="inf186">
<mml:math id="m229">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5.12</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mn>8</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. In this test, the extremely small value of diffusion coefficient is chosen to highlight the stability issues. For the case with small diffusion coefficient, when the filtering method is not used, whether it is the finite difference scheme or the LBM using any one of the three collision operators, the calculation results have a certain degree of numerical oscillation. The left side of <xref ref-type="fig" rid="F13">Figure 13</xref> shows the contours of the scalar distribution calculated by the FD scheme and LBM without the filtering method. It can be seen that the LBM with HR collision operator can simulate the transport process of the scalar along the flow field well, although there are small oscillations near the region with high gradient.</p>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Unfiltered (left) and filtered (right) results at <inline-formula id="inf187">
<mml:math id="m230">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5.12</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mn>8</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. From top to bottom: <bold>(A, B)</bold> FD unfiltered and filtered, <bold>(C, D)</bold> BGK unfiltered and filtered, <bold>(E, F)</bold> PR1st unfiltered and filtered, <bold>(G, H)</bold> HR unfiltered and filtered.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g013.tif"/>
</fig>
<p>For the results of the BGK collision operator, there are high-frequency oscillation waves in almost the entire computational domain. However, the simulation of the FD method and the LBM with PR1st collision operator cannot proceed to one convective time period, and the results tend to diverge. <xref ref-type="fig" rid="F14">Figure 14</xref> shows the scalar distribution along the counter-diagonal of the computational domain without and with filtering. It can be seen from <xref ref-type="fig" rid="F14">Figures 14A,C</xref> that when the filtering method is not used, the result of LBM with the BGK collision operator has obvious numerical oscillations on the entire curve, while the result of HR collision operator only has a certain overshoot.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Scalar distribution profile at <inline-formula id="inf188">
<mml:math id="m231">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5.12</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mn>8</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> along the counter-diagonal of the domain for different schemes: <bold>(A</bold>,<bold>B)</bold> BGK unfiltered and filtered, <bold>(C</bold>,<bold>D)</bold> HR unfiltered and filtered, <bold>(E)</bold> PR1st with filter, <bold>(F)</bold> FD scheme with filter.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g014.tif"/>
</fig>
<p>After using the filtering method, the stability of both the FD method and the LBM has been improved. The right side of <xref ref-type="fig" rid="F13">Figure 13</xref> shows the contours of the scalar distribution calculated by the FD scheme and LBM with the filtering method. It can be seen that for the FD method and the PR1st collision operator, the filtering method significantly reduces the magnitude of the numerical oscillation. After using the filtering method, the simulation can be carried out for one convective time period without divergence, but there are still obvious numerical oscillations in the whole computational domain.</p>
<p>It can be seen from <xref ref-type="fig" rid="F14">Figures 14E,F</xref> that when the filtering method is used, scalar distribution along the counter-diagonal of the computational domain of the FD method and the PR1st collision operator still have obvious numerical oscillations. <xref ref-type="fig" rid="F14">Figures 14A,B</xref> show that, for the BGK collision operator, the filtering method can obviously suppress the high frequency oscillation in the computational domain, and a satisfactory result is obtained. For a quantitative measure of the error of BGK model with and without the filter, the scalar distribution along the counter-diagonal of the computational domain against a reference solution is compared. The L<sub>2</sub> error of the unfiltered BGK model is <inline-formula id="inf189">
<mml:math id="m232">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2.3644</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, and the L<sub>2</sub> error of the filtered BGK model is <inline-formula id="inf190">
<mml:math id="m233">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2.2889</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>
<xref ref-type="fig" rid="F14">Figures 14C,D</xref> show that, for the HR collision operator, the filtering method suppresses the overshoot phenomenon near the region with high gradient and further reduces the amplitude of numerical oscillation. For the HR model with and without the filter, the scalar distribution along the counter-diagonal of the computational domain against a reference solution is compared. The L<sub>2</sub> error of the unfiltered HR model is <inline-formula id="inf191">
<mml:math id="m234">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2.1628</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, and the L<sub>2</sub> error of the filtered HR model is <inline-formula id="inf192">
<mml:math id="m235">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2.1985</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>
<xref ref-type="fig" rid="F15">Figure 15</xref> shows the filter coefficients contour plot after using the filter with the FD method and LBM. It can be seen from the figure that for the BGK and HR collision operators the distribution of the filter coefficients is very smooth, and the filtering method only has an obvious effect in the scalar mixing region in the shear layer. This is principally because the scalar component distributions of the BGK and HR collision operators are relatively smooth. For the FD method and the PR1st collision operator, since there are obvious numerical oscillations in the computational domain, the filter coefficients also have obvious distributions in the flow region outside the shear layer.</p>
<fig id="F15" position="float">
<label>FIGURE 15</label>
<caption>
<p>Filter coefficient contour plot in the double shear layer at <inline-formula id="inf193">
<mml:math id="m236">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5.12</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mn>8</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> for different schemes: <bold>(A)</bold> FD scheme, <bold>(B)</bold> BGK collision operator, <bold>(C)</bold> PR1st collision operator, <bold>(D)</bold> HR collision operator.</p>
</caption>
<graphic xlink:href="fphy-10-875628-g015.tif"/>
</fig>
</sec>
</sec>
</sec>
</sec>
<sec id="s5">
<title>5 Conclusion</title>
<p>The advection-diffusion lattice Boltzmann models with BGK, PR1st, PR2nd and HR collision operators for scalar transport in uniform and complex flow are tested. In addition, an adaptive dynamic filtering method with a filter coefficient based on the gradient of the transport scalar is also tested. Mass and momentum conservation are addressed within a lattice Boltzmann flow solver, whereas the scalar conservation is addressed <italic>via</italic> the advection-diffusion lattice Boltzmann models. In the test of scalar transport in uniform flow, the LBM with PR2nd collision operator obtains almost the same result as the BGK collision operator, which both have significant errors when the diffusion coefficient is large in the test of Gaussian hill and have similar high frequency oscillation when the diffusion coefficient is small in the test of rectangular pulse. In its stability range, the accuracy of the PR1st collision operator is similar to that of the HR, but there will be serious numerical oscillation in the case of rectangular pulse with small diffusion coefficient. In the test of advective-diffusion in complex flow, we can see that, for the case with medium diffusion coefficient, the results of the LBM with the different collision operators are almost identical, and are basically consistent with the results of the FD scheme. However, when the diffusion coefficient is extremely small, the different collision operators and the FD scheme have different performances. The LBM with BGK collision operator can obtain a result with high-frequency oscillation waves in the domain. The simulation of the FD method and the LBM with PR1st collision operator cannot obtain stable results. The transport process of the scalar along the flow field can be simulated well by the LBM with HR collision operator. Introducing a local filter such as the one proposed in this study stabilizes the simulations of both LBM and FD scheme. Then for the simulation of high P&#xe9;clet number flow, the dynamical filtering strategy should be seen as an enhanced stabilization procedure for the lattice Boltzmann method where the amount of numerical dissipation is locally controlled in space.</p>
</sec>
</body>
<back>
<sec id="s6">
<title>Data Availability Statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s7">
<title>Author Contributions</title>
<p>ZZ: Conceptualization, methodology, software, investigation, writing&#x2014;original draft. ZL: Supervision, Methodology. YW: Supervision, writing&#x2014;review and editing.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>This work was supported by the Advanced Jet Propulsion Innovation Center, AEAC (Project ID. ZZCX-2020-004). The authors declare that this study received funding from AEAC, Aero Engine Academic of China, Aero Engine Corporation of China (AECC). The funder was not involved in the study design, collection, analysis, interpretation of data, the writing of this article or the decision to submit it for publication.</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of Interest</title>
<p>Author YW was employed by company Aero Engine Academic of China, Aero Engine Corporation of China (AECC).</p>
<p>The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<label>1.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Guo</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Shu</surname>
<given-names>C</given-names>
</name>
</person-group>. <source>Lattice Boltzmann Method and its Applications in Engineering</source>. <publisher-loc>Singapore</publisher-loc>: <publisher-name>World Scientific</publisher-name> (<year>2013</year>). </citation>
</ref>
<ref id="B2">
<label>2.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Huang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Sukop</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>X</given-names>
</name>
</person-group>. <source>Multiphase Lattice Boltzmann Methods: Theory and Application</source>. <publisher-loc>Oxford</publisher-loc>: <publisher-name>John Wiley &#x26; Sons</publisher-name> (<year>2015</year>). </citation>
</ref>
<ref id="B3">
<label>3.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Succi</surname>
<given-names>S</given-names>
</name>
</person-group>. <source>The Lattice Boltzmann Equation: For Complex States of Flowing Matter</source>. <publisher-loc>Oxford</publisher-loc>: <publisher-name>Oxford University Press</publisher-name> (<year>2018</year>). </citation>
</ref>
<ref id="B4">
<label>4.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fei</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>KH</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Q</given-names>
</name>
</person-group>. <article-title>Modeling Incompressible Thermal Flows Using a Central-Moments-Based Lattice Boltzmann Method</article-title>. <source>Int J Heat Mass Transf</source> (<year>2018</year>) <volume>120</volume>:<fpage>624</fpage>&#x2013;<lpage>34</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijheatmasstransfer.2017.12.052</pub-id> </citation>
</ref>
<ref id="B5">
<label>5.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fattahi</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Farhadi</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Sedighi</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Nemati</surname>
<given-names>H</given-names>
</name>
</person-group>. <article-title>Lattice Boltzmann Simulation of Natural Convection Heat Transfer in Nanofluids</article-title>. <source>Int J Therm Sci</source> (<year>2012</year>) <volume>52</volume>:<fpage>137</fpage>&#x2013;<lpage>44</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijthermalsci.2011.09.001</pub-id> </citation>
</ref>
<ref id="B6">
<label>6.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guo</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>TS</given-names>
</name>
</person-group>. <article-title>A Lattice Boltzmann Model for Convection Heat Transfer in Porous Media</article-title>. <source>Numer Heat Transf Part B Fundam</source> (<year>2005</year>) <volume>47</volume>(<issue>2</issue>):<fpage>157</fpage>&#x2013;<lpage>77</lpage>. <pub-id pub-id-type="doi">10.1080/10407790590883405</pub-id> </citation>
</ref>
<ref id="B7">
<label>7.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hosseini</surname>
<given-names>SA</given-names>
</name>
<name>
<surname>Eshghinejadfard</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Darabiha</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Th&#xe9;venin</surname>
<given-names>D</given-names>
</name>
</person-group>. <article-title>Weakly Compressible Lattice Boltzmann Simulations of Reacting Flows with Detailed Thermo-Chemical Models</article-title>. <source>Comput Math Appl</source> (<year>2020</year>) <volume>79</volume>(<issue>1</issue>):<fpage>141</fpage>&#x2013;<lpage>58</lpage>. <pub-id pub-id-type="doi">10.1016/j.camwa.2017.08.045</pub-id> </citation>
</ref>
<ref id="B8">
<label>8.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hosseini</surname>
<given-names>SA</given-names>
</name>
<name>
<surname>Darabiha</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Th&#xe9;venin</surname>
<given-names>D</given-names>
</name>
</person-group>. <article-title>Mass-Conserving Advection-Diffusion Lattice Boltzmann Model for Multi-Species Reacting Flows</article-title>. <source>Phys A Stat Mech its Appl</source> (<year>2018</year>) <volume>499</volume>:<fpage>40</fpage>&#x2013;<lpage>57</lpage>. <pub-id pub-id-type="doi">10.1016/j.physa.2018.01.034</pub-id> </citation>
</ref>
<ref id="B9">
<label>9.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dellar</surname>
<given-names>PJ</given-names>
</name>
</person-group>. <article-title>Bulk and Shear Viscosities in Lattice Boltzmann Equations</article-title>. <source>Phys Rev E Stat Nonlin Soft Matter Phys</source> (<year>2001</year>) <volume>64</volume>:<fpage>031203</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.64.031203</pub-id> </citation>
</ref>
<ref id="B10">
<label>10.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>David</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Sagaut</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Structural Stability of Lattice Boltzmann Schemes</article-title>. <source>Phys A Stat Mech its Appl</source> (<year>2016</year>) <volume>444</volume>:<fpage>1</fpage>&#x2013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1016/j.physa.2015.09.089</pub-id> </citation>
</ref>
<ref id="B11">
<label>11.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wissocq</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Sagaut</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Boussuge</surname>
<given-names>J-F</given-names>
</name>
</person-group>. <article-title>An Extended Spectral Analysis of the Lattice Boltzmann Method: Modal Interactions and Stability Issues</article-title>. <source>J Comput Phys</source> (<year>2019</year>) <volume>380</volume>:<fpage>311</fpage>&#x2013;<lpage>33</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2018.12.015</pub-id> </citation>
</ref>
<ref id="B12">
<label>12.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Masset</surname>
<given-names>PA</given-names>
</name>
<name>
<surname>Wissocq</surname>
<given-names>G</given-names>
</name>
</person-group>. <article-title>Linear Hydrodynamics and Stability of the Discrete Velocity Boltzmann Equations</article-title>. <source>J Fluid Mech</source> (<year>2020</year>) <volume>897</volume>. <pub-id pub-id-type="doi">10.1017/jfm.2020.374</pub-id> </citation>
</ref>
<ref id="B13">
<label>13.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Coreixas</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Wissocq</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Chopard</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Latt</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Impact of Collision Models on the Physical Properties and the Stability of Lattice Boltzmann Methods</article-title>. <source>Phil Trans R Soc A</source> (<year>2020</year>) <volume>378</volume>(<issue>2175</issue>):<fpage>20190397</fpage>. <pub-id pub-id-type="doi">10.1098/rsta.2019.0397</pub-id> </citation>
</ref>
<ref id="B14">
<label>14.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hosseini</surname>
<given-names>SA</given-names>
</name>
<name>
<surname>Coreixas</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Darabiha</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Th&#xe9;venin</surname>
<given-names>D</given-names>
</name>
</person-group>. <article-title>Stability of the Lattice Kinetic Scheme and Choice of the Free Relaxation Parameter</article-title>. <source>Phys Rev E</source> (<year>2019</year>) <volume>99</volume>:<fpage>063305</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.99.063305</pub-id> </citation>
</ref>
<ref id="B15">
<label>15.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wissocq</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Coreixas</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Boussuge</surname>
<given-names>JF</given-names>
</name>
</person-group>. <article-title>Linear Stability and Isotropy Properties of Athermal Regularized Lattice Boltzmann Methods</article-title>. <source>Phys Rev E</source> (<year>2020</year>) <volume>102</volume>(<issue>5</issue>):<fpage>053305</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.102.053305</pub-id> </citation>
</ref>
<ref id="B16">
<label>16.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wissocq</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Sagaut</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Hydrodynamic Limits and Numerical Errors of Isothermal Lattice Boltzmann Schemes</article-title>. <source>J Comput Phys</source> (<year>2022</year>) <volume>450</volume>:<fpage>110858</fpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2021.110858</pub-id> </citation>
</ref>
<ref id="B17">
<label>17.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Renard</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Wissocq</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Boussuge</surname>
<given-names>J-F</given-names>
</name>
<name>
<surname>Sagaut</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>A Linear Stability Analysis of Compressible Hybrid Lattice Boltzmann Methods</article-title>. <source>J Comput Phys</source> (<year>2021</year>) <volume>446</volume>:<fpage>110649</fpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2021.110649</pub-id> </citation>
</ref>
<ref id="B18">
<label>18.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Suga</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Numerical Schemes Obtained from Lattice Boltzmann Equations for Advection Diffusion Equations</article-title>. <source>Int J Mod Phys C</source> (<year>2006</year>) <volume>17</volume>(<issue>11</issue>):<fpage>1563</fpage>&#x2013;<lpage>77</lpage>. <pub-id pub-id-type="doi">10.1142/s0129183106010030</pub-id> </citation>
</ref>
<ref id="B19">
<label>19.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hosseini</surname>
<given-names>SA</given-names>
</name>
<name>
<surname>Darabiha</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Th&#xe9;venin</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Eshghinejadfard</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>Stability Limits of the Single Relaxation-Time Advection-Diffusion Lattice Boltzmann Scheme</article-title>. <source>Int J Mod Phys C</source> (<year>2017</year>) <volume>28</volume>(<issue>12</issue>):<fpage>1750141</fpage>. <pub-id pub-id-type="doi">10.1142/s0129183117501418</pub-id> </citation>
</ref>
<ref id="B20">
<label>20.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>d&#x2019;Humi&#xe8;re</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Ginzburg</surname>
<given-names>I</given-names>
</name>
<name>
<surname>Krafczyk</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Lallemand</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>L</given-names>
</name>
</person-group>. <article-title>Multiple Relaxation Time Lattice Boltzmann Models in Three Dimensions</article-title>. <source>Philosophical Trans R Soc Lond. Ser A Math Phys Eng Sci</source> (<year>2002</year>) <volume>360</volume>(<issue>1792</issue>):<fpage>437</fpage>&#x2013;<lpage>51</lpage>. <pub-id pub-id-type="doi">10.1098/rsta.2001.0955</pub-id> </citation>
</ref>
<ref id="B21">
<label>21.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Latt</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Chopard</surname>
<given-names>B</given-names>
</name>
</person-group>. <article-title>Lattice Boltzmann Method with Regularized Pre-collision Distribution Functions</article-title>. <source>Math Comput Simul</source> (<year>2006</year>) <volume>72</volume>(<issue>2-6</issue>):<fpage>165</fpage>&#x2013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1016/j.matcom.2006.05.017</pub-id> </citation>
</ref>
<ref id="B22">
<label>22.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tosi</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Ubertini</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Succi</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Karlin</surname>
<given-names>I</given-names>
</name>
</person-group>. <article-title>Numerical Stability of Entropic Versus Positivity-Enforcing Lattice Boltzmann Schemes</article-title>. <source>Math Comput Simul</source> (<year>2006</year>) <volume>72</volume>(<issue>2-6</issue>):<fpage>227</fpage>&#x2013;<lpage>31</lpage>. <pub-id pub-id-type="doi">10.1016/j.matcom.2006.05.007</pub-id> </citation>
</ref>
<ref id="B23">
<label>23.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Malaspinas</surname>
<given-names>O</given-names>
</name>
<name>
<surname>Sagaut</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Advanced Large-Eddy Simulation for Lattice Boltzmann Methods: The Approximate Deconvolution Model</article-title>. <source>Phys Fluids</source> (<year>2011</year>) <volume>23</volume>(<issue>10</issue>):<fpage>105103</fpage>. <pub-id pub-id-type="doi">10.1063/1.3650422</pub-id> </citation>
</ref>
<ref id="B24">
<label>24.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ricot</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Mari&#xe9;</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Sagaut</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Bailly</surname>
<given-names>C</given-names>
</name>
</person-group>. <article-title>Lattice Boltzmann Method with Selective Viscosity Filter</article-title>. <source>J Comput Phys</source> (<year>2009</year>) <volume>228</volume>(<issue>12</issue>):<fpage>4478</fpage>&#x2013;<lpage>90</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2009.03.030</pub-id> </citation>
</ref>
<ref id="B25">
<label>25.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nathen</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Haussmann</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Krause</surname>
<given-names>MJ</given-names>
</name>
<name>
<surname>Adams</surname>
<given-names>NA</given-names>
</name>
</person-group>. <article-title>Adaptive Filtering for the Simulation of Turbulent Flows with Lattice Boltzmann Methods</article-title>. <source>Comput Fluids</source> (<year>2018</year>) <volume>172</volume>:<fpage>510</fpage>&#x2013;<lpage>23</lpage>. <pub-id pub-id-type="doi">10.1016/j.compfluid.2018.03.042</pub-id> </citation>
</ref>
<ref id="B26">
<label>26.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mari&#xe9;</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Gloerfelt</surname>
<given-names>X</given-names>
</name>
</person-group>. <article-title>Adaptive Filtering for the Lattice Boltzmann Method</article-title>. <source>J Comput Phys</source> (<year>2017</year>) <volume>333</volume>:<fpage>212</fpage>&#x2013;<lpage>26</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2016.12.017</pub-id> </citation>
</ref>
<ref id="B27">
<label>27.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Grad</surname>
<given-names>H</given-names>
</name>
</person-group>. <article-title>On the Kinetic Theory of Rarefied Gases</article-title>. <source>Comm Pure Appl Math</source> (<year>1949</year>) <volume>2</volume>(<issue>4</issue>):<fpage>331</fpage>&#x2013;<lpage>407</lpage>. <pub-id pub-id-type="doi">10.1002/cpa.3160020403</pub-id> </citation>
</ref>
<ref id="B28">
<label>28.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guo</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>B</given-names>
</name>
</person-group>. <article-title>Discrete Lattice Effects on the Forcing Term in the Lattice Boltzmann Method</article-title>. <source>Phys Rev E Stat Nonlin Soft Matter Phys</source> (<year>2002</year>) <volume>65</volume>:<fpage>046308</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.65.046308</pub-id> </citation>
</ref>
<ref id="B29">
<label>29.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Shan</surname>
<given-names>X</given-names>
</name>
</person-group>. <article-title>Self-Consistent Force Scheme in the Discrete Boltzmann Equation</article-title>. <comment>arXiv preprintarXiv:1812.10603</comment> (<year>2018</year>). </citation>
</ref>
<ref id="B30">
<label>30.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Malaspinas</surname>
<given-names>O</given-names>
</name>
</person-group>. <article-title>Increasing Stability and Accuracy of the Lattice Boltzmann Scheme: Recursivity and Regularization</article-title>. <comment>arXiv preprint arXiv:1505.06900</comment> (<year>2015</year>). </citation>
</ref>
<ref id="B31">
<label>31.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chopard</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Falcone</surname>
<given-names>JL</given-names>
</name>
<name>
<surname>Latt</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>The Lattice Boltzmann Advection-Diffusion Model Revisited</article-title>. <source>Eur Phys J Spec Top</source> (<year>2009</year>) <volume>171</volume>(<issue>1</issue>):<fpage>245</fpage>&#x2013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1140/epjst/e2009-01035-5</pub-id> </citation>
</ref>
<ref id="B32">
<label>32.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Chai</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>Regularized Lattice Boltzmann Model for a Class of Convection-Diffusion Equations</article-title>. <source>Phys Rev E Stat Nonlin Soft Matter Phys</source> (<year>2015</year>) <volume>92</volume>(<issue>4</issue>):<fpage>043311</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.92.043311</pub-id> </citation>
</ref>
<ref id="B33">
<label>33.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Coreixas</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Wissocq</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Puigt</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Boussuge</surname>
<given-names>JF</given-names>
</name>
<name>
<surname>Sagaut</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Recursive Regularization Step for High-Order Lattice Boltzmann Methods</article-title>. <source>Phys Rev E</source> (<year>2017</year>) <volume>96</volume>(<issue>3</issue>):<fpage>033306</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.96.033306</pub-id> </citation>
</ref>
<ref id="B34">
<label>34.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jonnalagadda</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Sharma</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Agrawal</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>Onsager-Regularized Lattice Boltzmann Method: A Nonequilibrium Thermodynamics-Based Regularized Lattice Boltzmann Method</article-title>. <source>Phys Rev E</source> (<year>2021</year>) <volume>104</volume>(<issue>1</issue>):<fpage>015313</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.104.015313</pub-id> </citation>
</ref>
<ref id="B35">
<label>35.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Latt</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Chopard</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Malaspinas</surname>
<given-names>O</given-names>
</name>
<name>
<surname>Deville</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Michler</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>Straight Velocity Boundaries in the Lattice Boltzmann Method</article-title>. <source>Phys Rev E Stat Nonlin Soft Matter Phys</source> (<year>2008</year>) <volume>77</volume>(<issue>5</issue>):<fpage>056703</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.77.056703</pub-id> </citation>
</ref>
<ref id="B36">
<label>36.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Skordos</surname>
<given-names>PA</given-names>
</name>
</person-group>. <article-title>Initial and Boundary Conditions for the Lattice Boltzmann Method</article-title>. <source>Phys Rev E</source> (<year>1993</year>) <volume>48</volume>:<fpage>4823</fpage>&#x2013;<lpage>42</lpage>. <pub-id pub-id-type="doi">10.1103/physreve.48.4823</pub-id> </citation>
</ref>
<ref id="B37">
<label>37.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chai</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>B</given-names>
</name>
</person-group>. <article-title>Multiple-Relaxation-Time Lattice Boltzmann Method for the Navier-Stokes and Nonlinear Convection-Diffusion Equations: Modeling, Analysis, and Elements</article-title>. <source>Phys Rev E</source> (<year>2020</year>) <volume>102</volume>(<issue>2</issue>):<fpage>023306</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.102.023306</pub-id> </citation>
</ref>
<ref id="B38">
<label>38.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jacob</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Malaspinas</surname>
<given-names>O</given-names>
</name>
<name>
<surname>Sagaut</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>A New Hybrid Recursive Regularized Bhatnagar&#x2013;Gross&#x2013;Krook Collision Model for Lattice Boltzmann Method-Based Large Eddy Simulation</article-title>. <source>J Turbul</source> (<year>2018</year>) <volume>19</volume>(<issue>11-12</issue>):<fpage>1051</fpage>&#x2013;<lpage>76</lpage>. <pub-id pub-id-type="doi">10.1080/14685248.2018.1540879</pub-id> </citation>
</ref>
<ref id="B39">
<label>39.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tam</surname>
<given-names>CKW</given-names>
</name>
<name>
<surname>Webb</surname>
<given-names>JC</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>A Study of the Short Wave Components in Computational Acoustics</article-title>. <source>J Comp Acous</source> (<year>1993</year>) <volume>01</volume>(<issue>01</issue>):<fpage>1</fpage>&#x2013;<lpage>30</lpage>. <pub-id pub-id-type="doi">10.1142/s0218396x93000020</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>