<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMES</journal-id>
<journal-id journal-id-type="nlm-ta">CMES</journal-id>
<journal-id journal-id-type="publisher-id">CMES</journal-id>
<journal-title-group>
<journal-title>Computer Modeling in Engineering &#x0026; Sciences</journal-title>
</journal-title-group>
<issn pub-type="epub">1526-1506</issn>
<issn pub-type="ppub">1526-1492</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">14847</article-id>
<article-id pub-id-type="doi">10.32604/cmes.2021.014847</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Numerical Model for Simulating Two-Phase Flow with Adaptive Mesh Refinement</article-title>
<alt-title alt-title-type="left-running-head">A Numerical Model for Simulating Two-Phase Flow with Adaptive Mesh Refinement</alt-title>
<alt-title alt-title-type="right-running-head">A Numerical Model for Simulating Two-Phase Flow with Adaptive Mesh Refinement</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author">
<name name-style="western">
<surname>Zhang</surname>
<given-names>Yunxing</given-names>
</name>
</contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western">
<surname>Ma</surname>
<given-names>Shan</given-names>
</name>
</contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western">
<surname>Liao</surname>
<given-names>Kangping</given-names>
</name>
</contrib>
<contrib id="author-4" contrib-type="author" corresp="yes">
<name name-style="western">
<surname>Duan</surname>
<given-names>Wenyang</given-names>
</name>
<email>duanwenyang_heu@hotmail.com</email>
</contrib>
<aff><institution>Harbin Engineering University</institution>, <addr-line>Harbin, 150001</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1">&#x002A;Corresponding Author: Wenyang Duan. Email: <email>duanwenyang_heu@hotmail.com</email></corresp>
</author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-06-26"><day>26</day><month>06</month><year>2021</year></pub-date>
<volume>128</volume>
<issue>1</issue>
<fpage>43</fpage>
<lpage>64</lpage>
<history>
<date date-type="received"><day>03</day><month>11</month><year>2020</year></date>
<date date-type="accepted"><day>11</day><month>3</month><year>2021</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2021 Zhang et al.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Zhang et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMES_14847.pdf"></self-uri>
<abstract>
<p>In this study, a numerical model for simulating two-phase flow is developed. The Cartesian grid with Adaptive Mesh Refinement (AMR) is adopted to reduce the computational cost. An explicit projection method is used for the time integration and the Finite Difference Method (FDM) is applied on a staggered grid for the discretization of spatial derivatives. The Volume of Fluid (VOF) method with Piecewise-Linear Interface Calculation (PLIC) is extended to the AMR grid to capture the gas-water interface accurately. A coarse-fine interface treatment method is developed to preserve the flux conservation at the interfaces. Several two-dimensional (2D) and three-dimensional (3D) benchmark cases are carried out for the validation of the model. 2D and 3D shear flow tests are conducted to validate the extension of the VOF method to the AMR grid. A 2D linear sloshing case is considered in which the model is proved to have 2nd-order accuracy in space. The efficiency of applying the AMR grid is discussed with a nonlinear sloshing problem. Finally, 2D solitary wave past stage and 2D/3D dam break are simulated to demonstrate that the model is able to simulate violent interface problems.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Two-phase flow</kwd>
<kwd>adaptive mesh refinement</kwd>
<kwd>VOF</kwd>
<kwd>coarse-fine interface treatment</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Two-phase flow is very important as it is common in many engineering fields, ranging from naval hydrodynamics, geophysics to ocean engineering. The experimental study is a widely used approach for analyzing physical problems. However, due to the existence of small-scale structures and violent velocity change, experimental measurements on violent two-phase flow problems could be extremely difficult or even impossible. With the improvement of hardware and numerical algorithms, numerical simulation could be a powerful alternative for predicting the behaviors of these problems. However, there still exist many difficulties in numerical simulating two-phase flow.</p>
<p>Among the difficulties, the computational cost could be one of the major challenges in Computational Fluid Dynamics (CFD). Traditionally, a fixed structured grid is usually adopted for simulating two-phase flow problems. One of the remarkable features of this grid is that mesh refinement needs to be applied in priority on the range of all the caring regions, which is inefficient or even impossible when the caring regions are unpredictable. Adaptive Mesh Refinement (AMR) grid was proposed by Berger et al. [<xref ref-type="bibr" rid="ref-1">1</xref>] which allows refining certain regions of the zone during the simulation to reduce the computational effort required. Since then, the AMR grid was widely used to simulate various kinds of flows.</p>
<p>For most of the research with AMR, single-phase flow is considered. As the method was proposed for hyperbolic partial differential equations, a natural implementation of AMR is the solution of the Euler equation [<xref ref-type="bibr" rid="ref-2">2</xref>,<xref ref-type="bibr" rid="ref-3">3</xref>]. Moreover, it was combined with the immersed boundary method for fluid-structure interaction problems of solid bodies [<xref ref-type="bibr" rid="ref-4">4</xref>,<xref ref-type="bibr" rid="ref-5">5</xref>] or flexible bodies [<xref ref-type="bibr" rid="ref-6">6</xref>,<xref ref-type="bibr" rid="ref-7">7</xref>] to combine the advantages of the two methods.</p>
<p>Research that applying AMR in two-phase flow is also numerous, relevant research can be found in surface-tension-driven interfacial flows such as bubbles [<xref ref-type="bibr" rid="ref-8">8</xref>&#x2013;<xref ref-type="bibr" rid="ref-10">10</xref>], bubble/jet interact with bodies [<xref ref-type="bibr" rid="ref-11">11</xref>], and wave breaking or wave-body interactions [<xref ref-type="bibr" rid="ref-12">12</xref>&#x2013;<xref ref-type="bibr" rid="ref-15">15</xref>]. However, it is still hard work to develop such a model. The difficulties include the large-density ratio and complex interface topology in two-phase flow, as well as the treatment of coarse-fine interface in the AMR grid where conservation is hard to preserve.</p>
<p>The objective of this paper is to develop a 3D numerical model for simulating two-phase flow with AMR. The model is the foundation of future work for wave-body interactions in the ship and ocean engineering field. To develop such a model, the difficulties discussed above should be considered. The first one is the complex interface topology, or in other words, to capture the gas-water interface accurately. For this problem, widely used methods include the front tracking method [<xref ref-type="bibr" rid="ref-16">16</xref>], the level set method [<xref ref-type="bibr" rid="ref-17">17</xref>], and the VOF method [<xref ref-type="bibr" rid="ref-18">18</xref>]. Among the methods, the accuracy and robustness of the VOF method were widely demonstrated [<xref ref-type="bibr" rid="ref-19">19</xref>]. For simplicity, the VOF method is adopted in this model. However, other methods can also be applied in this model as alternatives.</p>
<p>Large density ratios usually exist in two-phase flow, such as in bubble flow in which the density ratio could reach 10<sup>6</sup>. This large ratio can result in numerical instability which may come from gas velocities being mixed with liquid densities [<xref ref-type="bibr" rid="ref-10">10</xref>,<xref ref-type="bibr" rid="ref-20">20</xref>]. It was demonstrated that a mass-momentum consistent transport can alleviate the instability [<xref ref-type="bibr" rid="ref-10">10</xref>,<xref ref-type="bibr" rid="ref-20">20</xref>&#x2013;<xref ref-type="bibr" rid="ref-23">23</xref>]. The influence of high-density ratio on inconsistent transport of mass and momentum is complex. A detailed comparison between consistent and inconsistent transport of mass and momentum for high-density-ratio flows can be found in [<xref ref-type="bibr" rid="ref-21">21</xref>,<xref ref-type="bibr" rid="ref-22">22</xref>]. In fact, both inconsistent and consistent schemes can be found in two-phase flow simulations. With inconsistent transport schemes, acceptable results were observed for wave-body interactions [<xref ref-type="bibr" rid="ref-15">15</xref>] and bubble evolution [<xref ref-type="bibr" rid="ref-9">9</xref>]. Besides, consistent schemes were successfully applied to simulate wave energy converters [<xref ref-type="bibr" rid="ref-24">24</xref>&#x2013;<xref ref-type="bibr" rid="ref-26">26</xref>] and water entry [<xref ref-type="bibr" rid="ref-27">27</xref>] problems. Consider the complexity of the numerical schemes and the objective of the solver, inconsistent transport of mass and momentum is adopted at present. Therefore, to validate the feasibility of inconsistent transport schemes is also one of the objectives of the paper.</p>
<p>A 3D numerical model for simulating two-phase flow with AMR is developed in this paper. The VOF method is adopted to capture the gas-water interface accurately. A coarse-fine interface treatment method for two-phase flow is developed to preserve the flux conservation at the coarse-fine interfaces. An inconsistent transport scheme is adopted for the advection of mass and momentum. The work is based on Zhang et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] in which a 2D model is developed. The paper is organized as follows: The governing equations, single grid solver, and the AMR grid are introduced in Section 2, with special attention paid to discretization schemes and the coarse-fine interface treatment methods. The validations of the numerical model are given in Section 3 with selected cases. The accuracy of VOF on the AMR grid and the entire model is demonstrated. Further validation of the model is presented in Section 4 with more serious problems to show the ability of the model on simulating wave breaking problems. Finally, the conclusions are drawn in Section 5.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Numerical Methods</title>
<sec id="s2_1">
<label>2.1</label>
<title>Governing Equations</title>
<p>The single fluid formulation for multiphase flow is adopted in this model [<xref ref-type="bibr" rid="ref-28">28</xref>]. The viscous incompressible two-phase flow is considered as a fluid with spatially and temporally varying density and viscosity. The fluid is governed by the continuity equation and the Navier-Stokes equations, which in the non-conservative form are:</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-1.png"/><tex-math id="tex-eqn-1"><![CDATA[$
\begin{equation} \begin{array}{l} \hspace*{2.5pc}\nabla \cdot \mathbf{u}=0\\ \displaystyle\frac{\partial \mathbf{u}}{\partial t}+\nabla \cdot \mathbf{uu}=-\displaystyle\frac{1}{\rho }\nabla p+\displaystyle\frac{1}{\rho }\nabla \cdot \left[\mu \left(\nabla \mathbf{u}+\nabla \mathbf{u}^{T}\right)\right]+\mathbf{f} \end{array} \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-1" display="block"><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="right"><mml:mo>&#x2207;</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>u</mml:mi></mml:mstyle><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mfrac><mml:mrow><mml:mo>&#x2202;</mml:mo><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>u</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mo>&#x2202;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mo>&#x2207;</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>u</mml:mi><mml:mi>u</mml:mi></mml:mstyle><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>&#x03C1;</mml:mi></mml:mfrac><mml:mo>&#x2207;</mml:mo><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>&#x03C1;</mml:mi></mml:mfrac><mml:mo>&#x2207;</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>[</mml:mo> <mml:mrow><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mo>&#x2207;</mml:mo><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>u</mml:mi></mml:mstyle><mml:mo>+</mml:mo><mml:mo>&#x2207;</mml:mo><mml:msup><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>u</mml:mi></mml:mstyle><mml:mi>T</mml:mi></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow> <mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi>f</mml:mi></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>in which <inline-formula id="ieqn-1"><!--<alternatives><inline-graphic xlink:href="ieqn-1.png"/><tex-math id="tex-ieqn-1"><![CDATA[$
 \mathbf{u}=\left(u,v,w\right) 
$]]></tex-math>--><mml:math id="mml-ieqn-1"><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>v</mml:mi><mml:mo>,</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula> is the velocity of the fluid, <italic>p</italic> is the pressure, <inline-formula id="ieqn-2"><!--<alternatives><inline-graphic xlink:href="ieqn-2.png"/><tex-math id="tex-ieqn-2"><![CDATA[$
 \rho 
$]]></tex-math>--><mml:math id="mml-ieqn-2"><mml:mi>&#x03C1;</mml:mi></mml:math><!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-3"><!--<alternatives><inline-graphic xlink:href="ieqn-3.png"/><tex-math id="tex-ieqn-3"><![CDATA[$
 \mu 
$]]></tex-math>--><mml:math id="mml-ieqn-3"><mml:mi>&#x03BC;</mml:mi></mml:math><!--</alternatives>--></inline-formula> are the density and the dynamic viscosity coefficient, <inline-formula id="ieqn-4"><!--<alternatives><inline-graphic xlink:href="ieqn-4.png"/><tex-math id="tex-ieqn-4"><![CDATA[$
 \mathbf{f} 
$]]></tex-math>--><mml:math id="mml-ieqn-4"><mml:mrow><mml:mi mathvariant="bold">f</mml:mi></mml:mrow></mml:math><!--</alternatives>--></inline-formula> stands for the body forces such as the gravitational force. The <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref> is applied to a fixed Eulerian space with <inline-formula id="ieqn-5"><!--<alternatives><inline-graphic xlink:href="ieqn-5.png"/><tex-math id="tex-ieqn-5"><![CDATA[$
 \mathbf{x}=\left(x,y,z\right) 
$]]></tex-math>--><mml:math id="mml-ieqn-5"><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula> to be the Eulerian coordinates.</p>
<p>The VOF method is utilized to capture the free surface. In the method, a scalar function <inline-formula id="ieqn-6"><!--<alternatives><inline-graphic xlink:href="ieqn-6.png"/><tex-math id="tex-ieqn-6"><![CDATA[$
 \varphi 
$]]></tex-math>--><mml:math id="mml-ieqn-6"><mml:mi>&#x03C6;</mml:mi></mml:math><!--</alternatives>--></inline-formula> is defined to represent the water phase. The value of <inline-formula id="ieqn-7"><!--<alternatives><inline-graphic xlink:href="ieqn-7.png"/><tex-math id="tex-ieqn-7"><![CDATA[$
 \varphi 
$]]></tex-math>--><mml:math id="mml-ieqn-7"><mml:mi>&#x03C6;</mml:mi></mml:math><!--</alternatives>--></inline-formula> for a cell is between 0 and 1 which denotes the fraction volume of the water phase within the cell. The evolution equation of <inline-formula id="ieqn-8"><!--<alternatives><inline-graphic xlink:href="ieqn-8.png"/><tex-math id="tex-ieqn-8"><![CDATA[$
 \varphi 
$]]></tex-math>--><mml:math id="mml-ieqn-8"><mml:mi>&#x03C6;</mml:mi></mml:math><!--</alternatives>--></inline-formula> is:</p>
<p><disp-formula id="eqn-2">
<label>(2)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-2.png"/><tex-math id="tex-eqn-2"><![CDATA[$
\begin{equation} \frac{\partial \varphi }{\partial t}+\nabla \cdot \left(\mathbf{u}\varphi \right)=0 \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-2" display="block"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>&#x03C6;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mi>&#x03C6;</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Appropriate initial and boundary conditions for <xref ref-type="disp-formula" rid="eqn-1">Eqs. (1)</xref> and <xref ref-type="disp-formula" rid="eqn-2">(2)</xref> are necessary. For all the simulations, water is initially at rest, and velocities are set to zero at the initial stage. The initial values of <inline-formula id="ieqn-9"><!--<alternatives><inline-graphic xlink:href="ieqn-9.png"/><tex-math id="tex-ieqn-9"><![CDATA[$
 \varphi 
$]]></tex-math>--><mml:math id="mml-ieqn-9"><mml:mi>&#x03C6;</mml:mi></mml:math><!--</alternatives>--></inline-formula> are defined with the topology of the water phase. All the boundaries are defined as walls, so the Dirichlet condition is used for the velocities and the Neumann condition is adopted for the pressure.</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Single Grid Solver</title>
<p>In this section, the numerical methods on a single grid are introduced. For simplicity, the discretization schemes of the spatial derivatives are given in the 2D form. There is no extra difficulty for their extension to 3D.</p>
<sec id="s2_2_1">
<label>2.2.1</label>
<title>Time Integration</title>
<p>The incompressible version of the projection method proposed by Xiao [<xref ref-type="bibr" rid="ref-29">29</xref>] is utilized for the time integration. The Navier&#x2013;Stokes equation in <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref> is split into three steps: one advection step and two non-advection steps.</p>
<p>Advection step</p>
<p><disp-formula id="eqn-3">
<label>(3)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-3.png"/><tex-math id="tex-eqn-3"><![CDATA[$
\begin{equation} \frac{\mathbf{u}^{\ast }-\mathbf{u}^{n}}{\Delta t}+\nabla \cdot \mathbf{u}^{n}\mathbf{u}^{n}=0 \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-3" display="block"><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Non-advection Step I</p>
<p><disp-formula id="eqn-4">
<label>(4)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-4.png"/><tex-math id="tex-eqn-4"><![CDATA[$
\begin{equation} \frac{\mathbf{u}^{\ast \ast }-\mathbf{u}^{\ast }}{\Delta t}=\frac{1}{\rho ^{n+1}}\nabla \cdot \left[\mu ^{n+1}\left(\nabla \mathbf{u}^{\ast }+\nabla \mathbf{u}^{\ast T}\right)\right]+\mathbf{f}^{\ast \ast } \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-4" display="block"><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msup><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mfrac><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:msup><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">f</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Non-advection Step II</p>
<p><disp-formula id="eqn-5">
<label>(5)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-5.png"/><tex-math id="tex-eqn-5"><![CDATA[$
\begin{equation} \frac{\mathbf{u}^{n+1}-\mathbf{u}^{\ast \ast }}{\Delta t}=-\frac{1}{\rho ^{n+1}}\nabla \cdot p^{n+1} \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-5" display="block"><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msup><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mfrac><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msup><mml:mi>p</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Here the corner mark <sup><italic>n</italic></sup>, <sup><italic>n</italic>&#x002B;1</sup>, &#x002A;, and &#x002A;&#x002A; indicate the values of corresponding quantities at the current time step, the next time step, and the two predicted values between the two steps. This procedure was demonstrated to yield the first-order accuracy in time integration [<xref ref-type="bibr" rid="ref-29">29</xref>].</p>
<p>By applying the continuity equation in <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref> to the <xref ref-type="disp-formula" rid="eqn-5">Eq. (5)</xref>, the following Pressure Poisson Equation (PPE) is obtained:</p>
<p><disp-formula id="eqn-6">
<label>(6)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-6.png"/><tex-math id="tex-eqn-6"><![CDATA[$
\begin{equation} \nabla \cdot \left(\frac{1}{\rho }\nabla p^{n+1}\right)=\frac{1}{\Delta t}\nabla \cdot \mathbf{u}^{\ast \ast } \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-6" display="block"><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>&#x03C1;</mml:mi></mml:mfrac><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msup><mml:mi>p</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>The pressure is calculated by solving the equation after non-advection Step I and followed by non-advection Step II.</p>
<p>To ensure the temporal stability of the explicit projection method in the model, the time step <inline-formula id="ieqn-10"><!--<alternatives><inline-graphic xlink:href="ieqn-10.png"/><tex-math id="tex-ieqn-10"><![CDATA[$
 \Delta t 
$]]></tex-math>--><mml:math id="mml-ieqn-10"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:math><!--</alternatives>--></inline-formula> is defined concerning the convective effects. The time step <inline-formula id="ieqn-11"><!--<alternatives><inline-graphic xlink:href="ieqn-11.png"/><tex-math id="tex-ieqn-11"><![CDATA[$
 \Delta t 
$]]></tex-math>--><mml:math id="mml-ieqn-11"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:math><!--</alternatives>--></inline-formula> is determined with the following Courant&#x2013;Friedrichs&#x2013;Lewy (CFL) condition with <italic>C</italic> no more than 0.5 adopted for all the simulations.</p>
<p><disp-formula id="eqn-7">
<label>(7)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-7.png"/><tex-math id="tex-eqn-7"><![CDATA[$
\begin{equation} \Delta t\leq \min \left(\frac{C\Delta x}{\max \left\| u\right\| _{\infty }},\frac{C\Delta y}{\max \left\| v\right\| _{\infty }}\right) \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-7" display="block"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mrow><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:msub><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:mi>u</mml:mi><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x221E;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>,</mml:mo><mml:mfrac><mml:mrow><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:msub><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:mi>v</mml:mi><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x221E;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
</sec>
<sec id="s2_2_2">
<label>2.2.2</label>
<title>Discretization of the Spatial Derivatives</title>
<p>The Finite Difference Method (FDM) on the Cartesian grid with a staggered arrangement of variables is adopted. A 2D case is illustrated in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. The velocities are located on the cell side and scalars such as pressure and density are located on the cell center.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>The staggered arrangement of the variables (<italic>s</italic> indicates for scalars)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-1.png"/>
</fig>
<p>For the discretization of the advection step (<xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>), the upwind schemes are usually adopted to enhance the robustness of the code. A conservative discretization scheme is adopted as follow:</p>
<p><disp-formula id="eqn-8">
<label>(8)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-8.png"/><tex-math id="tex-eqn-8"><![CDATA[$
\begin{equation} \begin{array}{l@{\,}l@{\,}l} \displaystyle\frac{\partial u_{i,j}}{\partial t}&= & -\displaystyle\frac{\left(u_{i,j}+u_{i+1,j}\right)\overset{&#x02DC;}{u}_{i+1/2,j}-\left(u_{i,j}+u_{i-1,j}\right)\overset{&#x02DC;}{u}_{i-1/2,j}}{2\Delta x}\\[10pt]  &&-\displaystyle\frac{\left(v_{i,j}+v_{i+1,j}\right)\overset{&#x02DC;}{u}_{i,j+1/2}-\left(v_{i,j-1}+v_{i+1,j-1}\right)\overset{&#x02DC;}{u}_{i,j-1/2}}{2\Delta y} \end{array} \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-8" display="block"><mml:mtable columnalign="left" rowspacing="1.4em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mover><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">&#x2DC;</mml:mo></mml:mrow></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mover><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">&#x2DC;</mml:mo></mml:mrow></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd /><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mover><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">&#x2DC;</mml:mo></mml:mrow></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mover><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">&#x2DC;</mml:mo></mml:mrow></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math>
<!--</alternatives>--></disp-formula></p>
<p><disp-formula id="eqn-9">
<label>(9)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-9.png"/><tex-math id="tex-eqn-9"><![CDATA[$
\begin{equation} \begin{array}{l@{\,}l@{\,}l} \displaystyle\frac{\partial v_{i,j}}{\partial t}&= & -\displaystyle\frac{\left(u_{i,j}+u_{i,j+1}\right)\overset{&#x02DC;}{v}_{i+1/2,j}-\left(u_{i-1,j}+u_{i-1,j+1}\right)\overset{&#x02DC;}{v}_{i-1/2,j}}{2\Delta x}\\[10pt]  &&-\displaystyle\frac{\left(v_{i,j}+v_{i,j+1}\right)\overset{&#x02DC;}{v}_{i,j+1/2}-\left(v_{i,j}+v_{i,j-1}\right)\overset{&#x02DC;}{v}_{i,j-1/2}}{2\Delta y} \end{array} \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-9" display="block"><mml:mtable columnalign="left" rowspacing="1.4em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mover><mml:mi>v</mml:mi><mml:mrow><mml:mo stretchy="false">&#x2DC;</mml:mo></mml:mrow></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mover><mml:mi>v</mml:mi><mml:mrow><mml:mo stretchy="false">&#x2DC;</mml:mo></mml:mrow></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd /><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mover><mml:mi>v</mml:mi><mml:mrow><mml:mo stretchy="false">&#x2DC;</mml:mo></mml:mrow></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mover><mml:mi>v</mml:mi><mml:mrow><mml:mo stretchy="false">&#x2DC;</mml:mo></mml:mrow></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>The values of <inline-formula id="ieqn-12"><!--<alternatives><inline-graphic xlink:href="ieqn-12.png"/><tex-math id="tex-ieqn-12"><![CDATA[$
 \overset{&#x02DC;}{u} 
$]]></tex-math>--><mml:math id="mml-ieqn-12"><mml:mover><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">&#x2DC;</mml:mo></mml:mrow></mml:mover></mml:math><!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-13"><!--<alternatives><inline-graphic xlink:href="ieqn-13.png"/><tex-math id="tex-ieqn-13"><![CDATA[$
 \overset{&#x02DC;}{v} 
$]]></tex-math>--><mml:math id="mml-ieqn-13"><mml:mover><mml:mi>v</mml:mi><mml:mrow><mml:mo stretchy="false">&#x2DC;</mml:mo></mml:mrow></mml:mover></mml:math><!--</alternatives>--></inline-formula> at the cell edge (<inline-formula id="ieqn-14"><!--<alternatives><inline-graphic xlink:href="ieqn-14.png"/><tex-math id="tex-ieqn-14"><![CDATA[$
 i\pm 1/2,j 
$]]></tex-math>--><mml:math id="mml-ieqn-14"><mml:mi>i</mml:mi><mml:mo>&#x00B1;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:math><!--</alternatives>--></inline-formula> or <inline-formula id="ieqn-15"><!--<alternatives><inline-graphic xlink:href="ieqn-15.png"/><tex-math id="tex-ieqn-15"><![CDATA[$
 i,j\pm 1/2 
$]]></tex-math>--><mml:math id="mml-ieqn-15"><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x00B1;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:math><!--</alternatives>--></inline-formula>) are calculated with the QUICK scheme [<xref ref-type="bibr" rid="ref-30">30</xref>] combined with Van Leer TVD limiter [<xref ref-type="bibr" rid="ref-31">31</xref>]. The interpolation stencil is determined based on the sign of the coefficient before it.</p>
<p>The central difference method is adopted for all the spatial derivatives in <xref ref-type="disp-formula" rid="eqn-4">Eqs. (4)</xref>&#x2013;<xref ref-type="disp-formula" rid="eqn-6">(6)</xref>. For non-advection step I (<xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref>), the discretization for the horizontal velocity <italic>u</italic> and the vertical velocity <italic>v</italic> is:</p>
<p><disp-formula id="eqn-10">
<label>(10)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-10.png"/><tex-math id="tex-eqn-10"><![CDATA[$
\begin{equation} \begin{array}{l@{\,}l@{\,}l} \displaystyle\frac{\partial u_{i,j}}{\partial t}&=&fx_{i,j}+\displaystyle\frac{1}{\rho _{i+1/2,j}}  \left\{\displaystyle\frac{2}{\Delta x}\left[\mu _{i+1,j}\frac{u_{i+1,j}-u_{i,j}}{\Delta x}-\mu _{i,j}\displaystyle\frac{u_{i,j}-u_{i-1,j}}{\Delta x}\right]\right.\\[5pt] & &+\displaystyle\frac{1}{\Delta y}\left[\mu _{i+1/2,j+1/2}\left(\frac{u_{i,j+1}-u_{i,j}}{\Delta y}+\frac{v_{i+1,j}-v_{i,j}}{\Delta x}\right)\right]\\  &&-\left.\displaystyle\frac{1}{\Delta y}\left[\mu _{i+1/2,j-1/2}\left(\displaystyle\frac{u_{i,j}-u_{i,j-1}}{\Delta y}+\displaystyle\frac{v_{i+1,j-1}-v_{i,j-1}}{\Delta x}\right)\right]\right\} \end{array} \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-10" display="block"><mml:mtable columnalign="left" rowspacing="0.9em 0.4em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mi>f</mml:mi><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mfrac><mml:mrow><mml:mo>{</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>2</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>]</mml:mo></mml:mrow></mml:mstyle><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd /><mml:mtd><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd /><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mstyle><mml:mo>}</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math>
<!--</alternatives>--></disp-formula></p>

<p><disp-formula id="eqn-11">
<label>(11)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-11.png"/><tex-math id="tex-eqn-11"><![CDATA[$
\begin{equation} \begin{array}{l@{\,}l@{\,}l} \displaystyle\frac{\partial v_{i,j}}{\partial t}&=&fy_{i,j}+\displaystyle\frac{1}{\rho _{i,j+1/2}} \left\{\displaystyle\frac{1}{\Delta x}\left[\mu _{i+1/2,j+1/2}\left(\displaystyle\frac{v_{i+1,j}-v_{i,j}}{\Delta x}+\frac{u_{i,j+1}-u_{i,j}}{\Delta y}\right)\right]\right.\\ &&-\displaystyle\frac{1}{\Delta x}\left[\mu _{i-1/2,j+1/2}\left(\displaystyle\frac{v_{i,j}-v_{i-1,j}}{\Delta x}+\displaystyle\frac{u_{i-1,j+1}-u_{i-1,j}}{\Delta y}\right)\right]\\ &&+\left.\displaystyle\frac{2}{\Delta y}\left[\mu _{i,j+1}\displaystyle\frac{v_{i,j+1}-v_{i,j}}{\Delta y}-\mu _{i,j}\frac{v_{i,j}-v_{i,j-1}}{\Delta y}\right]\right\} \end{array} \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-11" display="block"><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mi>f</mml:mi><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mfrac><mml:mrow><mml:mo>{</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mstyle><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd /><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd /><mml:mtd><mml:mo>+</mml:mo><mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>2</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>]</mml:mo></mml:mrow></mml:mstyle><mml:mo>}</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>The discretization of <xref ref-type="disp-formula" rid="eqn-5">Eq. (5)</xref> is easy to derive and is neglected here. The discretization of PPE (<xref ref-type="disp-formula" rid="eqn-6">Eq. (6)</xref>) is as follows:</p>
<p><disp-formula id="eqn-12">
<label>(12)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-12.png"/><tex-math id="tex-eqn-12"><![CDATA[$
\begin{equation} \begin{array}{l@{\,}l@{\,}l} \displaystyle\frac{1}{\Delta t}\left(\displaystyle\frac{u_{i,j}-u_{i-1,j}}{\Delta x}+\displaystyle\frac{v_{i,j}-v_{i,j-1}}{\Delta y}\right) & =&  p_{i+1,j}\left(\displaystyle\frac{1}{\Delta x^{2}}\displaystyle\frac{1}{\rho _{i+1/2,j}}\right)+p_{i-1,j}\left(\displaystyle\frac{1}{\Delta x^{2}}\displaystyle\frac{1}{\rho _{i-1/2,j}}\right)\\[5pt] &&+ p_{i,j+1}\left(\displaystyle\frac{1}{\Delta y^{2}}\displaystyle\frac{1}{\rho _{i,j+1/2}}\right)+p_{i,j-1}\left(\displaystyle\frac{1}{\Delta y^{2}}\displaystyle\frac{1}{\rho _{i,j-1/2}}\right)\\[5pt] &&- p_{i,j}\left[\displaystyle\frac{1}{\Delta x^{2}}\left(\displaystyle\frac{1}{\rho _{i+1/2,j}}+\displaystyle\frac{1}{\rho _{i-1/2,j}}\right)+\displaystyle\frac{1}{\Delta y^{2}}\left(\displaystyle\frac{1}{\rho _{i,j+1/2}}+\displaystyle\frac{1}{\rho _{i,j-1/2}}\right)\right] \end{array} \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-12" display="block"><mml:mtable columnalign="left" rowspacing="0.9em 0.9em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>)</mml:mo></mml:mrow></mml:mstyle></mml:mtd><mml:mtd><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd /><mml:mtd><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd /><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mfrac><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mfrac><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>)</mml:mo></mml:mrow></mml:mstyle></mml:mstyle><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math>
<!--</alternatives>--></disp-formula></p>
</sec>
<sec id="s2_2_3">
<label>2.2.3</label>
<title>VOF Equation</title>
<p>For the solution of <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>, PLIC is utilized to reconstruct the interface [<xref ref-type="bibr" rid="ref-32">32</xref>]. The Lagrangian advection scheme is adopted to propagate the interfaces within the cells [<xref ref-type="bibr" rid="ref-33">33</xref>].</p>
<p>With the <inline-formula id="ieqn-16"><!--<alternatives><inline-graphic xlink:href="ieqn-16.png"/><tex-math id="tex-ieqn-16"><![CDATA[$
 \varphi 
$]]></tex-math>--><mml:math id="mml-ieqn-16"><mml:mi>&#x03C6;</mml:mi></mml:math><!--</alternatives>--></inline-formula> of a cell determined, the density and dynamic viscosity coefficient at the cell center are defined with:</p>
<p>
<disp-formula id="eqn-13a">
<label>(13a)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-13.png"/><tex-math id="tex-eqn-13"><![CDATA[$
\begin{equation} \rho _{i,j}=\varphi _{i,j}\cdot \rho _{\mathit{water}}+\left(1-\varphi _{i,j}\right)\cdot \rho _{gas} \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-13" display="block"><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>g</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math>
<!--</alternatives>--></disp-formula></p>
<p><disp-formula id="eqn-13b">
<label>(13b)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-14.png"/><tex-math id="tex-eqn-14"><![CDATA[$
\begin{equation} \mu _{i,j}=\varphi _{i,j}\cdot \mu _{\mathit{water}}+\left(1-\varphi _{i,j}\right)\cdot \mu _{gas} \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-14" display="block"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>g</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math>
<!--</alternatives>--></disp-formula>
</p>
<p>In the discretizations of the two non-advection steps and the PPE equation (<xref ref-type="disp-formula" rid="eqn-10">Eqs. (10)</xref>&#x2013;<xref ref-type="disp-formula" rid="eqn-12">(12)</xref>), the densities and dynamic viscosity coefficients at the cell edges and corners are necessary. If the viscous term in the Navier&#x2013;Stokes equations is treated implicitly, the harmonic averaging method is suggested [<xref ref-type="bibr" rid="ref-10">10</xref>]. As the viscous term is treated explicitly in this model, the simple average method is adopted for simplicity:</p>
<p><disp-formula id="eqn-14a">
<label>(14a)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-15.png"/><tex-math id="tex-eqn-15"><![CDATA[$
\begin{equation} s_{i+1/2,j}=\left(s_{i,j}+s_{i+1,j}\right)/2 \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-14a" display="block"><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:math>
<!--</alternatives>--></disp-formula></p>
<p><disp-formula id="eqn-14b">
<label>(14b)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-16.png"/><tex-math id="tex-eqn-16"><![CDATA[$
\begin{equation} s_{i+1/2,j+1/2}=\left(s_{i,j}+s_{i+1,j}+s_{i,j+1}+s_{i+1,j+1}\right)/4 \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-14b" display="block"><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>4</mml:mn></mml:math>
<!--</alternatives>--></disp-formula></p>

<p>where <italic>s</italic> stands for the density and dynamic viscosity coefficient.</p>
</sec>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>AMR Grid</title>
<sec id="s2_3_1">
<label>2.3.1</label>
<title>AMR Grid and Data Structure</title>
<p>As mentioned before, the AMR grid is employed in this model. The computation domain is defined as a quadtree (2D) or octree (3D) structure with all the nodes of the tree to indicate a grid block with the same grid number (see <xref ref-type="fig" rid="fig-2">Figs. 2</xref> and <xref ref-type="fig" rid="fig-3">3</xref> for the grid and the corresponding data structure). During the simulation, the grid is allowed to refine/coarsen certain blocks based on the defined strategy. It is noted that the refinement level is not allowed to jump more than one at any location during the refining/coarsen process. In this paper, the open-source library Paramesh is utilized to manage the grid [<xref ref-type="bibr" rid="ref-34">34</xref>].</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>(a) AMR grid and (b) the corresponding data structure in 2D</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-2.png"/>
</fig>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>(a) AMR grid and (b) the corresponding data structure in 3D</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-3.png"/>
</fig>
<p>A fixed time step strategy is adopted due to the incompressibility of the fluid. The single grid solver is applied on all the grid blocks without too many changes, except for the interpolation between blocks to provide boundary conditions.</p>
</sec>
<sec id="s2_3_2">
<label>2.3.2</label>
<title>Interpolation and Refining/Coarsen Operators</title>
<p>After each operation (advection, diffusion, and pressure correction) within each time step, interpolations are necessary as the grid blocks need ghost cells at their boundaries to complete the discretization stencils. Two layers of ghost cells are used for each block. Take the grid in <xref ref-type="fig" rid="fig-2">Fig. 2</xref> as an example, for the blocks at the same level (such as 9 and 16), the direct injection method is used. For the blocks whose ghost cell values are provided by a finer grid block (such as 17 provided by 9 and 16), the simple average method is used to preserve the accuracy as well as conservation. For the blocks whose ghost cell values are provided by a coarser grid block (such as 7 or 4 provided by 2), the algorithm is a little bit complex and we will interpret it in detail.</p>
<p>Due to the staggered arrangements of the variables, the interpolations for variables <inline-formula id="ieqn-17"><!--<alternatives><inline-graphic xlink:href="ieqn-17.png"/><tex-math id="tex-ieqn-17"><![CDATA[$
 u 
$]]></tex-math>--><mml:math id="mml-ieqn-17"><mml:mi>u</mml:mi></mml:math><!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-18"><!--<alternatives><inline-graphic xlink:href="ieqn-18.png"/><tex-math id="tex-ieqn-18"><![CDATA[$
 v 
$]]></tex-math>--><mml:math id="mml-ieqn-18"><mml:mi>v</mml:mi></mml:math><!--</alternatives>--></inline-formula> are different. As shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, <inline-formula id="ieqn-19"><!--<alternatives><inline-graphic xlink:href="ieqn-19.png"/><tex-math id="tex-ieqn-19"><![CDATA[$
 u_{i-1,j} 
$]]></tex-math>--><mml:math id="mml-ieqn-19"><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-20"><!--<alternatives><inline-graphic xlink:href="ieqn-20.png"/><tex-math id="tex-ieqn-20"><![CDATA[$
 u_{i-2,j} 
$]]></tex-math>--><mml:math id="mml-ieqn-20"><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-21"><!--<alternatives><inline-graphic xlink:href="ieqn-21.png"/><tex-math id="tex-ieqn-21"><![CDATA[$
 v_{i-1,j} 
$]]></tex-math>--><mml:math id="mml-ieqn-21"><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-22"><!--<alternatives><inline-graphic xlink:href="ieqn-22.png"/><tex-math id="tex-ieqn-22"><![CDATA[$
 v_{i,j} 
$]]></tex-math>--><mml:math id="mml-ieqn-22"><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> are needed for the fine grid. In this model, the bi-quadratic interpolation is adopted to achieve 2nd-order accuracy. The expressions are:</p>
<p><disp-formula id="eqn-15">
<label>(15)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-17.png"/><tex-math id="tex-eqn-17"><![CDATA[$
\begin{equation} \begin{array}{l} u_{i-2,j}=\left(5U_{I,J+1}+30U_{I,J}-2U_{I,J-1}\right)/32\\[4pt] u_{i-1,j}=\left(u_{i-2,j}+u_{i,j}\right)/2\\[4pt] 
v_{i-1,j}=\left(V_{I,J}+7V_{I+1,J}-v_{i+1,j}\right)/7\\[4pt] 
v_{i,j}=\left(8V_{I+1,J}+10v_{i+1,j}-3v_{i+2,j}\right)/15 \end{array} \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-15" display="block"><mml:mtable columnalign="left" rowspacing="0.8em 0.8em 0.8em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>5</mml:mn><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mo>,</mml:mo><mml:mi>J</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>30</mml:mn><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mo>,</mml:mo><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mo>,</mml:mo><mml:mi>J</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>32</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mo>,</mml:mo><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>7</mml:mn><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>7</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>8</mml:mn><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>10</mml:mn><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>15</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<!--</alternatives>--></disp-formula></p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Interpolations between coarse grid (solid lines with variables in the upper case) and fine grid (dashed lines with variables in the lower case), interpolation zone indicated with a box in the dash-dotted line</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-4.png"/>
</fig>
<p>Other interpolations can be categorized into the expressions above. The interpolations in 3D are similar.</p>
<p>A refining/de-refining process is conducted based on the distance of a grid block from the free surface at the end of each time step. During the process, the divergence-free condition must be preserved. Here, the face averaging method is adopted for the de-refining process as it is a simple way to preserve the divergence of the velocity field on a staggered grid as well as global 2nd-order accuracy. For the refining process, the method proposed by T&#x00F3;th et al. [<xref ref-type="bibr" rid="ref-35">35</xref>] in which a prolongation operator that can preserve the divergence and curl is employed.</p>
</sec>
<sec id="s2_3_3">
<label>2.3.3</label>
<title>Coarse-Fine Interface Treatment</title>
<p>A careful treatment of the coarse-fine interface is necessary during the solution process. Due to the staggered grid, velocities at the interface will share the same face for the coarse and fine grid as shown in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>. Flux conservation is necessary at the interface. The velocity on the finer grid is considered to be more accurate so a simple average is performed after each operation (advection step, diffusion step, and pressure correction step), which has the form of <inline-formula id="ieqn-23"><!--<alternatives><inline-graphic xlink:href="ieqn-23.png"/><tex-math id="tex-ieqn-23"><![CDATA[$
 U_{I,J}\Delta Y=\left(u_{i,j}+u_{i,j-1}\right)\Delta y 
$]]></tex-math>--><mml:math id="mml-ieqn-23"><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mo>,</mml:mo><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>Y</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:math><!--</alternatives>--></inline-formula>. However, as the divergence-free condition is already fulfilled after the pressure correction step, the condition may no longer be preserved if an additional flux conservation operation is performed at the end of each time step.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Flux conservation at the coarse-fine interface</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-5.png"/>
</fig>
<p>A simple method to avoid the situation is to force the velocities to satisfy the flux conservation condition after the pressure correction step automatically. A pressure boundary condition method is proposed by Vanella et al. [<xref ref-type="bibr" rid="ref-4">4</xref>] for single-phase flow. The method could be extended to two-phase flow with the consideration of density variation. During the iterative solution of PPE, the gradient of the pressure normal to the coarse-fine interface is forced to satisfy the following equation:</p>
<p><disp-formula id="eqn-16">
<label>(16)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-18.png"/><tex-math id="tex-eqn-18"><![CDATA[$
\begin{equation} \frac{1}{\rho }\left.\frac{\partial p_{\mathit{coarse}}}{\partial x}\right| _{I,J}\Delta Y=\left.\frac{1}{\rho }\frac{\partial p_{fine}}{\partial x}\right| _{i,j}\Delta y+\left.\frac{1}{\rho }\frac{\partial p_{fine}}{\partial x}\right| _{i,j-1}\Delta y \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-16" display="block"><mml:mfrac><mml:mn>1</mml:mn><mml:mi>&#x03C1;</mml:mi></mml:mfrac><mml:msub><mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">e</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mo>,</mml:mo><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>Y</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>&#x03C1;</mml:mi></mml:mfrac><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>&#x03C1;</mml:mi></mml:mfrac><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>y</mml:mi></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Then the flux conservation condition will be automatically satisfied.</p>

</sec>
</sec>
<sec id="s2_4">
<label>2.4</label>
<title>Algorithm</title>
<p>The complete algorithm of the model is as follows:
<list list-type="order">
<list-item>
<p>Initialize the flow field with the initial topology of the water phase (<inline-formula id="ieqn-24"><!--<alternatives><inline-graphic xlink:href="ieqn-24.png"/><tex-math id="tex-ieqn-24"><![CDATA[$
 \varphi ^{n} 
$]]></tex-math>--><mml:math id="mml-ieqn-24"><mml:msup><mml:mi>&#x03C6;</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>), the velocity field (<inline-formula id="ieqn-25"><!--<alternatives><inline-graphic xlink:href="ieqn-25.png"/><tex-math id="tex-ieqn-25"><![CDATA[$
 \mathbf{u}^{n} 
$]]></tex-math>--><mml:math id="mml-ieqn-25"><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>) and the pressure field (<inline-formula id="ieqn-26"><!--<alternatives><inline-graphic xlink:href="ieqn-26.png"/><tex-math id="tex-ieqn-26"><![CDATA[$
 p^{n} 
$]]></tex-math>--><mml:math id="mml-ieqn-26"><mml:msup><mml:mi>p</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>).</p></list-item>
<list-item>
<p>Calculate the position of the interface at the new time step to obtain <inline-formula id="ieqn-27"><!--<alternatives><inline-graphic xlink:href="ieqn-27.png"/><tex-math id="tex-ieqn-27"><![CDATA[$
 \varphi ^{n+1} 
$]]></tex-math>--><mml:math id="mml-ieqn-27"><mml:msup><mml:mi>&#x03C6;</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula> by advecting the VOF equation (<xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>).</p></list-item>
<list-item>
<p>Obtaining the density and dynamic viscosity coefficient of the cell (<inline-formula id="ieqn-28"><!--<alternatives><inline-graphic xlink:href="ieqn-28.png"/><tex-math id="tex-ieqn-28"><![CDATA[$
 \rho ^{n+1} 
$]]></tex-math>--><mml:math id="mml-ieqn-28"><mml:msup><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-29"><!--<alternatives><inline-graphic xlink:href="ieqn-29.png"/><tex-math id="tex-ieqn-29"><![CDATA[$
 \mu ^{n+1} 
$]]></tex-math>--><mml:math id="mml-ieqn-29"><mml:msup><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>) with <inline-formula id="ieqn-30"><!--<alternatives><inline-graphic xlink:href="ieqn-30.png"/><tex-math id="tex-ieqn-30"><![CDATA[$
 \varphi ^{n+1} 
$]]></tex-math>--><mml:math id="mml-ieqn-30"><mml:msup><mml:mi>&#x03C6;</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula> (<xref ref-type="disp-formula" rid="eqn-13a">Eq. (13)</xref>).</p></list-item>
<list-item>
<p>Compute the provisional velocity field <inline-formula id="ieqn-31"><!--<alternatives><inline-graphic xlink:href="ieqn-31.png"/><tex-math id="tex-ieqn-31"><![CDATA[$
 \mathbf{u}^{\ast } 
$]]></tex-math>--><mml:math id="mml-ieqn-31"><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula> using <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>.</p></list-item>
<list-item>
<p>Compute the provisional velocity field <inline-formula id="ieqn-32"><!--<alternatives><inline-graphic xlink:href="ieqn-32.png"/><tex-math id="tex-ieqn-32"><![CDATA[$
 \mathbf{u}^{\ast \ast } 
$]]></tex-math>--><mml:math id="mml-ieqn-32"><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula> using <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref>.</p></list-item>
<list-item>
<p>Calculate the pressure field <inline-formula id="ieqn-33"><!--<alternatives><inline-graphic xlink:href="ieqn-33.png"/><tex-math id="tex-ieqn-33"><![CDATA[$
 p^{n+1} 
$]]></tex-math>--><mml:math id="mml-ieqn-33"><mml:msup><mml:mi>p</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula> using <xref ref-type="disp-formula" rid="eqn-6">Eq. (6)</xref>.</p></list-item>
<list-item>
<p>Compute the velocity field <inline-formula id="ieqn-34"><!--<alternatives><inline-graphic xlink:href="ieqn-34.png"/><tex-math id="tex-ieqn-34"><![CDATA[$
 \mathbf{u}^{n+1} 
$]]></tex-math>--><mml:math id="mml-ieqn-34"><mml:msup><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula> using <xref ref-type="disp-formula" rid="eqn-5">Eq. (5)</xref>.</p></list-item>
<list-item>
<p>Compute the distance from free surface for each grid block, refine/de-refine the blocks under the defined strategy.</p></list-item>
<list-item>
<p>Proceed to Step (2) for the next time step.</p></list-item>
</list></p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Validations</title>
<p>In this section, three selected benchmark cases are carried out for the validation of the model. Shear flow tests are conducted to validate the extension of the VOF method to the AMR grid. A linear sloshing case is considered to check the accuracy of the model. A nonlinear sloshing problem is simulated to validate the accuracy of the model as well as discuss the efficiency with the AMR grid.</p>
<sec id="s3_1">
<label>3.1</label>
<title>2D/3D Shear Flow Test</title>
<p>The shear flow test is a widely used benchmark to validate the VOF method [<xref ref-type="bibr" rid="ref-36">36</xref>]. In this problem, an initial scalar field evolves under a given velocity field. The forms of the velocity field are:</p>

<p><disp-formula id="eqn-17a">
<label>(17a)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-19.png"/><tex-math id="tex-eqn-19"><![CDATA[$
\begin{equation} 2D\ \left.\begin{array}{l} u\left(x,y\right)=\sin \left(\pi x\right)\cos \left(\pi y\right)\\[5pt] v\left(x,y\right)=-\cos \left(\pi x\right)\sin \left(\pi y\right) \end{array}\right. \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-17a" display="block"><mml:mn>2</mml:mn><mml:mi>D</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo><mml:mtable columnalign="left" rowspacing="0.9em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>u</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>v</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p><disp-formula id="eqn-17b">
<label>(17b)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-20.png"/><tex-math id="tex-eqn-20"><![CDATA[$
\begin{equation} 3D\ \left.\begin{array}{l} u\left(x,y,z,t\right)=2\sin ^{2}\left(\pi x\right)\sin \left(2\pi y\right)\sin \left(2\pi z\right)\cos \left(\pi t/T\right)\\[5pt] 
v\left(x,y,z,t\right)=-\sin \left(2\pi x\right)\sin ^{2}\left(\pi y\right)\sin \left(2\pi z\right)\cos \left(\pi t/T\right)\\[5pt] 
w\left(x,y,z,t\right)=-\sin \left(2\pi x\right)\sin \left(2\pi y\right)\sin ^{2}\left(\pi z\right)\cos \left(\pi t/T\right) \end{array}\right. \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-17b" display="block"><mml:mn>3</mml:mn><mml:mi>D</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo><mml:mtable columnalign="left" rowspacing="0.9em 0.9em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>u</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:msup><mml:mi>sin</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>T</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>v</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:msup><mml:mi>sin</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>T</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>w</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:msup><mml:mi>sin</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>T</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>

<p>The zone scale is 1.0 for both 2D and 3D on all the dimensions. The initial shape of the scalar field is given as a circle in 2D and a sphere in 3D. So the corresponding volume fraction is set as:</p>

<p><disp-formula id="eqn-18a">
<label>(18a)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-21.png"/><tex-math id="tex-eqn-21"><![CDATA[$
\begin{equation} 2D~\varphi =\left\{\begin{array}{l@{\quad}l} 1 & \sqrt{\left(x-0.5\right)^{2}+\left(y-0.25\right)^{2}}\lt 0.15\\[5pt] 
0 & else \end{array}\right. \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-18a" display="block"><mml:mn>2</mml:mn><mml:mi>D</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>&#x03C6;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left" rowspacing="0.9em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:msqrt><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>0.5</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>0.25</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:msqrt><mml:mo>&#x003C;</mml:mo><mml:mn>0.15</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p><disp-formula id="eqn-18b">
<label>(18b)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-22.png"/><tex-math id="tex-eqn-22"><![CDATA[$
\begin{equation} 3D~\varphi =\left\{\begin{array}{l@{\quad}l} 1 & \sqrt{\left(x-0.35\right)^{2}+\left(y-0.35\right)^{2}+\left(z-0.35\right)^{2}}\lt 0.15\\[5pt] 
0 & else \end{array}\right. \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-18b" display="block"><mml:mn>3</mml:mn><mml:mi>D</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>&#x03C6;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left" rowspacing="0.9em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:msqrt><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>0.35</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>0.35</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>0.35</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:msqrt><mml:mo>&#x003C;</mml:mo><mml:mn>0.15</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>

<p>A 4-level AMR grid is used with the CFL number set to be 0.1 for all the simulations. The minimum scale of the grid is set as 1/128. The results at selected moments are shown in <xref ref-type="fig" rid="fig-6">Figs. 6</xref> and <xref ref-type="fig" rid="fig-7">7</xref>. For the 2D case, at time <italic>t</italic> &#x003D; 5 s (<xref ref-type="fig" rid="fig-6">Fig. 6a</xref>), discontinuity of the scalar field is observed. It is due to the incorrect normal direction and can be alleviated with a finer mesh. At time <italic>t</italic> &#x003D; 10 s (<xref ref-type="fig" rid="fig-6">Fig. 6b</xref>), the scalar field evolves back to a circle. For the 3D case, the sphere evolves to be disk type at <italic>t</italic> &#x003D; 0.5<italic>T</italic> (<xref ref-type="fig" rid="fig-7">Fig. 7a</xref>) and then evolves back to a sphere at <italic>t</italic> &#x003D; <italic>T</italic> (<xref ref-type="fig" rid="fig-7">Fig. 7b</xref>). The results are acceptable considering the results of previous works [<xref ref-type="bibr" rid="ref-13">13</xref>,<xref ref-type="bibr" rid="ref-36">36</xref>].</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>2D scalar fields at selected moments (velocity field change sign symbol at <italic>t</italic> &#x003D; 5 s): (a) <italic>t</italic> &#x003D; 5 s; (b) <italic>t</italic> &#x003D; 10 s</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-6.png"/>
</fig>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>3D scalar fields at selected moments (<italic>T</italic> &#x003D; 3 s): (a) <italic>t</italic> &#x003D; 0.5 <italic>T</italic>; (b) <italic>t</italic> &#x003D; <italic>T</italic></title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-7.png"/>
</fig>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>2D Linear Free Sloshing with Viscous Effects</title>
<p>2D linear free sloshing is considered to validate the accuracy of the model. In this problem, a tank is filled with water and gas and the initial wave profile is given. The liquid is initially at rest and evolves submitted to the gravity force. An illustration of the problem is presented in <xref ref-type="fig" rid="fig-8">Fig. 8</xref>.</p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Illustration of the linear free sloshing problem</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-8.png"/>
</fig>
<p>When the wave amplitude is small, a linear analytic solution for 2D viscous waves in a rectangular tank was derived by Wu et al. [<xref ref-type="bibr" rid="ref-37">37</xref>]. For the initial wave profile to be:</p>
<p><disp-formula id="eqn-19">
<label>(19)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-23.png"/><tex-math id="tex-eqn-23"><![CDATA[$
\begin{equation} \eta _{0}=a\cos k\left(x+W/2\right) \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-19" display="block"><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>k</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:mi>W</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>where <italic>W</italic> is the width of the tank, <italic>a</italic> is the initial wave amplitude and <italic>k</italic> is the wave number with <inline-formula id="ieqn-35"><!--<alternatives><inline-graphic xlink:href="ieqn-35.png"/><tex-math id="tex-ieqn-35"><![CDATA[$
 k=2\pi /W 
$]]></tex-math>--><mml:math id="mml-ieqn-35"><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>W</mml:mi></mml:math><!--</alternatives>--></inline-formula>. When the condition that <inline-formula id="ieqn-36"><!--<alternatives><inline-graphic xlink:href="ieqn-36.png"/><tex-math id="tex-ieqn-36"><![CDATA[$
 \kappa =g/\nu ^{2}k^{3}\gt 0.5814122 
$]]></tex-math>--><mml:math id="mml-ieqn-36"><mml:mi>&#x03BA;</mml:mi><mml:mo>=</mml:mo><mml:mi>g</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msup><mml:mi>&#x03BD;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mi>k</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msup><mml:mo>&#x003E;</mml:mo><mml:mn>0.5814122</mml:mn></mml:math><!--</alternatives>--></inline-formula> is fulfilled where <italic>v</italic> is the kinematic viscosity of the liquid and <italic>g</italic> is the gravity acceleration, the analytical solution for free surface profile deformation can be expressed in the following form:</p>
<p><disp-formula id="eqn-20">
<label>(20)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-24.png"/><tex-math id="tex-eqn-24"><![CDATA[$
\begin{equation} \frac{\eta \left(t\right)}{\eta _{0}}=1-2\kappa \Re \left(\sum _{i=1}^{2}\frac{A_{i}\left\{-\gamma _{i}e^{\left(-1+\gamma _{i}^{2}\right)\nu {k^{2}}t}\left[1+\mathrm{erf}\left(\gamma _{i}k\sqrt{\nu t}\right)\right]+\gamma _{i}+\mathrm{erf}\left(k\sqrt{\nu t}\right)\right\}}{1-\gamma _{i}^{2}}\right) \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-20" display="block"><mml:mfrac><mml:mrow><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mfrac><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03BA;</mml:mi><mml:mi mathvariant="normal">&#x211C;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:munderover><mml:mfrac><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>{</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msubsup><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mi>&#x03BD;</mml:mi><mml:mrow><mml:msup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo>[</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mrow><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi>k</mml:mi><mml:msqrt><mml:mi>&#x03BD;</mml:mi><mml:mi>t</mml:mi></mml:msqrt><mml:mo>)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:msqrt><mml:mi>&#x03BD;</mml:mi><mml:mi>t</mml:mi></mml:msqrt><mml:mo>)</mml:mo></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>in which <inline-formula id="ieqn-37"><!--<alternatives><inline-graphic xlink:href="ieqn-37.png"/><tex-math id="tex-ieqn-37"><![CDATA[$
 \Re 
$]]></tex-math>--><mml:math id="mml-ieqn-37"><mml:mi mathvariant="normal">&#x211C;</mml:mi></mml:math><!--</alternatives>--></inline-formula> means the real part of the complex number, <inline-formula id="ieqn-38"><!--<alternatives><inline-graphic xlink:href="ieqn-38.png"/><tex-math id="tex-ieqn-38"><![CDATA[$
 \gamma _{1} 
$]]></tex-math>--><mml:math id="mml-ieqn-38"><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-39"><!--<alternatives><inline-graphic xlink:href="ieqn-39.png"/><tex-math id="tex-ieqn-39"><![CDATA[$
 \gamma _{2} 
$]]></tex-math>--><mml:math id="mml-ieqn-39"><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> are any non-conjugate roots of the four possible roots of the following equation:</p>
<p><disp-formula id="eqn-21">
<label>(21)</label>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="eqn-25.png"/><tex-math id="tex-eqn-25"><![CDATA[$
\begin{equation} \left(x^{2}+1\right)^{2}-4x+\kappa =0 \end{equation}
$]]></tex-math>--><mml:math id="mml-eqn-21" display="block"><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mn>4</mml:mn><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03BA;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Here the width of the tank, the water depth, and the initial wave amplitude are set as 1.0 m, 0.5 m, and 0.01 m, respectively. A 4-level AMR grid is adopted for this case. The grids are uniform around the interface in both directions with the spacing of 1/128 m. A constant time step of 0.00001 s is used for all the simulations. Reynolds numbers of 20 and 200 are considered here to validate the model and both cases run up to 10 s. The results are shown in <xref ref-type="fig" rid="fig-9">Fig. 9</xref> with a comparison to the analytic solution and good agreement is obtained. It is observed that the decrease of wave amplitude for Re to be 20 is very fast, due to the large viscosity.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Time histories of the wave amplitudes for (a) Re &#x003D; 20; (b) Re &#x003D; 200. (Here <inline-formula id="ieqn-40"><!--<alternatives><inline-graphic xlink:href="ieqn-40.png"/><tex-math id="tex-ieqn-40"><![CDATA[$
 Re=h\sqrt{gh}/\nu 
$]]></tex-math>--><mml:math id="mml-ieqn-40"><mml:mi>R</mml:mi><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:msqrt><mml:mi>g</mml:mi><mml:mi>h</mml:mi></mml:msqrt><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>&#x03BD;</mml:mi></mml:math><!--</alternatives>--></inline-formula>)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-9.png"/>
</fig>
<p>The spatial accuracy of the model is measured with the problem. The <italic>L</italic><sub><italic>2</italic></sub> and <inline-formula id="ieqn-41"><!--<alternatives><inline-graphic xlink:href="ieqn-41.png"/><tex-math id="tex-ieqn-41"><![CDATA[$
 L_{\infty } 
$]]></tex-math>--><mml:math id="mml-ieqn-41"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x221E;</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> norm errors of the solution of free surface height are shown in <xref ref-type="fig" rid="fig-10">Fig. 10</xref>. The solution on the <inline-formula id="ieqn-42"><!--<alternatives><inline-graphic xlink:href="ieqn-42.png"/><tex-math id="tex-ieqn-42"><![CDATA[$
 256\times 256 
$]]></tex-math>--><mml:math id="mml-ieqn-42"><mml:mn>256</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>256</mml:mn></mml:math><!--</alternatives>--></inline-formula> grid is defined as the reference solution. As shown in <xref ref-type="fig" rid="fig-10">Figs. 10a</xref> and <xref ref-type="fig" rid="fig-10">10b</xref>, the <italic>L</italic><sub><italic>2</italic></sub> norm error is nearly 2nd-order while the <inline-formula id="ieqn-43"><!--<alternatives><inline-graphic xlink:href="ieqn-43.png"/><tex-math id="tex-ieqn-43"><![CDATA[$
 L_{\infty } 
$]]></tex-math>--><mml:math id="mml-ieqn-43"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x221E;</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> norm error is between 1st-order and 2nd-order. The error should come from the smear near the free surface in the discretization (<xref ref-type="disp-formula" rid="eqn-13a">Eqs. (13)</xref> and <xref ref-type="disp-formula" rid="eqn-14a">(14)</xref>).</p>
<fig id="fig-10">
<label>Figure 10</label>
<caption>
<title>Variations of the norm errors of the free surface height with different grid spacing: (a) Re &#x003D; 20; (b) Re &#x003D; 200</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-10.png"/>
</fig>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>2D Nonlinear Sloshing under Surge Motion</title>
<p>A 2D nonlinear sloshing resonance problem is considered with this model. In this problem, a partially filled tank submitted to the gravity force and an external horizontal force is simulated. The computational model with corresponding parameters consistent with Liu et al.&#x2019;s [<xref ref-type="bibr" rid="ref-38">38</xref>] experiment is shown in <xref ref-type="fig" rid="fig-11">Fig. 11</xref>. When the frequency of the exciting force is close to the natural frequency of a tank, resonance will occur. For a 2D case, the natural frequency can be obtained with <inline-formula id="ieqn-44"><!--<alternatives><inline-graphic xlink:href="ieqn-44.png"/><tex-math id="tex-ieqn-44"><![CDATA[$
 \omega _{n}=\sqrt{gk_{n}\tan \mathrm{h}\left(k_{n}d\right)} 
$]]></tex-math>--><mml:math id="mml-ieqn-44"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mi>g</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mi>tan</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mi mathvariant="normal">h</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mi>d</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msqrt></mml:math><!--</alternatives>--></inline-formula> where <italic>d</italic> is the water depth and <italic>k</italic><sub><italic>n</italic></sub> &#x003D; <italic>n&#x03C0;</italic>/<italic>W</italic>, here <italic>W</italic> is the width of the tank [<xref ref-type="bibr" rid="ref-39">39</xref>]. The width of the tank and the water depth are 0.57 m and 0.15 m, so the lowest natural frequency is <inline-formula id="ieqn-45"><!--<alternatives><inline-graphic xlink:href="ieqn-45.png"/><tex-math id="tex-ieqn-45"><![CDATA[$
 \omega _{n}=6.0578\ \mathrm{s}^{-1} 
$]]></tex-math>--><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>6.0578</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:msup><mml:mrow><mml:mi mathvariant="normal">s</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>. The water in the tank is at rest at <italic>t</italic> &#x003D; 0 s. Under the external force, the movement of the tank follows <inline-formula id="ieqn-46"><!--<alternatives><inline-graphic xlink:href="ieqn-46.png"/><tex-math id="tex-ieqn-46"><![CDATA[$
 x=-a\sin \omega t 
$]]></tex-math>--><mml:math id="mml-ieqn-46"><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>a</mml:mi><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>&#x03C9;</mml:mi><mml:mi>t</mml:mi></mml:math><!--</alternatives>--></inline-formula> in which the amplitude <italic>a</italic> is 0.005 m and <inline-formula id="ieqn-47"><!--<alternatives><inline-graphic xlink:href="ieqn-47.png"/><tex-math id="tex-ieqn-47"><![CDATA[$
 \omega =\omega _{n} 
$]]></tex-math>--><mml:math id="mml-ieqn-47"><mml:mi>&#x03C9;</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>. So that resonance will occur after some time.</p>
<fig id="fig-11">
<label>Figure 11</label>
<caption>
<title>Computational model of 2D nonlinear sloshing</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-11.png"/>
</fig>
<p>A 4-level AMR grid is adopted with the finest grid to be 0.0045 m in both directions. A constant time step of 0.001 s is used. Time histories of the free surface height at the three gauges for the time before 6.7 s are shown in <xref ref-type="fig" rid="fig-12">Fig. 12</xref>. The linear analytic solution is also given. The results agree very well with the experimental data of [<xref ref-type="bibr" rid="ref-38">38</xref>]. While the linear analytic solution gives an acceptable prediction only for the time before about 3 s. Then it fails to predict the behavior due to the nonlinearity.</p>
<fig id="fig-12">
<label>Figure 12</label>
<caption>
<title>Time histories of free surface height at the gauges: (a) Gauge 1; (b) Gauge 2; (c) Gauge 3</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-12.png"/>
</fig>
<p>With time going on, the wave amplitude will increase continuously until wave breaking occurs. Two selected moments are given in <xref ref-type="fig" rid="fig-13">Fig. 13</xref>. Wave overturning and breaking occur on the left and right walls.</p>
<fig id="fig-13">
<label>Figure 13</label>
<caption>
<title>Wave overturning and breaking on the left and right wall: (a) <italic>t</italic> &#x003D; 7.8 s; (b) <italic>t</italic> &#x003D; 8.2 s</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-13.png"/>
</fig>
<p>The efficiency of the AMR grid is discussed with this problem. An AMR grid with more levels usually leads to a smaller computational cost, if the minimum scale of the grid is set to be the same. To discuss it in quantitative, the stable phase of the nonlinear sloshing problem is selected (<italic>t</italic> &#x003D; 6&#x007E;8 s). Four grids with different levels (1 to 4) are considered and the finest grid scales are kept the same. The number of grid blocks varying with time is given in <xref ref-type="fig" rid="fig-14">Fig. 14</xref>. Obviously, a grid with more levels leads to a smaller grid block number.</p>
<fig id="fig-14">
<label>Figure 14</label>
<caption>
<title>Time history of the grid block number for the four grids</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-14.png"/>
</fig>
<p>The mean block number and corresponding CPU time for the four grids are shown in <xref ref-type="table" rid="table-1">Tab. 1</xref>. With a 2-level AMR grid, more than 60 percent in grid number and more than 50 percent in CPU time are saved than the 1-level grid (uniform grid). More levels mean more savings and 70 percent in grid number and more than 60 percent in CPU time are saved for the 3-level and 4-level grid. The differences between the save in grid number and save in CPU time is also given in the <xref ref-type="table" rid="table-1">Tab. 1</xref>. The difference increase with the increase of level, due to the increasing coarse-fine interface interpolation and refine/de-refine process for more level grids.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Mean block number and efficiency for each level grid</title>
</caption>
<!--<alternatives>
<graphic mimetype="image" mime-subtype="tif" xlink:href="table-1.png"/>-->
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th></th>
<th>Mean block</th>
<th>Mean grid</th>
<th>Grid save (%)</th>
<th>CPU time (s)</th>
<th>CPU save (%)</th>
<th>Grid save&#x2014;CPU save (%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>1024</td>
<td>16384</td>
<td>&#x2013;</td>
<td>1964</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
</tr>
<tr>
<td>2</td>
<td>388.86</td>
<td>6222</td>
<td>62.02</td>
<td>879</td>
<td>55.24</td>
<td>6.78</td>
</tr>
<tr>
<td>3</td>
<td>277.74</td>
<td>4444</td>
<td>72.88</td>
<td>731</td>
<td>62.78</td>
<td>10.10</td>
</tr>
<tr>
<td>4</td>
<td>264.04</td>
<td>4225</td>
<td>74.21</td>
<td>727</td>
<td>62.98</td>
<td>11.23</td>
</tr>
</tbody>
</table>
<!--</alternatives>-->
</table-wrap>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Results</title>
<p>In this section, two selected cases are utilized to show that the model is able to simulate violent interface problems.</p>
<sec id="s4_1">
<label>4.1</label>
<title>2D Solitary Wave Past a Submerged Stationary Stage</title>
<p>To demonstrate the model&#x2019;s ability in dealing with wave breaking problems, a solitary wave past a submerged stationary stage is considered with the model. The computational model of the problem is shown in <xref ref-type="fig" rid="fig-15">Fig. 15</xref> with the parameters to be the same as the experiment conducted by Yasuda et al. [<xref ref-type="bibr" rid="ref-40">40</xref>]. Three gauges are set in the zone, referred to as P2, P3, and P4 by Yasuda et al. [<xref ref-type="bibr" rid="ref-40">40</xref>], respectively. The same problem was also considered by Lubin et al. [<xref ref-type="bibr" rid="ref-41">41</xref>] numerically.</p>
<fig id="fig-15">
<label>Figure 15</label>
<caption>
<title>Computational model for solitary wave past a submerged stationary stage</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-15.png"/>
</fig>
<fig id="fig-16">
<label>Figure 16</label>
<caption>
<title>Time histories of free surface height at the gauges: (a) P2; (b) P3; (c) P4</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-16.png"/>
</fig>
<p>A 4-level AMR grid is employed and a fixed time step of 0.001 s is adopted for the simulations. The minimum grid scales of the medium grid is <inline-formula id="ieqn-48"><!--<alternatives><inline-graphic xlink:href="ieqn-48.png"/><tex-math id="tex-ieqn-48"><![CDATA[$
 4.8\times 10^{-3}~\mathrm{m} 
$]]></tex-math>--><mml:math id="mml-ieqn-48"><mml:mn>4.8</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msup><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math><!--</alternatives>--></inline-formula> on both horizontal and vertical directions after a careful convergence test. The time histories of free surface height at the gauges are compared with the experimental data from Yasuda et al. [<xref ref-type="bibr" rid="ref-40">40</xref>] and the numerical results from Lubin et al. [<xref ref-type="bibr" rid="ref-41">41</xref>], as shown in <xref ref-type="fig" rid="fig-16">Fig. 16</xref>. All the results achieve good agreement including gauge P4, for which the free surface increases suddenly due to the existence of the stage.</p>
<p>Wave profiles at selected moments are shown in <xref ref-type="fig" rid="fig-17">Fig. 17</xref>. The wave profile at the forehead becomes up straight first (<xref ref-type="fig" rid="fig-17">Fig. 17a</xref>). Then the forehead rolls over as shown in <xref ref-type="fig" rid="fig-17">Fig. 17b</xref>. The process means the current wave breaking mode is plungers [<xref ref-type="bibr" rid="ref-42">42</xref>].</p>
<fig id="fig-17">
<label>Figure 17</label>
<caption>
<title>Wave profiles at selected moments: (a) forehead up straight; (b) forehead rolls over</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-17.png"/>
</fig>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>2D/3D Dam Break</title>
<p>Dam break is a typical violent free-surface flow problem, as complicated phenomena including merging, overturning, and air entrainment occur during the process. The problem was studied by Martin et al. [<xref ref-type="bibr" rid="ref-43">43</xref>] experimentally, and then by researchers in various ways [<xref ref-type="bibr" rid="ref-44">44</xref>,<xref ref-type="bibr" rid="ref-45">45</xref>]. The computational layout of the 2D dam break problem is shown in <xref ref-type="fig" rid="fig-18">Fig. 18</xref>, with <italic>a</italic> &#x003D; 0.2 m corresponds to the parameters of Hu et al.&#x2019;s [<xref ref-type="bibr" rid="ref-45">45</xref>] experiment. For the 3D case, the spanwise scale is <italic>a</italic>.</p>
<fig id="fig-18">
<label>Figure 18</label>
<caption>
<title>Computational layout of the dam break problem</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-18.png"/>
</fig>
<p>Both 2D and 3D simulations are conducted, with the minimum grid scale to be 1/128 and 1/64 for 2D and 3D, respectively. A constant time step of 0.001 s is used. The water is initially at rest (<italic>t</italic> &#x003D; 0 s) and then moves under the influence of gravity force. Time histories of wavefront location and water column height are presented in <xref ref-type="fig" rid="fig-19">Fig. 19</xref>. Results on the three grids are compared with the experimental data of Martin et al. [<xref ref-type="bibr" rid="ref-43">43</xref>], Hu et al. [<xref ref-type="bibr" rid="ref-45">45</xref>], and the numerical results of Ubbink [<xref ref-type="bibr" rid="ref-46">46</xref>]. The results are non-dimensionalized with corresponding parameters to ease the comparison. It is observed that the results agree well with the experimental data and numerical results from other sources.</p>
<fig id="fig-19">
<label>Figure 19</label>
<caption>
<title>Comparison of non-dimensional time histories of: (a) the wavefront location; (b) the water column height</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-19.png"/>
</fig>
<fig id="fig-20">
<label>Figure 20</label>
<caption>
<title>Comparison of the water run-up and overturning process (left: 2D results; medium: 3D results; right: experimental data from Hu et al. [<xref ref-type="bibr" rid="ref-45">45</xref>]). (a) t &#x003D; 0.0 s, (b) t &#x003D; 0.18 s, (c) t &#x003D; 0.39 s, (d) t &#x003D; 0.52 s, (e) t &#x003D; 0.99 s</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_14847-fig-20.png"/>
</fig>
<p>When the wavefront reaches the vertical wall on the right side, the water will run up and overturn. The process is shown in <xref ref-type="fig" rid="fig-20">Fig. 20</xref> with selected profiles, which are compared with the experimental data from Hu et al. [<xref ref-type="bibr" rid="ref-45">45</xref>]. The wavefront reaches the right wall and run-up along the wall (<xref ref-type="fig" rid="fig-20">Fig. 20c</xref>). Then the water hits the roof with a jet formed (<xref ref-type="fig" rid="fig-20">Fig. 20d</xref>). Finally, the water overturns to the bottom of the tank, with some bubbles exist in the bulk (<xref ref-type="fig" rid="fig-20">Fig. 20e</xref>). It is observed that the present results agree well with the experimental data from Hu et al. [<xref ref-type="bibr" rid="ref-45">45</xref>].</p>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusions</title>
<p>A numerical model for simulating two-phase flow is developed with AMR. An explicit projection method is used to decouple the velocity and pressure. The free surface is captured with the VOF method combined with PLIC. A coarse-fine interface treatment method is developed to preserve the flux conservation at the interfaces. The adaptive grid is managed with the open-source PARAMESH library.</p>
<p>Several benchmark cases are considered to validate the model. The VOF method is validated with the shear flow test. The accuracy of the model is validated with a linear sloshing problem, for which analytic solutions can be derived. The model is demonstrated to have 2nd-order accuracy in space. The efficiency of AMR is demonstrated with a nonlinear sloshing problem.</p>
<p>The ability of the model to simulate more complex problems is demonstrated with two selected cases including solitary wave breaking and dam break. Good agreements are obtained between the current numerical results and experimental or numerical results from other sources. It is demonstrated that the model is able to simulate interface problems with wave breaking.</p>
</sec>
</body>
<back>
<ack>
<p>The authors are grateful for the important and valuable comments of anonymous reviewers.</p>
</ack>
<fn-group>
<fn fn-type="other">
<p><bold>Funding Statement:</bold> This work was financially supported by the National Natural Science Foundation of China (Nos. 51779049, 51879058, 52071098, 51979053).</p>
</fn>
<fn fn-type="conflict">
<p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</fn>
</fn-group>


<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>1.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Berger</surname>, <given-names>M. J.</given-names></string-name>, <string-name><surname>Oliger</surname>, <given-names>J.</given-names></string-name></person-group> (<year>1984</year>). <article-title>Adaptive mesh refinement for hyperbolic partial differential equations</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>53</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>484</fpage>&#x2013;<lpage>512</lpage>. DOI <pub-id pub-id-type="doi">10.1016/0021-9991(84)90073-1</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>2.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Popinet</surname>, <given-names>S.</given-names></string-name></person-group> (<year>2003</year>). <article-title>Gerris: A tree-based adaptive solver for the incompressible Euler equations in complex geometries</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>190</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>572</fpage>&#x2013;<lpage>600</lpage>. DOI <pub-id pub-id-type="doi">10.1016/S0021-9991(03)00298-5</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>3.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Liu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Hu</surname>, <given-names>C.</given-names></string-name></person-group> (<year>2017</year>). <article-title>An immersed boundary solver for inviscid compressible flows</article-title>. <source>International Journal for Numerical Methods in Fluids</source><italic>,</italic> <volume>85</volume><italic>(</italic><issue>11</issue><italic>),</italic> <fpage>619</fpage>&#x2013;<lpage>640</lpage>. DOI <pub-id pub-id-type="doi">10.1002/fld.4399</pub-id>.</mixed-citation></ref>
<ref id="ref-4"><label>4.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Vanella</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Rabenold</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Balaras</surname>, <given-names>E.</given-names></string-name></person-group> (<year>2010</year>). <article-title>A direct-forcing embedded-boundary method with adaptive mesh refinement for fluid-structure interaction problems</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>229</volume><italic>(</italic><issue>18</issue><italic>),</italic> <fpage>6427</fpage>&#x2013;<lpage>6449</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.jcp.2010.05.003</pub-id>.</mixed-citation></ref>
<ref id="ref-5"><label>5.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Liu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Hu</surname>, <given-names>C.</given-names></string-name></person-group> (<year>2018</year>). <article-title>An adaptive multi-moment FVM approach for incompressible flows</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>359</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>239</fpage>&#x2013;<lpage>262</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.jcp.2018.01.006</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>6.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Roma</surname>, <given-names>A. M.</given-names></string-name>, <string-name><surname>Peskin</surname>, <given-names>C. S.</given-names></string-name>, <string-name><surname>Berger</surname>, <given-names>M. J.</given-names></string-name></person-group> (<year>1999</year>). <article-title>An adaptive version of the immersed boundary method</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>153</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>509</fpage>&#x2013;<lpage>534</lpage>. DOI <pub-id pub-id-type="doi">10.1006/jcph.1999.6293</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>7.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Griffith</surname>, <given-names>B. E.</given-names></string-name>, <string-name><surname>Hornung</surname>, <given-names>R. D.</given-names></string-name>, <string-name><surname>McQueen</surname>, <given-names>D. M.</given-names></string-name>, <string-name><surname>Peskin</surname>, <given-names>C. S.</given-names></string-name></person-group> (<year>2007</year>). <article-title>An adaptive, formally second order accurate version of the immersed boundary method</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>223</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>10</fpage>&#x2013;<lpage>49</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.jcp.2006.08.019</pub-id>.</mixed-citation></ref>
<ref id="ref-8"><label>8.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Popinet</surname>, <given-names>S.</given-names></string-name></person-group> (<year>2009</year>). <article-title>An accurate adaptive solver for surface-tension-driven interfacial flows</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>228</volume><italic>(</italic><issue>16</issue><italic>),</italic> <fpage>5838</fpage>&#x2013;<lpage>5866</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.jcp.2009.04.042</pub-id>.</mixed-citation></ref>
<ref id="ref-9"><label>9.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zuzio</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Estivalezes</surname>, <given-names>J. L.</given-names></string-name></person-group> (<year>2011</year>). <article-title>An efficient block parallel AMR method for two phase interfacial flow simulations</article-title>. <source>Computers &#x0026; Fluids</source><italic>,</italic> <volume>44</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>339</fpage>&#x2013;<lpage>357</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.compfluid.2011.01.035</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>10.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nangia</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Griffith</surname>, <given-names>B. E.</given-names></string-name>, <string-name><surname>Patankar</surname>, <given-names>N. A.</given-names></string-name>, <string-name><surname>Bhalla</surname>, <given-names>A. P. S.</given-names></string-name></person-group> (<year>2019</year>). <article-title>A robust incompressible Navier-Stokes solver for high density ratio multiphase flows</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>390</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>548</fpage>&#x2013;<lpage>594</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.jcp.2019.03.042</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>11.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Liu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Hu</surname>, <given-names>C.</given-names></string-name></person-group> (<year>2017</year>). <article-title>Adaptive THINC-GFM for compressible multi-medium flows</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>342</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>43</fpage>&#x2013;<lpage>65</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.jcp.2017.04.032</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>12.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sussman</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Almgren</surname>, <given-names>A. S.</given-names></string-name>, <string-name><surname>Bell</surname>, <given-names>J. B.</given-names></string-name>, <string-name><surname>Colella</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Howell</surname>, <given-names>L. H.</given-names></string-name> <etal>et al.</etal></person-group> (<year>1999</year>). <article-title>An adaptive level set approach for incompressible two-phase flows</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>148</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>81</fpage>&#x2013;<lpage>124</lpage>. DOI <pub-id pub-id-type="doi">10.1006/jcph.1998.6106</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>13.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>C.</given-names></string-name></person-group> (<year>2018</year>). <article-title>Simulation of violent free surface flow by AMR method</article-title>. <source>Journal of Hydrodynamics</source><italic>,</italic> <volume>3</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>384</fpage>&#x2013;<lpage>389</lpage>. DOI <pub-id pub-id-type="doi">10.1007/s42241-018-0043-4</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>14.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Plas</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Veldman</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Seubers</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Helder</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Lam</surname>, <given-names>K.</given-names></string-name></person-group> (<year>2018</year>). <article-title>Adaptive grid refinement for two-phase offshore applications</article-title>. <conf-name>37th International Conference on Ocean, Offshore and Arctic Engineering</conf-name>. <publisher-name>American Society of Mechanical Engineers</publisher-name>, <publisher-loc>
Madrid, Spain</publisher-loc>.</mixed-citation></ref>
<ref id="ref-15"><label>15.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Duan</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Liao</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Ma</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Xia</surname>, <given-names>G.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Numerical simulation of solitary wave breaking with adaptive mesh refinement</article-title>. <conf-name>38th International Conference on Ocean, Offshore and Arctic Engineering</conf-name>. <publisher-name>American Society of Mechanical Engineers</publisher-name>, <publisher-loc>
Glasgow, Scotland</publisher-loc>.</mixed-citation></ref>
<ref id="ref-16"><label>16.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Tryggvason</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Bunner</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Esmaeeli</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Juric</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Al-Rawahi</surname>, <given-names>N.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2001</year>). <article-title>A front-tracking method for the computations of multiphase flow</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>169</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>708</fpage>&#x2013;<lpage>759</lpage>. DOI <pub-id pub-id-type="doi">10.1006/jcph.2001.6726</pub-id>.</mixed-citation></ref>
<ref id="ref-17"><label>17.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Osher</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Fedkiw</surname>, <given-names>R. P.</given-names></string-name></person-group> (<year>2001</year>). <article-title>Level set methods: An overview and some recent results</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>169</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>463</fpage>&#x2013;<lpage>502</lpage>. DOI <pub-id pub-id-type="doi">10.1006/jcph.2000.6636</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>18.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hirt</surname>, <given-names>C. W.</given-names></string-name>, <string-name><surname>Nichols</surname>, <given-names>B. D.</given-names></string-name></person-group> (<year>1981</year>). <article-title>Volume of fluid (VOF) method for the dynamics of free boundaries</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>39</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>201</fpage>&#x2013;<lpage>225</lpage>. DOI <pub-id pub-id-type="doi">10.1016/0021-9991(81)90145-5</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>19.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Scardovelli</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Zaleski</surname>, <given-names>S.</given-names></string-name></person-group> (<year>1999</year>). <article-title>Direct numerical simulation of free-surface and interfacial flow</article-title>. <source>Annual Review of Fluid Mechanics</source><italic>,</italic> <volume>31</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>567</fpage>&#x2013;<lpage>603</lpage>. DOI <pub-id pub-id-type="doi">10.1146/annurev.fluid.31.1.567</pub-id>.</mixed-citation></ref>
<ref id="ref-20"><label>20.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Arrufat</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Crialesi-Esposito</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Fuster</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Ling</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Malan</surname>, <given-names>L.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2020</year>). <article-title>A mass-momentum consistent, volume-of-fluid method for incompressible flow on staggered grids</article-title>. <source>Computers &#x0026; Fluids</source><italic>,</italic> <volume>215</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>104785</fpage>. DOI <pub-id pub-id-type="doi">10.1016/j.compfluid.2020.104785</pub-id>.</mixed-citation></ref>
<ref id="ref-21"><label>21.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nangia</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Patankar</surname>, <given-names>N. A.</given-names></string-name>, <string-name><surname>Bhalla</surname>, <given-names>A. P. S.</given-names></string-name></person-group> (<year>2019</year>). <article-title>A DLM immersed boundary method based wave-structure interaction solver for high density ratio multiphase flows</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>398</volume><italic>(</italic><issue>17&#x2013;18</issue><italic>),</italic> <fpage>108804</fpage>. DOI <pub-id pub-id-type="doi">10.1016/j.jcp.2019.07.004</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>22.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Patel</surname>, <given-names>J. K.</given-names></string-name>, <string-name><surname>Natarajan</surname>, <given-names>G.</given-names></string-name></person-group> (<year>2017</year>). <article-title>A novel consistent and well-balanced algorithm for simulations of multiphase flows on unstructured grids</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>350</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>207</fpage>&#x2013;<lpage>236</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.jcp.2017.08.047</pub-id>.</mixed-citation></ref>
<ref id="ref-23"><label>23.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Pathak</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Raessi</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2016</year>). <article-title>A 3D, fully Eulerian, VOF-based solver to study the interaction between two fluids and moving rigid bodies using the fictitious domain method</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>311</volume><italic>(</italic><issue>17</issue><italic>),</italic> <fpage>87</fpage>&#x2013;<lpage>113</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.jcp.2016.01.025</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>24.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Pathak</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Freniere</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Raessi</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2017</year>). <article-title>Advanced computational simulations of water waves interacting with wave energy converters</article-title>. <source>European Journal of Computational Mechanics</source><italic>,</italic> <volume>26</volume><italic>(</italic><issue>1&#x2013;2</issue><italic>),</italic> <fpage>172</fpage>&#x2013;<lpage>204</lpage>. DOI <pub-id pub-id-type="doi">10.1080/17797179.2017.1306829</pub-id>.</mixed-citation></ref>
<ref id="ref-25"><label>25.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ghasemi</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Anbarsooz</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Malvandi</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Ghasemi</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Hedayati</surname>, <given-names>F.</given-names></string-name></person-group> (<year>2017</year>). <article-title>A nonlinear computational modeling of wave energy converters: A tethered point absorber and a bottom-hinged flap device</article-title>. <source>Renewable Energy</source><italic>,</italic> <volume>103</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>774</fpage>&#x2013;<lpage>785</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.renene.2016.11.011</pub-id>.</mixed-citation></ref>
<ref id="ref-26"><label>26.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Dafnakis</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Bhalla</surname>, <given-names>A. P. S.</given-names></string-name>, <string-name><surname>Sirigu</surname>, <given-names>S. A.</given-names></string-name>, <string-name><surname>Bonfanti</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Bracco</surname>, <given-names>G.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2020</year>). <article-title>Comparison of wave-structure interaction dynamics of a submerged cylindrical point absorber with three degrees of freedom using potential flow and computational fluid dynamics models</article-title>. <source>Physics of Fluids</source><italic>,</italic> <volume>32</volume><italic>(</italic><issue>9</issue><italic>),</italic> <fpage>93307</fpage>. DOI <pub-id pub-id-type="doi">10.1063/5.0022401</pub-id>.</mixed-citation></ref>
<ref id="ref-27"><label>27.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Bhalla</surname>, <given-names>A. P. S.</given-names></string-name>, <string-name><surname>Nangia</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Dafnakis</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Bracco</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Mattiazzo</surname>, <given-names>G.</given-names></string-name></person-group> (<year>2020</year>). <article-title>Simulating water-entry/exit problems using Eulerian-Lagrangian and fully-Eulerian fictitious domain methods within the open-source IBAMR library</article-title>. <source>Applied Ocean Research</source><italic>,</italic> <volume>94</volume><italic>(</italic><issue>14&#x2013;15</issue><italic>),</italic> <fpage>101932</fpage>. DOI <pub-id pub-id-type="doi">10.1016/j.apor.2019.101932</pub-id>.</mixed-citation></ref>
<ref id="ref-28"><label>28.</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Tryggvason</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Scardovelli</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Zaleski</surname>, <given-names>S.</given-names></string-name></person-group> (<year>2011</year>). <source>Direct numerical simulations of gas-liquid multiphase flows</source>. <publisher-loc>UK</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>.</mixed-citation></ref>
<ref id="ref-29"><label>29.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xiao</surname>, <given-names>F.</given-names></string-name></person-group> (<year>1999</year>). <article-title>A computational model for suspended large rigid bodies in 3D unsteady viscous flows</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>155</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>348</fpage>&#x2013;<lpage>379</lpage>. DOI <pub-id pub-id-type="doi">10.1006/jcph.1999.6340</pub-id>.</mixed-citation></ref>
<ref id="ref-30"><label>30.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Leonard</surname>, <given-names>B. P.</given-names></string-name></person-group> (<year>1979</year>). <article-title>A stable and accurate convective modelling procedure based on quadratic upstream interpolation</article-title>. <source>Computer Methods in Applied Mechanics and Engineering</source><italic>,</italic> <volume>19</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>59</fpage>&#x2013;<lpage>98</lpage>. DOI <pub-id pub-id-type="doi">10.1016/0045-7825(79)90034-3</pub-id>.</mixed-citation></ref>
<ref id="ref-31"><label>31.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Harten</surname>, <given-names>A.</given-names></string-name></person-group> (<year>1983</year>). <article-title>High-resolution schemes for hyperbolic conservation laws</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>49</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>357</fpage>&#x2013;<lpage>393</lpage>. DOI <pub-id pub-id-type="doi">10.1016/0021-9991(83)90136-5</pub-id>.</mixed-citation></ref>
<ref id="ref-32"><label>32.</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Youngs</surname>, <given-names>D. L.</given-names></string-name></person-group> (<year>1982</year>). <chapter-title>Time-dependent multi-material flow with large fluid distortion</chapter-title>. <source>Numerical methods for fluid dynamics</source>. <publisher-loc>Cambridge</publisher-loc>: <publisher-name>Academic Press</publisher-name>.</mixed-citation></ref>
<ref id="ref-33"><label>33.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gueyffier</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Nadim</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Scardovelli</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Zaleski</surname>, <given-names>S.</given-names></string-name></person-group> (<year>1999</year>). <article-title>Volume-of-fluid interface tracking with smoothed surface stress methods for three-dimensional flows</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>152</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>423</fpage>&#x2013;<lpage>456</lpage>. DOI <pub-id pub-id-type="doi">10.1006/jcph.1998.6168</pub-id>.</mixed-citation></ref>
<ref id="ref-34"><label>34.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>MacNeice</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Olson</surname>, <given-names>K. M.</given-names></string-name>, <string-name><surname>Mobarry</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>de Fainchtein</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Packer</surname>, <given-names>C.</given-names></string-name></person-group> (<year>2000</year>). <article-title>PARAMESH: A parallel adaptive mesh refinement community toolkit</article-title>. <source>Computer Physics Communications</source><italic>,</italic> <volume>126</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>330</fpage>&#x2013;<lpage>354</lpage>. DOI <pub-id pub-id-type="doi">10.1016/S0010-4655(99)00501-9</pub-id>.</mixed-citation></ref>
<ref id="ref-35"><label>35.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>T&#x00F3;th</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Roe</surname>, <given-names>P. L.</given-names></string-name></person-group> (<year>2002</year>). <article-title>Divergence-and curl-preserving prolongation and restriction formulas</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>180</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>736</fpage>&#x2013;<lpage>750</lpage>. DOI <pub-id pub-id-type="doi">10.1006/jcph.2002.7120</pub-id>.</mixed-citation></ref>
<ref id="ref-36"><label>36.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Rider</surname>, <given-names>W. J.</given-names></string-name>, <string-name><surname>Kothe</surname>, <given-names>D. B.</given-names></string-name></person-group> (<year>1998</year>). <article-title>Reconstructing volume tracking</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>141</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>112</fpage>&#x2013;<lpage>152</lpage>. DOI <pub-id pub-id-type="doi">10.1006/jcph.1998.5906</pub-id>.</mixed-citation></ref>
<ref id="ref-37"><label>37.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wu</surname>, <given-names>G. X.</given-names></string-name>, <string-name><surname>Taylor</surname>, <given-names>R. E.</given-names></string-name>, <string-name><surname>Greaves</surname>, <given-names>D. M.</given-names></string-name></person-group> (<year>2001</year>). <article-title>The effect of viscosity on the transient free-surface waves in a two-dimensional tank</article-title>. <source>Journal of Engineering Mathematics</source><italic>,</italic> <volume>40</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>77</fpage>&#x2013;<lpage>90</lpage>. DOI <pub-id pub-id-type="doi">10.1023/A:1017558826258</pub-id>.</mixed-citation></ref>
<ref id="ref-38"><label>38.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Liu</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Lin</surname>, <given-names>P.</given-names></string-name></person-group> (<year>2008</year>). <article-title>A numerical study of three-dimensional liquid sloshing in tanks</article-title>. <source>Journal of Computational Physics</source><italic>,</italic> <volume>227</volume><italic>(</italic><issue>8</issue><italic>),</italic> <fpage>3921</fpage>&#x2013;<lpage>3939</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.jcp.2007.12.006</pub-id>.</mixed-citation></ref>
<ref id="ref-39"><label>39.</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Lin</surname>, <given-names>P.</given-names></string-name></person-group> (<year>2008</year>). <source>Numerical modeling of water waves</source>. <publisher-loc>
UK</publisher-loc>: <publisher-name>Taylor &#x0026; Francis Routledge</publisher-name>.</mixed-citation></ref>
<ref id="ref-40"><label>40.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yasuda</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Mutsuda</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Mizutani</surname>, <given-names>N.</given-names></string-name></person-group> (<year>1997</year>). <article-title>Kinematics of overturning solitary waves and their relations to breaker types</article-title>. <source>Coastal Engineering</source><italic>,</italic> <volume>29</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>317</fpage>&#x2013;<lpage>346</lpage>. DOI <pub-id pub-id-type="doi">10.1016/S0378-3839(96)00032-4</pub-id>.</mixed-citation></ref>
<ref id="ref-41"><label>41.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lubin</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>St&#x00E9;phane</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Kimmoun</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Branger</surname>, <given-names>H.</given-names></string-name></person-group> (<year>2011</year>). <article-title>Numerical study of the hydrodynamics of regular waves breaking over a sloping beach</article-title>. <source>European Journal of Mechanics, B/Fluids</source><italic>,</italic> <volume>30</volume><italic>(</italic><issue>6</issue><italic>),</italic> <fpage>552</fpage>&#x2013;<lpage>564</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.euromechflu.2011.01.001</pub-id>.</mixed-citation></ref>
<ref id="ref-42"><label>42.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Perlin</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Choi</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Tian</surname>, <given-names>Z.</given-names></string-name></person-group> (<year>2013</year>). <article-title>Breaking waves in deep and intermediate waters</article-title>. <source>Annual Review of Fluid Mechanics</source><italic>,</italic> <volume>45</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>115</fpage>&#x2013;<lpage>145</lpage>. DOI <pub-id pub-id-type="doi">10.1146/annurev-fluid-011212-140721</pub-id>.</mixed-citation></ref>
<ref id="ref-43"><label>43.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Martin</surname>, <given-names>J. C.</given-names></string-name>, <string-name><surname>Moyce</surname>, <given-names>W. J.</given-names></string-name></person-group> (<year>1952</year>). <article-title>Part IV. An experimental study of the collapse of liquid columns on a rigid horizontal plane. Philosophical Transactions of the Royal Society of London</article-title>. <source>Series A, Mathematical and Physical Sciences</source><italic>,</italic> <volume>244</volume><italic>(</italic><issue>882</issue><italic>),</italic> <fpage>312</fpage>&#x2013;<lpage>324</lpage>. DOI <pub-id pub-id-type="doi">10.1098/rsta.1952.0006</pub-id>.</mixed-citation></ref>
<ref id="ref-44"><label>44.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Kashiwagi</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2004</year>). <article-title>A CIP-based method for numerical simulations of violent free-surface flows</article-title>. <source>Journal of Marine Science and Technology</source><italic>,</italic> <volume>9</volume><italic>(</italic><issue>4</issue><italic>),</italic> <fpage>143</fpage>&#x2013;<lpage>157</lpage>. DOI <pub-id pub-id-type="doi">10.1007/s00773-004-0180-z</pub-id>.</mixed-citation></ref>
<ref id="ref-45"><label>45.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Sueyoshi</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2010</year>). <article-title>Numerical simulation and experiment on dam break problem</article-title>. <source>Journal of Marine Science and Application</source><italic>,</italic> <volume>9</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>109</fpage>&#x2013;<lpage>114</lpage>. DOI <pub-id pub-id-type="doi">10.1007/s11804-010-9075-z</pub-id>.</mixed-citation></ref>
<ref id="ref-46"><label>46.</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Ubbink</surname>, <given-names>O.</given-names></string-name></person-group> (<year>1997</year>). <source>Numerical prediction of two fluid systems with sharp interfaces (Ph.D. Thesis)</source>. <publisher-name>University of London, UK</publisher-name>.</mixed-citation></ref>
</ref-list>
</back>
</article>
