<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Mech. Eng</journal-id>
<journal-title>Frontiers in Mechanical Engineering</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Mech. Eng</abbrev-journal-title>
<issn pub-type="epub">2297-3079</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">903492</article-id>
<article-id pub-id-type="doi">10.3389/fmech.2022.903492</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Mechanical Engineering</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A face-based immersed boundary method for compressible flows using a uniform interpolation stencil</article-title>
<alt-title alt-title-type="left-running-head">Kasturi Rangan and Ghosh</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fmech.2022.903492">10.3389/fmech.2022.903492</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Kasturi Rangan</surname>
<given-names>M. L. N. V.</given-names>
</name>
<uri xlink:href="https://loop.frontiersin.org/people/1747766/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Ghosh</surname>
<given-names>Santanu</given-names>
</name>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1576477/overview"/>
</contrib>
</contrib-group>
<aff>
<institution>Department of Aerospace Engineering</institution>, <institution>Indian Institute of Technology</institution>, <addr-line>Madras</addr-line>, <country>India</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1400208/overview">Ming-Jyh Chern</ext-link>, National Taiwan University of Science and Technology, Taiwan</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1433923/overview">Nima Vaziri</ext-link>, Islamic Azad University of Karaj, Iran</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1434029/overview">Syed Ahmad Raza</ext-link>, NED University of Engineering and Technology, Pakistan</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Santanu Ghosh, <email>sghosh1@iitm.ac.in</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Fluid Mechanics, a section of the journal Frontiers in Mechanical Engineering</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>20</day>
<month>10</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>8</volume>
<elocation-id>903492</elocation-id>
<history>
<date date-type="received">
<day>24</day>
<month>03</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>08</day>
<month>09</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2022 Kasturi Rangan and Ghosh.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Kasturi Rangan and Ghosh</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>In this study, an immersed boundary method developed for compressible viscous flows (<xref ref-type="bibr" rid="B33">Ramakrishnan, R., Girdhar, A., &#x26; Ghosh, S. (2016). Immersed Boundary Methods for Compressible Laminar Flows</xref>) is modified to improve their stability and robustness. The embedded object is represented as a set of line segments in two dimensions with their outward unit normal vectors specified. A forcing method that leverages the finite volume approach is used, wherein the solution at the cell interfaces that lie near the boundaries of the embedded solid is reconstructed to implicitly satisfy boundary conditions at the immersed surface. The proposed immersed boundary method is validated for transonic inviscid flow past a bump in a channel, supersonic flow past a circular cylinder, transonic viscous flow past a NACA0012 airfoil, and supersonic viscous flow past a circular cylinder. The results are compared with simulations from the literature using contours of flow properties, surface pressure, or Mach number plots and show good agreement.</p>
</abstract>
<kwd-group>
<kwd>immersed boundary method</kwd>
<kwd>face-based forcing</kwd>
<kwd>Cartesian grids</kwd>
<kwd>sharp interface method</kwd>
<kwd>compressible flows</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Immersed boundary methods (IBMs) are a class of computational schemes that employ (generally) Cartesian grids, with the embedded surface past the flow which is to be determined rendered using a separate meshed or mesh-less entity, for instance, as a cloud of points (<xref ref-type="bibr" rid="B7">Choi et al., 2007)</xref>. Immersed boundary methods gained importance because of their ability to handle complex geometries and moving body problems with relative ease compared to grid conforming methods. This method was initially proposed by <xref ref-type="bibr" rid="B29">Peskin (1972)</xref>, <xref ref-type="bibr" rid="B30">Peskin (1977)</xref>, and <xref ref-type="bibr" rid="B28">Peskin and McQueen (1989)</xref> and was used to simulate the flow past heart valves. Peskin&#x2019;s idea was to incorporate the <italic>effect</italic> of the body, which was treated as massless and elastic, onto the nearby fluid cells by using a problem-specific compactly supported forcing function. However, the effect of such a forcing, referred to as continuous forcing, is that the boundary appears to be smeared. Although the idea proposed by <xref ref-type="bibr" rid="B29">Peskin (1972)</xref> was designed for flexible immersed boundaries, the same approach has been used by <xref ref-type="bibr" rid="B18">Goldstein et al. (1993)</xref>, by using feedback forcing, to implement the desired boundary conditions for <italic>almost</italic> rigid boundaries. Another method was proposed by <xref ref-type="bibr" rid="B27">Mohd-Yusof (1997)</xref> wherein the forcing term is determined by the difference between the interpolated velocity at the boundary point and the desired boundary velocity. <xref ref-type="bibr" rid="B12">Fadlun et al. (2000)</xref> extended the same to solve unsteady three-dimensional incompressible flows. The method proposed by <xref ref-type="bibr" rid="B27">Mohd-Yusof (1997)</xref> and extended by <xref ref-type="bibr" rid="B12">Fadlun et al. (2000)</xref> is commonly known as the direct forcing method (one of the sharp interface methods), in which the boundary condition is enforced directly through the reconstruction of the velocity and pressure field in the fluid cells near the immersed boundary without explicit evaluation of a forcing term. Various other immersed boundary formulations have been devised subsequently using the direct forcing approach (<xref ref-type="bibr" rid="B21">Kim et al., 2001</xref>; <xref ref-type="bibr" rid="B43">Uhlmann, 2005)</xref>. The ghost-cell-based immersed boundary (GCIB) method (<xref ref-type="bibr" rid="B42">Tseng and Ferziger, 2003</xref>; <xref ref-type="bibr" rid="B14">Gao et al., 2007</xref>; <xref ref-type="bibr" rid="B26">Mittal et al., 2008</xref>; <xref ref-type="bibr" rid="B2">Berthelsen and Faltinsen, 2008</xref>; <xref ref-type="bibr" rid="B6">Chi et al., 2017</xref>) is one of the direct forcing approaches wherein one or multiple layers of the interior cell(s) near the IB surface are reconstructed to enforce specific boundary conditions. In contrast to the other direct forcing methods, as mentioned earlier, no forcing function is used. In the recent past, a sharp interface method using a finite volume approach and the constrained moving least-squares method (CMLS) for interpolating the boundary values was proposed by <xref ref-type="bibr" rid="B32">Qu et al. (2018)</xref>. Along similar lines, a ghost-point immersed boundary method for a compressible fluid flow regime, using high-order summation-by-parts (SBP) difference operators was proposed by <xref ref-type="bibr" rid="B11">Ehsan Khalili et al. (2018)</xref> in which bi-linear interpolation was used. A level set approach was used by <xref ref-type="bibr" rid="B6">Chi et al. (2017)</xref> to determine the image point of the ghost cells further away from the surface to attain a higher order of accuracy through extrapolation/interpolation. In this ghost-cell-based approach, emphasis was made on the sensitivity of the location of the image point on the solution.</p>
<p>Extensive work has been carried out in the incompressible flow regime using immersed boundary methods. However, the development of sharp interface immersed boundary methods for compressible flows was relatively less in the early years of development in this field, as discussed by <xref ref-type="bibr" rid="B16">Ghosh and Anand Bharadwaj (2020)</xref>, with the earliest method proposed by <xref ref-type="bibr" rid="B8">De Palma et al. (2006)</xref>. In this work, an all-speed formulation was presented using the direct forcing approach proposed by <xref ref-type="bibr" rid="B12">Fadlun et al. (2000)</xref>. Subsequently, <xref ref-type="bibr" rid="B15">Ghias et al. (2007)</xref> developed a ghost-cell IBM for subsonic compressible flows, which could be used for both Cartesian and general curvilinear meshes. In the same year, <xref ref-type="bibr" rid="B9">de Tullio et al. (2007)</xref> presented a Cartesian grid-based IB for compressible turbulent flows in which they used a local grid refinement (LGR) strategy. <xref ref-type="bibr" rid="B10">Edwards et al. (2010)</xref> extended the IB method by <xref ref-type="bibr" rid="B7">Choi et al. (2007)</xref> to compressible flows on generalized 3D curvilinear grids. In order to improve mass conservation, the authors also integrated continuity equations to solve for density in the immediate neighborhood of the surface, while the other variables were reconstructed (forcing) by interpolation. More recently, <xref ref-type="bibr" rid="B3">Brehm et al. (2015)</xref> presented a second-order accurate IBM suitable for compressible viscous flows with improved stability on Cartesian grids. The method improves the stability by investigating the finite difference coefficients involved in the solution reconstruction at the irregular fluid nodes in the immediate (external) neighborhood of the IB.</p>
<p>Although boundary conditions are implicitly satisfied in immersed boundary methods either by direct reconstruction of the solution in the neighborhood of the immersed boundary (<xref ref-type="bibr" rid="B12">Fadlun et al., 2000)</xref> or the more indirect method of momentum forcing (<xref ref-type="bibr" rid="B27">Mohd-Yusof, 1997)</xref>, the lack of mass conservation is an issue that affects all approaches (<xref ref-type="bibr" rid="B21">Kim et al., 2001)</xref>. Attempts in the literature to fix this have included the addition of mass source/sink terms (<xref ref-type="bibr" rid="B21">Kim et al., 2001)</xref>, using a cut cell approach for improving geometric conservation (<xref ref-type="bibr" rid="B37">Seo and Mittal, 2011)</xref> or solving the discretized continuity equation to obtain the density in the cells neighboring the immersed boundary (where the velocity is reconstructed) (<xref ref-type="bibr" rid="B17">Ghosh et al., 2010)</xref>. Another interesting approach by <xref ref-type="bibr" rid="B4">Capizzano (2007)</xref> first proposed the use of a solution forcing at the cell face shared by a <italic>fluid IB</italic> cell and a <italic>solid IB</italic> cell, termed the IB face, that makes use of the finite volume framework and solves the Euler equations to evolve the solution in the fluid IB cells. This allows the integration of the discretized equations in all the fluid cells, thus allowing better adherence to the conservation of mass, momentum, and energy. The solution is reconstructed at the <italic>face center</italic> of the IB face by linearly interpolating the nearby fluid cell data and satisfying the boundary condition at the IB. The direction of interpolation is along the line joining the face center to the fluid cell center perpendicular to the interface. The same methodology of face-based reconstruction was extended to viscous flows in <xref ref-type="bibr" rid="B5">Capizzano (2011)</xref>; the difference is that the direction of interpolation is along the wall normal of the IB surface. Subsequent use of solution forcing at the cell face has been adopted by <xref ref-type="bibr" rid="B40">Takahashi et al. (2014)</xref> and <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016)</xref> among others.</p>
<p>The present work builds on a finite volume-based immersed boundary method by <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016)</xref> that uses face-based forcing in the neighborhood of the immersed surface. The immersed boundary is rendered as a set of line segments. The basic idea presented by <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016)</xref> was to reconstruct the data at the face center shared by an interior cell and fluid cell using the immediate fluid cell data (<xref ref-type="bibr" rid="B33">Ramakrishnan et al., 2016)</xref>. However, this resulted in a situation wherein the solution stability was sensitive to the relative location of the cell face (where solution forcing is performed) to the immersed boundary. To overcome this deficiency, the reconstruction methodology proposed in <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016)</xref> is reworked to attain robust and locally second-order accurate velocity forcing for the immersed boundary method. The modified and relatively robust algorithm for face reconstruction is explained in the following sections.</p>
<p>The proposed IB method is integrated into an in-house finite volume solver named Finite-Volume Explicit STructured 3-Dimensional (FEST-3D) (<xref ref-type="bibr" rid="B36">Sandhu et al., 2020)</xref>. This solver discretizes the variable density, 3D Navier&#x2013;Stokes equations to simulate compressible laminar flows, and Favre-averaged Navier&#x2013;Stokes equations for compressible turbulent flow. The IB method being proposed has been formulated for 2D compressible laminar flows. At present, the IBM will be used for flow control studies at low Re and compressible Mach numbers. Further extension(s) will be focused on improving the geometric conservation of the method, modifying solution forcing for application to moving boundary simulations and turbulent flows.</p>
<p>The rest of the study is structured as follows: governing equations and an overview of the flow solver used are discussed in <xref ref-type="sec" rid="s2">Section 2</xref>; details of the proposed immersed boundary method are discussed in <xref ref-type="sec" rid="s3">Section 3</xref>, and the results of the test cases are presented in <xref ref-type="sec" rid="s4">Section 4</xref>; finally, conclusions are presented in <xref ref-type="sec" rid="s5">Section 5</xref>.</p>
</sec>
<sec id="s2">
<title>2 Computational framework</title>
<p>In this work, the Navier&#x2013;Stokes equations are discretized using a finite volume method and solved on structured grids. The governing equations and an overview of the solver are briefly discussed in this section.</p>
<sec id="s2-1">
<title>2.1 Governing equations</title>
<p>The governing equations used in the finite volume solver for laminar flows on structured grids are presented here. The mass, momentum, and energy conservation laws for the compressible fluid flow in conservative differential form are<disp-formula id="e1">
<mml:math id="m1">
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo>
</mml:math>
<label>(1)</label>
</disp-formula>In the aforementioned equation, <inline-formula id="inf1">
<mml:math id="m2">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> constitutes the inviscid fluxes, and <inline-formula id="inf2">
<mml:math id="m3">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> constitutes viscous fluxes. The vector <inline-formula id="inf3">
<mml:math id="m4">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> consists of the conservative variables which includes mass, momentum, and energy per unit volume.<disp-formula id="e2">
<mml:math id="m5">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>u</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>v</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>w</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m6">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>u</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>p</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>v</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>w</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>u</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>v</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>v</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>p</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>w</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>v</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>w</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>w</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>w</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>p</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>w</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(3)</label>
</disp-formula>
<disp-formula id="e4">
<mml:math id="m7">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>u</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>v</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>w</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>u</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>v</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>w</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>u</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>v</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>w</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(4)</label>
</disp-formula>In the aforementioned equations, <italic>u</italic>, <italic>v</italic>, and <italic>w</italic> are the Cartesian components of velocity along the <italic>X</italic>, <italic>Y,</italic> and <italic>Z</italic> directions, respectively, <italic>&#x3c1;</italic> is the fluid density, <italic>p</italic> is the fluid pressure, and <italic>H</italic>
<sub>
<italic>t</italic>
</sub> is the total specific enthalpy. Also, <inline-formula id="inf4">
<mml:math id="m8">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the laminar stress tensor, and <inline-formula id="inf5">
<mml:math id="m9">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the laminar heat flux. The quantities <italic>n</italic>
<sub>
<italic>x</italic>
</sub>, <italic>n</italic>
<sub>
<italic>y</italic>
</sub>, and <italic>n</italic>
<sub>
<italic>z</italic>
</sub> are the projections of the cell face area (vector) along the <italic>X</italic>, <italic>Y,</italic> and <italic>Z</italic> axes, respectively. In order to close the equations, the equation of state for an ideal gas is used as follows:<disp-formula id="e5">
<mml:math id="m10">
<mml:mi>P</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>R</mml:mi>
<mml:mi>T</mml:mi>
<mml:mo>,</mml:mo>
</mml:math>
<label>(5)</label>
</disp-formula>where <italic>R</italic> is the specific gas constant for air.</p>
</sec>
<sec id="s2-2">
<title>2.2 Flow solver</title>
<p>FEST-3D (<xref ref-type="bibr" rid="B36">Sandhu et al., 2020</xref>), an in-house developed parallel code for structured grids based on a finite volume framework, is used. The capabilities of this solver range from laminar to turbulent regimes comprising various spatial and time-discretization schemes. In the present work, the solver is run with the advection upstream splitting method (AUSM) (<xref ref-type="bibr" rid="B24">Liou and Steffen, 1993)</xref>, which is an upwind scheme, for inviscid flux calculation, MUSCL for second-order reconstruction (spatial) as presented in <xref ref-type="bibr" rid="B20">Hirsch (2007)</xref>, and preconditioned LUSGS (<xref ref-type="bibr" rid="B22">Kitamura et al., 2011</xref>)/RK4 for time integration. The use of upwind schemes for inviscid flux formulation with MUSCL reconstruction can be seen in the works of <xref ref-type="bibr" rid="B19">Hartmann et al. (2009)</xref>, <xref ref-type="bibr" rid="B41">Tamaki and Imamura (2018)</xref>, <xref ref-type="bibr" rid="B32">Qu et al. (2018)</xref>, <xref ref-type="bibr" rid="B1">Anand Bharadwaj and Ghosh (2020)</xref>, and <xref ref-type="bibr" rid="B25">Luo et al. (2006)</xref>. All the simulations presented in this work are 2D computations. Molecular viscosity is modeled with Sutherland&#x2019;s law, and a laminar Prandtl number of 0.72 is used for air. The scope of the work presented in this study is specific to laminar and two-dimensional flows.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Immersed boundary method</title>
<p>The IBM presented in this work uses face-based solution forcing as first proposed by <xref ref-type="bibr" rid="B4">Capizzano (2007</xref>) for inviscid flows and later extended to viscous flows (<xref ref-type="bibr" rid="B5">Capizzano, 2011</xref>) in the compressible regime. This idea of face-based reconstruction allows developing the flow solution through the solution of the discretized Navier&#x2013;Stokes equations for all the fluid cells. Details of the method are discussed in the following subsections.</p>
<sec id="s3-1">
<title>3.1 Cell classification</title>
<p>As mentioned in <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016)</xref>, the immersed boundary is represented by a set of line segments, wherein an outward normal is also specified along with the coordinates of its endpoints. The cells in the entire domain are classified as field cells (white), band cells (blue), and interior cells (red) based on the distance of their centers with respect to the immersed surface determined using a signed distance approach, as shown for a NACA0012 airfoil in <xref ref-type="fig" rid="F1">Figure 1</xref>. In addition, the cell faces shared by a band and field cell are designated as <italic>band faces</italic>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Cell classification.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g001.tif"/>
</fig>
<p>The solution at the band faces is then reconstructed (solution forcing) to implicitly obey the desired boundary conditions at the immersed surface. Specifically, the boundary conditions considered for velocity forcing are no-slip and no-penetration conditions for viscous flows and only no-penetration conditions for inviscid flows. The variable reconstruction at the band face center is performed by first constructing an interpolation point normal to the immersed surface, as discussed as follows. This is different from the approach adopted in the work of <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016)</xref>, wherein only the solution at the nearest field cell to the band face was used for the solution reconstruction at the band face. The modification in the solution forcing approach was carried out to avoid the dependence of the forcing method on the relative location of the band face center with respect to the immersed surface, as required in the previous method. The velocity reconstruction strategy adopted in <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016)</xref> is described as follows for the benefit of the reader.</p>
</sec>
<sec id="s3-2">
<title>3.2 Velocity reconstruction: Early effort</title>
<p>This section describes the velocity reconstruction methodology proposed by <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016)</xref>, which is henceforward referred to as IBM(A). This velocity forcing at the band face is loosely based on the boundary conditions applied at ghost cells adjacent to walls in finite volume solvers on body-fitted grids. The reconstruction for the slip- and no-slip wall is outlined as follows.</p>
<sec id="s3-2-1">
<title>3.2.1 Slip wall</title>
<p>The velocity reconstruction for the slip-wall case is as follows:<disp-formula id="e6">
<mml:math id="m11">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m12">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="italic">min</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(7)</label>
</disp-formula>Here, <inline-formula id="inf6">
<mml:math id="m13">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> refers to the velocity at a band-face center, <inline-formula id="inf7">
<mml:math id="m14">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is the velocity at the field cell center adjacent to the band face, and <inline-formula id="inf8">
<mml:math id="m15">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is the outward normal vector to the IB line segment closest to the band face. Also, <italic>d</italic>
<sub>
<italic>face</italic>
</sub> and <italic>d</italic>
<sub>
<italic>F</italic>
</sub> are the minimum distances from a band face center and its adjacent field cell center, respectively, to the IB line segment nearest to the band face, as shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. As mentioned in the work by <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016)</xref>, when the band face center lies within the immersed boundary as shown in (<xref ref-type="fig" rid="F3">Figure 3</xref>), this formulation tends to become unstable, and hence, a limiter was used (<xref ref-type="disp-formula" rid="e7">Eq. 7</xref>). However, as shown subsequently in this work, the method with the limiter still shows grid sensitivity, which is undesirable.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Distance nomenclature for the slip wall case.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g002.tif"/>
</fig>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Distance nomenclature for the no-slip wall case.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g003.tif"/>
</fig>
</sec>
<sec id="s3-2-2">
<title>3.2.2 No-slip wall</title>
<p>The velocity reconstruction for the no-slip wall case (<xref ref-type="bibr" rid="B33">Ramakrishnan et al., 2016)</xref> is as follows:<disp-formula id="e8">
<mml:math id="m16">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:math>
<label>(8)</label>
</disp-formula>where<disp-formula id="e9">
<mml:math id="m17">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(9)</label>
</disp-formula>and<disp-formula id="e10">
<mml:math id="m18">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(10)</label>
</disp-formula>An inverse distance-based approach is used for the parallel component of velocity, whereas the perpendicular component of the velocity was considered zero (<xref ref-type="bibr" rid="B33">Ramakrishnan et al., 2016)</xref>. The parallel and perpendicular directions considered are with respect to the nearest IB line to the band face. Here, <inline-formula id="inf9">
<mml:math id="m19">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <inline-formula id="inf18">
<mml:math id="m49">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> are as defined in the previous section, and <inline-formula id="inf10">
<mml:math id="m20">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> refers to the velocity of the IB, which is zero for stationary boundaries.</p>
<p>The present work aims to avoid the use of any <italic>ad hoc</italic> limiting used in the aforementioned formulation (<xref ref-type="disp-formula" rid="e7">Eq. 7</xref>) for slip-wall cases and also presents a no-slip wall formulation that accounts for the perpendicular component of the velocity. A fix provided in the work by <xref ref-type="bibr" rid="B34">Rangan and Ghosh (2021)</xref> that avoids the use of the limiter led to the use of non-local forcing for some &#x201c;band&#x201d; faces and associated complexities with different treatments of band faces based on their relative location to the immersed boundary. In addition, the present formulation is devised such that the interpolation stencil used includes more number of cells than that used by <xref ref-type="bibr" rid="B34">Rangan and Ghosh (2021)</xref>. The proposed formulation is explained in the following section(s).</p>
</sec>
</sec>
<sec id="s3-3">
<title>3.3 Determination of the interpolation point</title>
<p>In this work, we construct an interpolation point on the line passing through the band-face center and normal to the nearest immersed surface (line segment). The distance of the interpolation point from the solution forcing point (which can be a face center or cell center) is often fixed for the entire domain as a function of local grid spacing(s) (<xref ref-type="bibr" rid="B6">Chi et al., 2017</xref>) or a fixed value as in the study by <xref ref-type="bibr" rid="B5">Capizzano (2011</xref>). In this work, however, to determine the position of the interpolation point, an interpolation stencil of nine&#xa0;cells is constructed, which consists of the field cell that has the band face and its eight neighbors. This ensures that more number of field cells are used in interpolating the primitive variables at the interpolation point. An inverse distance approach proposed by <xref ref-type="bibr" rid="B17">Ghosh et al. (2010)</xref> is then used to first determine the location of the interpolation point.</p>
<p>To do this, the perpendicular distances of the field cell centers from the line passing through the band face center and normal to the nearest IB line segment (for instance, <inline-formula id="inf11">
<mml:math id="m21">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>), as shown in <xref ref-type="fig" rid="F4">Figure 4</xref>, are determined. Using the inverse of these distances as weights and the distance along the line (for instance, <inline-formula id="inf12">
<mml:math id="m22">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>) as the variable, the distance of the interpolation point from the band face center along the line is determined. Finally, the primitive variables are also interpolated at the interpolation point based on the same algorithm by using the nearby fluid cell data.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Stencil for the determination of the interpolation point.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g004.tif"/>
</fig>
<p>The formulation is as shown as follows, wherein <italic>k</italic> is the total number of field cells in the 3 &#xd7; 3 stencil considered. Here, <italic>d</italic>
<sub>
<italic>n</italic>,<italic>IP</italic>
</sub> is the distance of the interpolation point from the band face center along the normal line; <italic>&#x3d5;</italic>
<sub>
<italic>IP</italic>
</sub> and <italic>&#x3d5;</italic>
<sub>
<italic>i</italic>
</sub> are scalars (velocity components, pressure, and density) at the interpolation point and the field cell centers in the stencil, respectively.<disp-formula id="e11">
<mml:math id="m23">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:math>
<label>(11)</label>
</disp-formula>
<disp-formula id="e12">
<mml:math id="m24">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:math>
<label>(12)</label>
</disp-formula>
<disp-formula id="equ1">
<mml:math id="m25">
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
</sec>
<sec id="s3-4">
<title>3.4 Solution reconstruction at the band face center</title>
<p>The basic idea here is to reconstruct the state at the band face such that the presence of the immersed boundary is &#x201c;felt&#x201d; by the rest of the flow. This is carried out by using the state (or some gradient information) of the flow variable at the immersed boundary and the data reconstructed at the interpolation point.</p>
<sec id="s3-4-1">
<title>3.4.1 Velocity reconstruction&#x2013;slip wall</title>
<p>For the reconstruction of the velocity at any band face, the velocity vector is split into components parallel and perpendicular to the nearest immersed surface. The velocity vector at some arbitrary point (<italic>&#x3be;</italic>) in the neighborhood of the immersed surface is split into components shown as follows.<disp-formula id="equ2">
<mml:math id="m26">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x22a5;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where<disp-formula id="equ3">
<mml:math id="m27">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x22a5;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</disp-formula>and<disp-formula id="equ4">
<mml:math id="m28">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x22a5;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>Here, <inline-formula id="inf13">
<mml:math id="m29">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is the unit vector drawn at a band face center along the line normal to the nearest immersed surface.</p>
<p>For the slip wall, the parallel component of the velocity at the band face is kept the same as the parallel component at the interpolation point, and the perpendicular component of the velocity is linearly interpolated to satisfy no penetration boundary condition on the IB surface. Thus,<disp-formula id="e13">
<mml:math id="m30">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(13)</label>
</disp-formula>
<disp-formula id="e14">
<mml:math id="m31">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x22a5;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x22a5;</mml:mo>
<mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(14)</label>
</disp-formula>This leads to the following equation for the velocity vector at the band face for the slip-wall case:<disp-formula id="e15">
<mml:math id="m32">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(15)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-4-2">
<title>3.4.2 Velocity reconstruction&#x2013;no-slip wall</title>
<p>In the case of the no-slip wall, both the parallel and perpendicular components of the velocity on the IB surface should be zero. To achieve the same, a linear interpolation of the velocity components along the normal line is considered in this case to determine the solution forcing at the band face shown as follows.<disp-formula id="e16">
<mml:math id="m33">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(16)</label>
</disp-formula>A point to note is that the distances considered for the velocity reconstruction, in <xref ref-type="disp-formula" rid="e15">Eqs. 15</xref>, <xref ref-type="disp-formula" rid="e16">16</xref>, are signed distances. The same is shown in <xref ref-type="fig" rid="F5">Figure 5</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Schematic representation showing the distances used in face reconstruction.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g005.tif"/>
</fig>
</sec>
<sec id="s3-4-3">
<title>3.4.3 Pressure and density reconstruction</title>
<p>Both the pressure and density at the face are set equal to the values at the fluid cell that shares the band face. This enforces the adiabatic wall boundary condition at the immersed surface.<disp-formula id="equ5">
<mml:math id="m34">
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>
<disp-formula id="equ6">
<mml:math id="m35">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
</sec>
<sec id="s3-4-4">
<title>3.4.4 Gradient at band faces</title>
<p>Since the primitive variables are reconstructed at the band face center, gradients are to be updated accordingly using the reconstructed band-face data. For viscous flows, the gradients at band faces are recomputed for the velocity components and temperature. The gradient is constructed as<disp-formula id="e17">
<mml:math id="m36">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
<mml:mo>&#x20d7;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">face</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(17)</label>
</disp-formula>
<disp-formula id="equ7">
<mml:math id="m37">
<mml:mi>&#x3d5;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
<list list-type="simple">
<list-item>
<p>
<italic>V</italic>
<sub>
<italic>F</italic>
</sub> &#x3d; Volume of the field cell</p>
</list-item>
<list-item>
<p>
<italic>V</italic>
<sub>
<italic>B</italic>
</sub> &#x3d; Volume of the band cell</p>
</list-item>
</list>Here, the direction of the normal vector <inline-formula id="inf14">
<mml:math id="m38">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mtext>face</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is from the band-face center to the field cell center.</p>
</sec>
<sec id="s3-4-5">
<title>3.4.5 Higher-order spatial reconstruction</title>
<p>Implementation of higher-order data reconstruction at the cell faces near the immersed boundary needs some attention. This is so, as reconstruction at the faces using a second- or higher-order method uses at least the two adjacent cell data for any interface. This can pose a problem in IB methods since not all the cells contain physically correct data. In the present method, higher-order reconstruction at a cell face opposite to a band face requires the use of interior cell data, which needs to be addressed. In this work, we revert to first-order data reconstruction at such cell faces. To illustrate the same, the schematics shown in <xref ref-type="fig" rid="F6">Figure 6</xref> are considered. To reconstruct the data at face <inline-formula id="inf15">
<mml:math id="m39">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, the solution at the cells on either sides of the face is considered in general. However, for the present IB method, as shown in <xref ref-type="fig" rid="F6">Figure 6</xref>, reconstructing the data at <inline-formula id="inf16">
<mml:math id="m40">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>L</italic> would require at least the adjacent band cell (<italic>i</italic> &#x2212; 1) and possibly also the interior cell (<italic>i</italic> &#x2212; 2) data, which is not appropriate. Hence, first-order reconstruction is adopted in this case.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Standard stencil used for MUSCL <bold>(A)</bold> and MUSCL with the IBM <bold>(B)</bold>.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g006.tif"/>
</fig>
<p>Standard MUSCL reconstruction (<xref ref-type="bibr" rid="B20">Hirsch, 2007)</xref> is mentioned in <xref ref-type="disp-formula" rid="e18">Eqs 18</xref> and <xref ref-type="disp-formula" rid="e19">19</xref>, wherein the left and right states of a face are reconstructed using three adjacent cells. Here, <italic>&#x3d5;</italic> is a higher-order switch, <italic>&#x3ba;</italic> is a parameter that determines the order of the accuracy of the reconstruction, and <italic>&#x3c8;</italic> is the limiter function that limits the solution gradients to prevent oscillations in the solution. However, in the present IBM, the MUSCL algorithm is implemented as per <xref ref-type="disp-formula" rid="e20">Eqs 20</xref> and <xref ref-type="disp-formula" rid="e21">21</xref> at the <italic>i</italic> &#x2b; 1/2 interface (shown in <xref ref-type="fig" rid="F6">Figure 6</xref>) to avoid using any interior cell data. This reduces the order of accuracy of reconstruction to first order at these faces.<disp-formula id="e18">
<mml:math id="m41">
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mrow>
<mml:mtext>L</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>&#x3c8;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>&#x3c8;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(18)</label>
</disp-formula>
<disp-formula id="e19">
<mml:math id="m42">
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mrow>
<mml:mtext>R</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>&#x3c8;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>&#x3c8;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(19)</label>
</disp-formula>
<disp-formula id="e20">
<mml:math id="m43">
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mrow>
<mml:mtext>L</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(20)</label>
</disp-formula>
<disp-formula id="e21">
<mml:math id="m44">
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mrow>
<mml:mtext>R</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>&#x3c8;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>&#x3c8;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(21)</label>
</disp-formula>where<disp-formula id="equ8">
<mml:math id="m45">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>
<disp-formula id="equ9">
<mml:math id="m46">
<mml:msub>
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>
<disp-formula id="equ10">
<mml:math id="m47">
<mml:mi>q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<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:mi>P</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
</sec>
</sec>
</sec>
<sec sec-type="results|discussion" id="s4">
<title>4 Results and discussion</title>
<p>The performance of the proposed IBM is assessed on the test cases listed in <xref ref-type="table" rid="T1">Table 1</xref> by comparing it with the results from the existing literature. These include two transonic and two supersonic cases. For all the cases, Cartesian grids have been used. However, first, the performance comparison of the method in <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016</xref>) and the present IBM is evaluated for flow past a bump in a channel. The computations are carried out on two grid sizes to investigate whether the grid size affects the stability of the algorithms.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Summary of test cases.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Body</th>
<th align="left">Reynolds number</th>
<th align="left">Mach number</th>
<th align="left">Flow type</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Bump in a channel</td>
<td align="left">&#x2212;</td>
<td align="char" char=".">0.675</td>
<td align="left">Transonic inviscid flow</td>
</tr>
<tr>
<td align="left">Cylinder</td>
<td align="left">&#x2212;</td>
<td align="char" char=".">3</td>
<td align="left">Supersonic inviscid flow</td>
</tr>
<tr>
<td align="left">NACA0012</td>
<td align="left">500</td>
<td align="char" char=".">0.8</td>
<td align="left">Transonic viscous flow</td>
</tr>
<tr>
<td align="left">Cylinder</td>
<td align="left">300</td>
<td align="char" char=".">2</td>
<td align="left">Supersonic viscous flow</td>
</tr>
</tbody>
</table>
</table-wrap>
<sec id="s4-1">
<title>4.1 Bump in a channel</title>
<p>This test case simulates the inviscid transonic flow past a bump in a channel. The channel is 3.0&#xa0;m long and 1.0&#xa0;m in height. The bump is located halfway along the length of the lower wall. The thickness-to-chord ratio of the bump is 10%.</p>
<p>This internal flow test case was performed on a structured body-fitted grid by <xref ref-type="bibr" rid="B13">Favini et al. (1996</xref>), and the solution is compared with the same work. This simulation is carried out on grids with dimensions 130 &#xd7; 42 and 180 &#xd7; 64, for comparison of the present method with that presented in <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016)</xref>, and a sequence of successively refined grids 48 &#xd7; 16, 96 &#xd7; 32, 192 &#xd7; 64, and 384 &#xd7; 128 in the <italic>x</italic> and <italic>y</italic> directions, respectively, with clustering near the ends of the bump and minimum grid spacing&#x2014;&#x394;<italic>x</italic>
<sub>min</sub> &#x3d; &#x394;<italic>y</italic>
<sub>min</sub> &#x3d; 0.005&#xa0;m for the 192 &#xd7; 64 grid&#x2014;same as in <xref ref-type="bibr" rid="B23">Kumar et al. (2020</xref>). The inlet Mach number, pressure, and temperature are equal to 0.675, 1.0<italic>e</italic>5 Pa, and 300&#xa0;K, respectively.</p>
<p>Boundary conditions applied are shown in <xref ref-type="fig" rid="F7">Figure 7</xref>. The non-uniform mesh is shown in <xref ref-type="fig" rid="F8">Figure 8</xref> with the IB rendered as a yellow curve. The pressure contours obtained using the IBM from <xref ref-type="bibr" rid="B33">Ramakrishnan et al. (2016)</xref>, referred to henceforward as IBM(A), and the present IBM are compared in <xref ref-type="fig" rid="F9">Figure 9</xref>.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Schematic representation of the domain with boundary conditions indicated: transonic flow over bump in a channel.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Non-uniform mesh used for transonic flow over a bump in a channel of size (192 &#xd7; 64) in <italic>x</italic> and <italic>y</italic> directions, respectively (alternate grid lines are shown in both directions for clarity); IB shown by the yellow line.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g008.tif"/>
</fig>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Pressure contour comparison for transonic flow over a bump using the present IBM and IBM(A). The present IBM (top) and IBM(A) (bottom); grid size: 130 &#xd7; 42 (left) and 180 &#xd7; 64 (right).</p>
</caption>
<graphic xlink:href="fmech-08-903492-g009.tif"/>
</fig>
<p>The contours indicate that both the IBM(A) and the proposed IBM produce similar results with the 130 &#xd7; 42 grid. However, as the number of grid points is increased to 180 &#xd7; 64, the solution using IBM(A) becomes non-physical whereas the present IBM generates physically correct results. It is to be noted that this incorrect behavior of the IBM(A) is present in spite of using the limiting function <xref ref-type="disp-formula" rid="e7">Eq. 7</xref>. Without the limiting function, the solution diverges.</p>
<p>The solution convergence with grid refinement can be observed from the surface plots of the Mach number in <xref ref-type="fig" rid="F10">Figure 10A</xref> with the 192 &#xd7; 64 grid and 384 &#xd7; 128 grids having virtually identical surface Mach number distribution. Also, as shown in <xref ref-type="fig" rid="F10">Figure 10B</xref>, the Mach number plots along the lower and upper surfaces of the domain (192 &#xd7; 64) show overall excellent agreement with the results obtained by <xref ref-type="bibr" rid="B13">Favini et al. (1996)</xref>.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Mach number distribution on the upper and lower walls for transonic flow over a bump. <bold>(A)</bold> Different grid levels using present IBM. <bold>(B)</bold> Present IBM with <xref ref-type="bibr" rid="B13">Favini et al. (1996)</xref>.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g010.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F11">Figure 11</xref> shows the pressure contour plots for the present computations and the CUS-IBM (<xref ref-type="bibr" rid="B23">Kumar et al., 2020</xref>) solution on the 192 &#xd7; 64 grid. The shock structure and location show good agreement between the solvers, with the present solver producing a somewhat smeared shock foot.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Pressure contours using the present IBM <bold>(A)</bold> and CUS-IBM (<xref ref-type="bibr" rid="B23">Kumar et al., 2020</xref>) <bold>(B)</bold> for the transonic flow over a bump.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g011.tif"/>
</fig>
<p>The exit Mach number is probed at the lower and upper surfaces (listed in <xref ref-type="table" rid="T2">Table 2</xref>) and is compared against the body-fitted grid values obtained by <xref ref-type="bibr" rid="B13">Favini et al. (1996)</xref>. The percentage errors for the lower and upper surfaces are 2.3 % and 2.54%, respectively.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Summary of the quantitative comparison of specific quantities obtained using the proposed IBM with the literature.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Test case</th>
<th align="left">Quantity</th>
<th align="left">Proposed IBM</th>
<th align="left">Literature</th>
<th align="left">Reference</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="left">Bump (<xref ref-type="sec" rid="s4-1">Section 4.1</xref>)</td>
<td align="left">Exit Mach number (top)</td>
<td align="char" char=".">0.687</td>
<td align="char" char=".">0.670</td>
<td rowspan="2" align="left">
<xref ref-type="bibr" rid="B13">Favini et al. (1996)</xref>
</td>
</tr>
<tr>
<td align="left">Exit Mach number (bottom)</td>
<td align="char" char=".">0.601</td>
<td align="char" char=".">0.615</td>
</tr>
<tr>
<td align="left">Cylinder (<xref ref-type="sec" rid="s4-2">Section 4.2</xref>)</td>
<td align="left">Stagnation pressure (&#xd7; 1e5 <italic>Pa</italic>)</td>
<td align="char" char=".">12.391</td>
<td align="char" char=".">12.462</td>
<td align="left">Analytical value</td>
</tr>
<tr>
<td rowspan="2" align="left">NACA0012 (<xref ref-type="sec" rid="s4-3">Section 4.3</xref>)</td>
<td align="left">c<sub>
<italic>l</italic>
</sub>
</td>
<td align="char" char=".">0.4317</td>
<td align="char" char=".">0.4363</td>
<td rowspan="2" align="left">
<xref ref-type="bibr" rid="B39">Swanson and Langer (2016)</xref>
</td>
</tr>
<tr>
<td align="left">c<sub>
<italic>d</italic>
</sub>
</td>
<td align="char" char=".">0.2679</td>
<td align="char" char=".">0.2752</td>
</tr>
<tr>
<td align="left">Cylinder (<xref ref-type="sec" rid="s4-4">Section 4.4</xref>)</td>
<td align="left">c<sub>
<italic>d</italic>
</sub>
</td>
<td align="char" char=".">1.5205</td>
<td align="char" char=".">1.5265</td>
<td align="left">
<xref ref-type="bibr" rid="B40">Takahashi et al. (2014)</xref>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-2">
<title>4.2 Inviscid supersonic flow past a circular cylinder</title>
<p>This is an external flow computation of flow over a cylinder. A supersonic flow of <italic>M</italic>
<sub>
<italic>inlet</italic>
</sub> &#x3d; 3, <italic>P</italic>
<sub>
<italic>inlet</italic>
</sub> &#x3d; 103320&#xa0;Pa, and <italic>T</italic> &#x3d; 300&#xa0;K over a half-cylinder is simulated. The computational domain is [ &#x2212;1&#xa0;m, 0&#xa0;m] &#xd7; [ &#x2212;2&#xa0;m, 2&#xa0;m]. The cylinder is centered at (0&#xa0;m, 0&#xa0;m) with a radius of 0.5&#xa0;m.</p>
<p>Uniform Cartesian grids are chosen with grid sizes 50 &#xd7; 200, 100 &#xd7; 400, and 200 &#xd7; 800 along the <italic>x</italic> and <italic>y</italic> directions, respectively, which are the same as reported in <xref ref-type="bibr" rid="B23">Kumar et al. (2020)</xref>. A symmetry or slip-wall boundary condition is used for the top and bottom boundaries as the flow is expected to be parallel near these boundaries, with the bow shock exiting the right boundary. Boundary conditions used are as shown in <xref ref-type="fig" rid="F12">Figure 12</xref>.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Schematic representation of the domain with boundary conditions indicated <bold>(A)</bold> and near-view of the grid showing every other pair of grid lines <bold>(B)</bold>; IB shown by the yellow line.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g012.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F13">Figure 13A</xref> plots the pressure coefficient along the surface of the upper-right quarter of the cylinder on different grids. It can be observed that the pressure distribution on the fine and medium grids is close to each other compared to that on the coarse grid, which suggests that the solution on the fine grid can be considered to be grid-converged. A comparison is also made between the grid-converged solution on the fine grid (200 &#xd7; 800) using the present IBM and the results of the CUS-IBM (<xref ref-type="bibr" rid="B23">Kumar et al., 2020</xref>) on the same grid. Good agreement between the predictions can be seen, as shown in <xref ref-type="fig" rid="F13">Figure 13B</xref>.</p>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Comparison of the pressure coefficient; X-axis represents the azimuth angle measured clockwise from the leading edge. <bold>(A)</bold> Different grid levels using present IBM. <bold>(B)</bold> Present IBM with <xref ref-type="bibr" rid="B23">Kumar et al. (2020)</xref>.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g013.tif"/>
</fig>
<p>Furthermore, post-shock stagnation pressure in the computational domain is also probed at <italic>y</italic> &#x3d; 0 and compared to the calculated analytical value (listed in <xref ref-type="table" rid="T2">Table 2</xref>). The percentage error of the computed value is determined to be about 0.57%. The contour plot of the Mach number is shown in <xref ref-type="fig" rid="F14">Figure 14</xref>, and a comparison is also made with the CUS-IBM (<xref ref-type="bibr" rid="B23">Kumar et al., 2020</xref>). The contour plots are in good agreement. It can be seen from the contours that there is a detached bow shock formed in front of the cylinder, and the solutions on the two different IBM solvers compare well.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Mach number contour comparison&#x2013;present IBM <bold>(A)</bold> and CUS-IBM (<xref ref-type="bibr" rid="B23">Kumar et al., 2020)</xref> <bold>(B)</bold>.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g014.tif"/>
</fig>
</sec>
<sec id="s4-3">
<title>4.3 Transonic viscous flow past the NACA0012 airfoil</title>
<p>This is a laminar flow simulation with a large separation vortex near the trailing edge of the airfoil. Free stream flow parameters are <italic>M</italic>
<sub>
<italic>&#x221e;</italic>
</sub> &#x3d; 0.8, <italic>p</italic>
<sub>
<italic>&#x221e;</italic>
</sub> &#x3d; 103320&#xa0;Pa, <italic>T</italic>
<sub>
<italic>&#x221e;</italic>
</sub> &#x3d; 300&#xa0;K, and <italic>Re</italic>
<sub>
<italic>&#x221e;</italic>
</sub> &#x3d; 500, and the angle of attack is 10&#xb0;.</p>
<p>This test case is chosen as the flow is transonic and involves flow separation with a recirculation bubble forming on the suction side of the airfoil. This tests whether the IBM can accurately predict flow separation, which is very important for the reliable prediction of viscous flows.</p>
<p>The computations for this case are carried out on the non-uniform grids of sizes 162 &#xd7; 256, 324 &#xd7; 512, and 648 &#xd7; 1,024 along <italic>x</italic> and <italic>y</italic> directions, respectively. The size of the grid 648 &#xd7; 1,024 is based on the grid used in <xref ref-type="bibr" rid="B23">Kumar et al. (2020</xref>), with a minimum grid spacing of &#x394;<italic>x</italic>
<sub>min</sub> &#x3d; &#x394;<italic>y</italic>
<sub>min</sub> &#x3d; 0.005&#xa0;m at the leading edge. Boundary conditions considered and the zoomed-in view of the grid used are shown in <xref ref-type="fig" rid="F15">Figure 15</xref>. The solution of the present IB method is compared with the body-fitted grid simulation by <xref ref-type="bibr" rid="B39">Swanson and Langer (2016</xref>).</p>
<fig id="F15" position="float">
<label>FIGURE 15</label>
<caption>
<p>Schematic representation of the domain with boundary conditions indicated: flow past airfoil NACA0012 <bold>(A)</bold> and close-up view of the 648 &#xd7; 1,024 non-uniform mesh <bold>(B)</bold> (showing alternate grid lines in both directions); IB shown by the yellow line.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g015.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F16">Figure 16A</xref> shows the grid convergence results obtained using the presented IB method. It can be observed that the surface pressure coefficient predictions on both the medium and fine grids overlap, and the solution on the 648 &#xd7; 1,024 grid can be considered as grid-converged. In <xref ref-type="fig" rid="F16">Figure 16B</xref>, pressure coefficient distribution on the airfoil with the present IBM (648 &#xd7; 1,024) is further compared with the 1,280 &#xd7; 512&#xa0;C grid computations by <xref ref-type="bibr" rid="B39">Swanson and Langer (2016)</xref>. The <italic>C</italic>
<sub>
<italic>p</italic>
</sub> distributions for the two methods match closely, indicating that the computations with the present IBM produce accurate surface pressure with a grid having a similar size as used for a body-fitted simulation.</p>
<fig id="F16" position="float">
<label>FIGURE 16</label>
<caption>
<p>Comparison of surface pressure distribution for transonic flow over the airfoil. <bold>(A)</bold> Different grid levels using present IBM. <bold>(B)</bold> Present IBM with <xref ref-type="bibr" rid="B39">Swanson and Langer (2016)</xref>.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g016.tif"/>
</fig>
<p>As can be seen from <xref ref-type="fig" rid="F17">Figure 17</xref>, which presents the Mach number contour plots using the present IBM and body-fitted grid simulations (<xref ref-type="bibr" rid="B39">Swanson and Langer, 2016</xref>), there is good agreement between the predicted solutions. In <xref ref-type="fig" rid="F18">Figure 18</xref>, streamlines are shown in a zoomed-in view of the region near the trailing edge to compare the predictions of the recirculation zone between the present IBM and body-fitted simulation by <xref ref-type="bibr" rid="B39">Swanson and Langer (2016</xref>). It can be observed that the location and size of the recirculation regions look very similar. Furthermore, the errors in the lift coefficient <italic>c</italic>
<sub>
<italic>l</italic>
</sub> and the drag coefficient <italic>c</italic>
<sub>
<italic>d</italic>
</sub>, between the present computation and value reported by <xref ref-type="bibr" rid="B39">Swanson and Langer (2016)</xref> using body-fitted grid simulations, are determined to be about 1.07% and 2.6%, respectively. The exact values of the lift and drag coefficients are listed in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<fig id="F17" position="float">
<label>FIGURE 17</label>
<caption>
<p>Comparison of Mach number contours for the transonic flow past the NACA0012 airfoil. Present IBM <bold>(A)</bold> and the IBM of <xref ref-type="bibr" rid="B39">Swanson and Langer (2016)</xref> <bold>(B)</bold>.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g017.tif"/>
</fig>
<fig id="F18" position="float">
<label>FIGURE 18</label>
<caption>
<p>Streamlines showing separation bubbles for the transonic viscous flow past the NACA0012 airfoil: present IBM <bold>(A)</bold> and the IBM of <xref ref-type="bibr" rid="B39">Swanson and Langer (2016)</xref> <bold>(B)</bold>.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g018.tif"/>
</fig>
</sec>
<sec id="s4-4">
<title>4.4 Supersonic viscous flow past the cylinder</title>
<p>Flow conditions for this external flow simulation are <italic>M</italic>
<sub>
<italic>&#x221e;</italic>
</sub> &#x3d; 2.0, <italic>p</italic>
<sub>
<italic>&#x221e;</italic>
</sub> &#x3d; 103320&#xa0;Pa, <italic>T</italic>
<sub>
<italic>&#x221e;</italic>
</sub> &#x3d; 300&#xa0;K, and Re &#x3d; 300. The domain extent is 60 <italic>D</italic> &#xd7; 40 <italic>D</italic> (<italic>D</italic> &#x3d; 1&#xa0;m), the same as in <xref ref-type="bibr" rid="B23">Kumar et al. (2020</xref>) and <xref ref-type="bibr" rid="B31">Qiu et al. (2016</xref>), and the cylinder is centered at (24,20).</p>
<p>Non-uniform meshes with grid sizes 158 &#xd7; 108, 316 &#xd7; 216, and 632 &#xd7; 432 along <italic>x</italic> and <italic>y</italic> directions, respectively, were used for the grid convergence study. There is a uniform mesh region around the cylinder of size 1.7&#xa0;<italic>D</italic> &#xd7; 1.7&#xa0;<italic>D</italic> with a grid spacing of 0.1&#xa0;<italic>D</italic>, 0.05&#xa0;<italic>D</italic>, and 0.025&#xa0;<italic>D</italic> for three levels of grids as in <xref ref-type="bibr" rid="B40">Takahashi et al. (2014</xref>). This grid spacing of the finest grid used is considered sufficient to capture the boundary layer effects for the specific Reynolds number. The domain with the boundary conditions employed and the grid are shown in <xref ref-type="fig" rid="F19">Figure 19</xref>.</p>
<fig id="F19" position="float">
<label>FIGURE 19</label>
<caption>
<p>Schematic representation of the domain with boundary conditions indicated <bold>(A)</bold> and close-up view of the non-uniform grid <bold>(B)</bold> (showing alternate grid line in both directions); IB shown by the yellow line.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g019.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="F20">Figure 20A</xref>, it can be observed that the predicted pressures on the medium and fine grids are virtually overlapping, and thus, the solution on the 632 &#xd7; 432 grid can be considered as grid-converged.</p>
<fig id="F20" position="float">
<label>FIGURE 20</label>
<caption>
<p>Comparison of surface pressure distribution for the supersonic flow over a cylinder. <bold>(A)</bold> Different grid levels using present IBM. <bold>(B)</bold> Present IBM with <xref ref-type="bibr" rid="B40">Takahashi et al. (2014)</xref>.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g020.tif"/>
</fig>
<p>The pressure coefficient on the cylinder surface plotted in <xref ref-type="fig" rid="F20">Figure 20B</xref> compares the converged solution on the finer grid with the published results by <xref ref-type="bibr" rid="B40">Takahashi et al. (2014</xref>) and shows excellent agreement.</p>
<p>Furthermore, the error in the drag coefficient, <italic>c</italic>
<sub>
<italic>d</italic>
</sub>, between the present computation and the value reported by <xref ref-type="bibr" rid="B40">Takahashi et al. (2014)</xref> for Cartesian grid simulations is determined to be about 0.4%. The exact values of the lift and drag coefficients are listed in <xref ref-type="table" rid="T2">Table 2</xref>. Contour plots of the density ratio in <xref ref-type="fig" rid="F21">Figure 21</xref> show that the bow shock is captured well with the present IBM and the flow field is qualitatively similar to that predicted by <xref ref-type="bibr" rid="B40">Takahashi et al. (2014</xref>).</p>
<fig id="F21" position="float">
<label>FIGURE 21</label>
<caption>
<p>Density contour plot using the present IBM <bold>(A)</bold> and the IBM of <xref ref-type="bibr" rid="B40">Takahashi et al. (2014</xref>) <bold>(B)</bold>.</p>
</caption>
<graphic xlink:href="fmech-08-903492-g021.tif"/>
</fig>
</sec>
<sec id="s4-5">
<title>4.5 Performance study</title>
<p>This section discusses the performance of the proposed IB solver by performing grid convergence tests on three grids of different sizes for two of the test cases presented earlier in this work: inviscid Mach 3 flow past a circular cylinder and viscous Mach 2.0 flow past a circular cylinder at Re of 300. For the inviscid flow test case, the three grids considered are 50 &#xd7; 200, 100 &#xd7; 400, and 200 &#xd7; 800 on the computational domain of [&#x2212;1,0]&#xd7;[&#x2212;2,2] with uniform grid spacing. For the viscous flow simulations, the three grid sizes chosen are 158 &#xd7; 108, 316 &#xd7; 216, and 632 &#xd7; 432 with a uniform grid spacing of 0.1&#xa0;D, 0.05&#xa0;D, and 0.025&#xa0;D, respectively, in the rectangular region 1.7 &#xd7; 1.7 around the cylinder.</p>
<p>For the inviscid test case, post-shock stagnation pressure along the line <italic>y</italic> &#x3d; 0 is considered to determine the error in the computation. The reference value in this case is the theoretical post normal-shock value at Mach 3.0 for air. For the viscous test case, the error in the solution is calculated by computing the drag coefficient <italic>C</italic>
<sub>
<italic>d</italic>
</sub>. An error function is computed as <inline-formula id="inf17">
<mml:math id="m48">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>&#x3d5;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:math>
</inline-formula>, where <italic>&#x3d5;</italic> &#x3d; [<italic>P</italic>
<sub>0</sub>, <italic>C</italic>
<sub>
<italic>D</italic>
</sub>] and <italic>&#x3d5;</italic>
<sub>
<italic>ref</italic>
</sub> is the zero-grid-spacing reference value, obtained using Richardson&#x2019;s extrapolation (<xref ref-type="bibr" rid="B38">Slater, 2022</xref>, <xref ref-type="bibr" rid="B35">Roache, 1994)</xref>. The plot shown in <xref ref-type="fig" rid="F22">Figure 22</xref> shows the variation of the error function (<italic>&#x3f5;</italic>
<sub>
<italic>h</italic>
</sub>) epsilon <italic>versus</italic> the grid spacing parameter (<italic>r</italic>). The grid spacing parameter <italic>r</italic> is defined as the ratio of the average grid spacing of a grid with respect to the average grid spacing for the finest grid. The observed order of convergence obtained is in the range of 1.4&#x2013;1.6, which is determined using that of <xref ref-type="bibr" rid="B38">Slater (2022)</xref>. This suggests that the solution obtained from the proposed IBM is less than second-order accurate, although the finite volume method used here is second-order accurate. This can be attributed to the reduced order of solution reconstruction at cell faces in the neighborhood of the immersed surface, as discussed in <xref ref-type="sec" rid="s3-4-5">Section 3.4.5</xref>. Furthermore, although linear interpolation is used for forcing the velocity at the band face, density and pressure are extrapolated, which can also contribute to the overall reduction in the accuracy of the solver.</p>
<fig id="F22" position="float">
<label>FIGURE 22</label>
<caption>
<p>Variation of <italic>&#x3f5;</italic> with an average grid spacing parameter (r) for the supersonic inviscid flow past the cylinder (red) and the viscous flow past the cylinder (green).</p>
</caption>
<graphic xlink:href="fmech-08-903492-g022.tif"/>
</fig>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>An immersed boundary method designed for the finite volume solver of the equations of the fluid flow is presented in this work. Specifically, this work presents a robust face-based solution forcing methodology in the immediate vicinity of the immersed surface, which enables the integration of the discretized equations in all the fluid cells, thus allowing better adherence to the conservation of mass, momentum, and energy. An interpolation point is constructed along the normal to the immersed surface, and data are interpolated from the surrounding fluid cells onto the interpolation point using inverse distances as weights. The proposed methodology has been validated with simulations of the flow past a bump, cylinder, and airfoil with speeds ranging from transonic to supersonic regime, both laminar and inviscid. The results presented indicate that the flow predictions away from the immersed surface and surface pressure compare well with results reported in the literature. Quantitative comparison with results from the literature/theoretical values shows that the errors in the present method are less than 3%. Subsequent development will be aimed at moving boundary modifications, extending to three dimensions, and improving geometric conservation.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>MK: implementation of the algorithm, computation of numerical simulations, generation and presentation of results, and writing the manuscript. SG: proposed the overall formulation of the method and contributed to the writing and editing of the manuscript.</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s9">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Anand Bharadwaj</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Ghosh</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Data reconstruction at surface in immersed-boundary methods</article-title>. <source>Comput. Fluids</source> <volume>196</volume>, <fpage>104236</fpage>. <pub-id pub-id-type="doi">10.1016/j.compfluid.2019.104236</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Berthelsen</surname>
<given-names>P. A.</given-names>
</name>
<name>
<surname>Faltinsen</surname>
<given-names>O. M.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>A local directional ghost cell approach for incompressible viscous flow problems with irregular boundaries</article-title>. <source>J. Comput. Phys.</source> <volume>227</volume>, <fpage>4354</fpage>&#x2013;<lpage>4397</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2007.12.022</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Brehm</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Hader</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Fasel</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>A locally stabilized immersed boundary method for the compressible Navier&#x2013;Stokes equations</article-title>. <source>J. Comput. Phys.</source> <volume>295</volume>, <fpage>475</fpage>&#x2013;<lpage>504</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2015.04.023</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Capizzano</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2007</year>). &#x201c;<article-title>A compressible flow simulation system based on cartesian grids with anisotropic refinements</article-title>,&#x201d; in <conf-name>Collection of technical papers - 45th AIAA aerospace sciences meeting</conf-name>, <fpage>17036</fpage>&#x2013;<lpage>17057</lpage>. <pub-id pub-id-type="doi">10.2514/6.2007-1450</pub-id> </citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Capizzano</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Turbulent wall model for immersed boundary methods</article-title>. <source>AIAA J.</source> <volume>49</volume>, <fpage>2367</fpage>&#x2013;<lpage>2381</lpage>. <pub-id pub-id-type="doi">10.2514/1.J050466</pub-id> </citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chi</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>B. J.</given-names>
</name>
<name>
<surname>Im</surname>
<given-names>H. G.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>An improved ghost-cell immersed boundary method for compressible flow simulations</article-title>. <source>Int. J. Numer. Methods Fluids</source> <volume>83</volume>, <fpage>132</fpage>&#x2013;<lpage>148</lpage>. <pub-id pub-id-type="doi">10.1002/fld.4262</pub-id> </citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Choi</surname>
<given-names>J. I.</given-names>
</name>
<name>
<surname>Oberoi</surname>
<given-names>R. C.</given-names>
</name>
<name>
<surname>Edwards</surname>
<given-names>J. R.</given-names>
</name>
<name>
<surname>Rosati</surname>
<given-names>J. A.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>An immersed boundary method for complex incompressible flows</article-title>. <source>J. Comput. Phys.</source> <volume>224</volume>, <fpage>757</fpage>&#x2013;<lpage>784</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2006.10.032</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>De Palma</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>de Tullio</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Pascazio</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Napolitano</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>An immersed-boundary method for compressible viscous flows</article-title>. <source>Comput. Fluids</source> <volume>35</volume>, <fpage>693</fpage>&#x2013;<lpage>702</lpage>. <pub-id pub-id-type="doi">10.1016/j.compfluid.2006.01.004</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>de Tullio</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>De Palma</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Iaccarino</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Pascazio</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Napolitano</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>An immersed boundary method for compressible flows using local grid refinement</article-title>. <source>J. Comput. Phys.</source> <volume>225</volume>, <fpage>2098</fpage>&#x2013;<lpage>2117</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2007.03.008</pub-id> </citation>
</ref>
<ref id="B10">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Edwards</surname>
<given-names>J. R.</given-names>
</name>
<name>
<surname>Choi</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ghosh</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gieseking</surname>
<given-names>D. A.</given-names>
</name>
<name>
<surname>Eischen</surname>
<given-names>J. D.</given-names>
</name>
</person-group> (<year>2010</year>). &#x201c;<article-title>An immersed boundary method for general flow applications</article-title>,&#x201d; in <conf-name>ASME 2010 3rd joint US-European fluids engineering summer meeting: Volume 1, symposia &#x2013; Parts A, B, and C of fluids engineering division summer meeting</conf-name>, <fpage>2461</fpage>&#x2013;<lpage>2469</lpage>. <pub-id pub-id-type="doi">10.1115/FEDSM-ICNMM2010-31097</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ehsan Khalili</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Larsson</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>M&#xfc;ller</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Immersed boundary method for viscous compressible flows around moving bodies</article-title>. <source>Comput. Fluids</source> <volume>170</volume>, <fpage>77</fpage>&#x2013;<lpage>92</lpage>. <pub-id pub-id-type="doi">10.1016/j.compfluid.2018.04.033</pub-id> </citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fadlun</surname>
<given-names>E. A.</given-names>
</name>
<name>
<surname>Verzicco</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Orlandi</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Mohd-Yusof</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2000</year>). <article-title>Combined immersed-boundary finite-difference methods for three-dimensional complex flow simulations</article-title>. <source>J. Comput. Phys.</source> <volume>161</volume>, <fpage>35</fpage>&#x2013;<lpage>60</lpage>. <pub-id pub-id-type="doi">10.1006/jcph.2000.6484</pub-id> </citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Favini</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Broglia</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Di Mascio</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>1996</year>). <article-title>Multigrid acceleration of second-order eno schemes from low subsonic to high supersonic flows</article-title>. <source>Int. J. Numer. Methods Fluids</source> <volume>23</volume>, <fpage>589</fpage>&#x2013;<lpage>606</lpage>. <pub-id pub-id-type="doi">10.1002/(sici)1097-0363(19960930)23:6&#x3c;589:aid-fld444&#x3e;3.0.co;2-&#x23;</pub-id> </citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Tseng</surname>
<given-names>Y.-H.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>X.-Y.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>An improved hybrid cartesian/immersed boundary method for fluid-solid flows</article-title>. <source>Int. J. Numer. Methods Fluids</source> <volume>55</volume>, <fpage>1189</fpage>&#x2013;<lpage>1211</lpage>. <pub-id pub-id-type="doi">10.1002/fld.1522</pub-id> </citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ghias</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Mittal</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>A sharp interface immersed boundary method for compressible viscous flows</article-title>. <source>J. Comput. Phys.</source> <volume>225</volume>, <fpage>528</fpage>&#x2013;<lpage>553</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2006.12.007</pub-id> </citation>
</ref>
<ref id="B16">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Ghosh</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Anand Bharadwaj</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <source>Development and application of immersed boundary methods for compressible flows</source>. <publisher-loc>Singapore</publisher-loc>: <publisher-name>Springer Singapore</publisher-name>, <fpage>227</fpage>&#x2013;<lpage>249</lpage>. <pub-id pub-id-type="doi">10.1007/978-981-15-3940-4_8</pub-id> </citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ghosh</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Choi</surname>
<given-names>J. I.</given-names>
</name>
<name>
<surname>Edwards</surname>
<given-names>J. R.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Numerical simulations of effects of micro vortex generators using immersed-boundary methods</article-title>. <source>AIAA J.</source> <volume>48</volume>, <fpage>92</fpage>&#x2013;<lpage>103</lpage>. <pub-id pub-id-type="doi">10.2514/1.40049</pub-id> </citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Goldstein</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Handler</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Sirovich</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>1993</year>). <article-title>Modeling a No-slip flow boundary with an external force field</article-title>. <source>J. Comput. Phys.</source> <volume>105</volume>, <fpage>354</fpage>&#x2013;<lpage>366</lpage>. <pub-id pub-id-type="doi">10.1006/jcph.1993.1081</pub-id> </citation>
</ref>
<ref id="B19">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Hartmann</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Meinke</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Schr&#xf6;der</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2009</year>). &#x201c;<article-title>A general formulation of boundary conditions on Cartesian cut-cells for compressible viscous flow</article-title>,&#x201d; in <conf-name>19th AIAA Computational Fluid Dynamics Conference</conf-name>. <pub-id pub-id-type="doi">10.2514/6.2009-3878</pub-id> </citation>
</ref>
<ref id="B20">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Hirsch</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2007</year>). <source>Numerical computation of internal and external flows: The fundamentals of computational fluid dynamics</source>. <edition>2 edn.</edition> <publisher-name>Butterworth-Heinemann</publisher-name>. </citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kim</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Choi</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2001</year>). <article-title>An immersed-boundary finite-volume method for simulations of flow in complex geometries</article-title>. <source>J. Comput. Phys.</source> <volume>171</volume>, <fpage>132</fpage>&#x2013;<lpage>150</lpage>. <pub-id pub-id-type="doi">10.1006/jcph.2001.6778</pub-id> </citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kitamura</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Shima</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Fujimoto</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z. J.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Performance of low-dissipation euler fluxes and preconditioned lu-sgs at low speeds</article-title>. <source>Commun. Comput. Phys.</source> <volume>10</volume>, <fpage>90</fpage>&#x2013;<lpage>119</lpage>. <pub-id pub-id-type="doi">10.4208/cicp.041109.160910a</pub-id> </citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kumar</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Sharma</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Singh</surname>
<given-names>R. K.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Central upwind scheme based immersed boundary method for compressible flows around complex geometries</article-title>. <source>Comput. Fluids</source> <volume>196</volume>, <fpage>104349</fpage>. <pub-id pub-id-type="doi">10.1016/j.compfluid.2019.104349</pub-id> </citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liou</surname>
<given-names>M.-S.</given-names>
</name>
<name>
<surname>Steffen</surname>
<given-names>C. J.</given-names>
</name>
</person-group> (<year>1993</year>). <article-title>A new flux splitting scheme</article-title>. <source>J. Comput. Phys.</source> <volume>107</volume>, <fpage>23</fpage>&#x2013;<lpage>39</lpage>. <pub-id pub-id-type="doi">10.1006/jcph.1993.1122</pub-id> </citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Baum</surname>
<given-names>J. D.</given-names>
</name>
<name>
<surname>L&#xf6;hner</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>A hybrid cartesian grid and gridless method for compressible flows</article-title>. <source>J. Comput. Phys.</source> <volume>214</volume>, <fpage>618</fpage>&#x2013;<lpage>632</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2005.10.002</pub-id> </citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mittal</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Bozkurttas</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Najjar</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Vargas</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>von Loebbecke</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>A versatile sharp interface immersed boundary method for incompressible flows with complex boundaries</article-title>. <source>J. Comput. Phys.</source>, <volume>227</volume>, <fpage>4825</fpage>&#x2013;<lpage>4852</lpage>. <comment>Cited by: 799; All Open Access, Green Open Access</comment>. <pub-id pub-id-type="doi">10.1016/j.jcp.2008.01.028</pub-id> </citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mohd-Yusof</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1997</year>). <article-title>Combined immersed-boundary/b-spline methods for simulations of flow in complex geometries</article-title>. <source>Cent. Turbul. Res. Annu. Res. briefs</source> <volume>161</volume>, <fpage>317</fpage>&#x2013;<lpage>327</lpage>. </citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peskin</surname>
<given-names>C. S.</given-names>
</name>
<name>
<surname>McQueen</surname>
<given-names>D. M.</given-names>
</name>
</person-group> (<year>1989</year>). <article-title>A three-dimensional computational method for blood flow in the heart I. Immersed elastic fibers in a viscous incompressible fluid</article-title>. <source>J. Comput. Phys.</source> <volume>81</volume>, <fpage>372</fpage>&#x2013;<lpage>405</lpage>. <pub-id pub-id-type="doi">10.1016/0021-9991(89)90213-1</pub-id> </citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peskin</surname>
<given-names>C. S.</given-names>
</name>
</person-group> (<year>1972</year>). <article-title>Flow patterns around heart valves: A numerical method</article-title>. <source>J. Comput. Phys.</source> <volume>10</volume>, <fpage>252</fpage>&#x2013;<lpage>271</lpage>. <pub-id pub-id-type="doi">10.1016/0021-9991(72)90065-4</pub-id> </citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peskin</surname>
<given-names>C. S.</given-names>
</name>
</person-group> (<year>1977</year>). <article-title>Numerical analysis of blood flow in the heart</article-title>. <source>J. Comput. Phys.</source> <volume>25</volume>, <fpage>220</fpage>&#x2013;<lpage>252</lpage>. <pub-id pub-id-type="doi">10.1016/0021-9991(77)90100-0</pub-id> </citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Qiu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Shu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A boundary condition-enforced immersed boundary method for compressible viscous flows</article-title>. <source>Comput. Fluids</source> <volume>136</volume>, <fpage>104</fpage>&#x2013;<lpage>113</lpage>. <pub-id pub-id-type="doi">10.1016/j.compfluid.2016.06.004</pub-id> </citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Qu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Batra</surname>
<given-names>R. C.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>An immersed boundary formulation for simulating high-speed compressible viscous flows with moving solids</article-title>. <source>J. Comput. Phys.</source> <volume>354</volume>, <fpage>672</fpage>&#x2013;<lpage>691</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2017.10.045</pub-id> </citation>
</ref>
<ref id="B33">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Ramakrishnan</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Girdhar</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ghosh</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Immersed boundary methods for compressible laminar flows</article-title>,&#x201d; in <conf-name>VII European Congress on Computational Methods in Applied Sciences and Engineering</conf-name>, <fpage>7029</fpage>&#x2013;<lpage>7044</lpage>. <pub-id pub-id-type="doi">10.7712/100016.2315.8780</pub-id> </citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rangan</surname>
<given-names>M. K.</given-names>
</name>
<name>
<surname>Ghosh</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>2D immersed boundary solver for compressible laminar flows</article-title>,&#x201d; in <source>AIAA 2021-2729. AIAA AVIATION 2021 FORUM</source>. <pub-id pub-id-type="doi">10.2514/6.2021-2729</pub-id> </citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Roache</surname>
<given-names>P. J.</given-names>
</name>
</person-group> (<year>1994</year>). <article-title>Perspective: A method for uniform reporting of grid refinement studies</article-title>. <source>J. Fluids Eng.</source> <volume>116</volume>, <fpage>405</fpage>&#x2013;<lpage>413</lpage>. <pub-id pub-id-type="doi">10.1115/1.2910291</pub-id> </citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sandhu</surname>
<given-names>J. P. S.</given-names>
</name>
<name>
<surname>Girdhar</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ramakrishnan</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Teja</surname>
<given-names>R. D.</given-names>
</name>
<name>
<surname>Ghosh</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Fest-3d: Finite-volume explicit structured 3-dimensional solver</article-title>. <source>J. Open Source Softw.</source> <volume>5</volume>, <fpage>1555</fpage>. <pub-id pub-id-type="doi">10.21105/joss.01555</pub-id> </citation>
</ref>
<ref id="B37">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Seo</surname>
<given-names>J. H.</given-names>
</name>
<name>
<surname>Mittal</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>A sharp-interface immersed boundary method with improved mass conservation and reduced spurious pressure oscillations</article-title>. <source>J. Comput. Phys.</source> <volume>230</volume>, <fpage>7347</fpage>&#x2013;<lpage>7363</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2011.06.003</pub-id> </citation>
</ref>
<ref id="B38">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Slater</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Examining spatial (grid) convergence</article-title>. <comment>[Dataset]</comment>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="https://www.grc.nasa.gov/www/wind/valid/tutorial/spatconv.html">https://www.grc.nasa.gov/www/wind/valid/tutorial/spatconv.html</ext-link>
</comment>. (<comment>Accessed September 26, 2022</comment>). </citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Swanson</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Langer</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Steady-state laminar flow solutions for naca 0012 airfoil</article-title>. <source>Comput. Fluids</source> <volume>126</volume>, <fpage>102</fpage>&#x2013;<lpage>128</lpage>. <pub-id pub-id-type="doi">10.1016/j.compfluid.2015.11.009</pub-id> </citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Takahashi</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Nonomura</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Fukuda</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>A numerical scheme based on an immersed boundary method for compressible turbulent flows with shocks : Application to two-dimensional flows around cylinders</article-title>. <source>J. Comput. Appl. Math.</source> <volume>2014</volume>, <fpage>21</fpage>. <pub-id pub-id-type="doi">10.1155/2014/252478</pub-id> </citation>
</ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tamaki</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Imamura</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Turbulent flow simulations of the common research model using immersed boundary method</article-title>. <source>AIAA J.</source> <volume>56</volume>, <fpage>2271</fpage>&#x2013;<lpage>2282</lpage>. <pub-id pub-id-type="doi">10.2514/1.j056654</pub-id> </citation>
</ref>
<ref id="B42">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tseng</surname>
<given-names>Y. H.</given-names>
</name>
<name>
<surname>Ferziger</surname>
<given-names>J. H.</given-names>
</name>
</person-group> (<year>2003</year>). <article-title>A ghost-cell immersed boundary method for flow in complex geometry</article-title>. <source>J. Comput. Phys.</source> <volume>192</volume>, <fpage>593</fpage>&#x2013;<lpage>623</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2003.07.024</pub-id> </citation>
</ref>
<ref id="B43">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Uhlmann</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2005</year>). <article-title>An immersed boundary method with direct forcing for the simulation of particulate flows</article-title>. <source>J. Comput. Phys.</source> <volume>209</volume>, <fpage>448</fpage>&#x2013;<lpage>476</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcp.2005.03.017</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>