<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMES</journal-id>
<journal-id journal-id-type="nlm-ta">CMES</journal-id>
<journal-id journal-id-type="publisher-id">CMES</journal-id>
<journal-title-group>
<journal-title>Computer Modeling in Engineering &#x0026; Sciences</journal-title>
</journal-title-group>
<issn pub-type="epub">1526-1506</issn>
<issn pub-type="ppub">1526-1492</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">69854</article-id>
<article-id pub-id-type="doi">10.32604/cmes.2025.069854</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Three-Dimensional Hybrid Model for Wave Interaction with Porous Layer</article-title>
<alt-title alt-title-type="left-running-head">Three-Dimensional Hybrid Model for Wave Interaction with Porous Layer</alt-title>
<alt-title alt-title-type="right-running-head">Three-Dimensional Hybrid Model for Wave Interaction with Porous Layer</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Ramesh</surname><given-names>Divya</given-names></name></contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Venkatachalam</surname><given-names>Sriram</given-names></name><email>vsriram@doe.iitm.ac.in</email></contrib>
<aff id="aff-1"><institution>Department of Ocean Engineering, Indian Institute of Technology Madras</institution>, <addr-line>Chennai, 600036</addr-line>, <country>India</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Sriram Venkatachalam. Email: <email>vsriram@doe.iitm.ac.in</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2026</year>
</pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>29</day><month>1</month><year>2026</year>
</pub-date>
<volume>146</volume>
<issue>1</issue>
<elocation-id>18</elocation-id>
<history>
<date date-type="received">
<day>02</day>
<month>07</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>11</day>
<month>10</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2026 The Authors.</copyright-statement>
<copyright-year>2026</copyright-year>
<copyright-holder>Published by Tech Science Press.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMES_69854.pdf"></self-uri>
<abstract>
<p>A hybrid model combining Fully Non-Linear Potential Flow Theory (FNPT) based on the Finite Element Method (FEM) and the Unified Navier-Stokes equation, using the 3D Improved Meshless Local Petrov Galerkin method with Rankine Source (IMLPG_R), is developed to study wave interactions with a porous layer. In previous studies, the above formulations are applied to wave interaction with fixed cylindrical structures. The present study extends this framework by integrating a unified governing equation within the hybrid modeling approach to capture the dynamics of wave interaction with porous media. The porous layers are employed to replicate the wave-dissipating behavior of the structure. A weak coupling strategy is implemented within a designated buffer zone, wherein field variables from the 2D Fully Nonlinear Potential Theory (FNPT) simulations are transferred to the 3D Improved Moving Least Squares-based Petrov-Galerkin (IMLPG_R) model at each time step. This domain decomposition significantly reduces computational cost compared to a full 3D simulation by partitioning the domain into two subregions: the FNPT domain representing the far-field without structures, and the IMLPG_R domain encompassing the porous region. The Unified Navier-Stokes formulation is extended by incorporating additional drag forces governed by Darcy&#x2019;s law to model the resistance introduced by the porous medium. A stationary background node framework is utilized for interpolation by fluid particles at each time step to accommodate the porous representation. To enhance numerical stability and accuracy, particularly in the presence of sloping boundaries, the Particle Shifting Technique (PST) is integrated into the IMLPG_R model. This implementation involves a modified version of the PST algorithm, where key parameters such as the weight function, velocity ratio, and radius of influence are optimized for IMLPG_R. This is the first time the application of 3D IMLPG_R for porous structure has been reported. Further, the model is subsequently validated against experimental data.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>FNPT</kwd>
<kwd>IMLPG_R</kwd>
<kwd>hybrid model</kwd>
<kwd>PST</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>Prime Minister&#x2019;s Research Fellowship</funding-source>
<award-id>SB22230924OEPMRF008608</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Wave-porous structure interaction is a critical area of study in coastal and ocean engineering, particularly in the design and analysis of coastal defenses such as breakwaters, submerged reefs, and other protective barriers. These porous structures typically composed of materials like rocks, concrete, or geotextiles and play a vital role in mitigating the impact of waves on shorelines, ports, and offshore installations. Understanding the wave interaction with porous media is essential for predicting the effectiveness in reducing wave energy, controlling erosion, and maintaining the stability of coastal environments. The interaction between waves and porous structures is a complex phenomenon that involves the transfer of energy, momentum, and mass between the fluid (wave) and the solid (porous structure). The presence of porosity within the structure introduces additional factors such as drag forces, wave attenuation, and dissipation, which must be accounted in the modeling and analysis of wave dynamics. These effects can significantly alter wave propagation, reduce wave height, and influence the wave-induced forces on the structure itself. Advanced computational models that combine fluid dynamics with porous media properties are essential for accurately capturing these interactions. Such models allow for a better understanding of the fluid flow through the porous material, the resistance it generates, and its impact on wave behavior. This knowledge is crucial for optimizing the design of coastal protection systems, ensuring their effectiveness, durability, and resilience to extreme wave events.</p>
<p>Numerical modeling of wave-porous structure interactions can be approached at either the microscopic or macroscopic scale. The microscopic approach involves modeling individual soil particles and analyzing the interaction of the wave with each particle. While this method can be accurate, it is computationally expensive and time-consuming. In contrast, the macroscopic model treats the porous structure as a whole, where wave energy is dissipated due to the collective drag forces of the soil particles. Although this approach may not provide precise force calculations on each individual particle, it allows for faster analysis of wave attenuation. This study focuses on wave attenuation, and therefore, the macroscopic model is used. The developed macroscopic model can be either mesh-based or meshless. In mesh-based approaches for wave&#x2013;porous structure interactions, various numerical techniques have been adopted. The Finite Element Method was applied in [<xref ref-type="bibr" rid="ref-1">1</xref>], the Finite Difference Method in [<xref ref-type="bibr" rid="ref-2">2</xref>], and the Finite Analytic Method in [<xref ref-type="bibr" rid="ref-3">3</xref>]. A two-phase (fluid&#x2013;air) model based on the Volume of Fluid (VOF) method was developed in [<xref ref-type="bibr" rid="ref-4">4</xref>]. The model proposed in [<xref ref-type="bibr" rid="ref-5">5</xref>] was enhanced by [<xref ref-type="bibr" rid="ref-6">6</xref>] using the VOF method to simulate wave overtopping of rubble-mound breakwaters. Applications of OpenFOAM in wave&#x2013;structure interactions, including breakwater and scour modeling, are discussed in [<xref ref-type="bibr" rid="ref-7">7</xref>].</p>
<p>Several three-dimensional (3D) models have also been developed. For instance, Ref. [<xref ref-type="bibr" rid="ref-8">8</xref>] investigated dam-break wave interactions with porous structures using 3D volume-averaged Navier&#x2013;Stokes (VANS) equations, incorporating turbulence through Large Eddy Simulation (LES). In [<xref ref-type="bibr" rid="ref-9">9</xref>], the VARANS equations were re-derived via a volume-averaging process, and the porous resistance coefficients were calibrated for dam-break cases. Subsequently, Ref. [<xref ref-type="bibr" rid="ref-10">10</xref>] developed the IHFOAM model, which solves the VARANS equations within the open-source framework OpenFOAM. All these models are based on a Eulerian framework.</p>
<p>In Lagrangian framework applications of the SPH method to porous media flows have been predominantly concentrated in civil engineering, particularly within hydraulic and coastal engineering disciplines. This emphasis is largely due to the practical challenges posed by fluid&#x2013;structure interactions involving permeable coastal defenses and other porous barriers. Such problems are commonly associated with free-surface flows, a context in which SPH has proven to be especially effective. Several studies employing the Weakly Compressible Smoothed Particle Hydrodynamics (WCSPH) approach have significantly advanced research in this field. For instance, the study in [<xref ref-type="bibr" rid="ref-11">11</xref>] investigated the width of the transition zone, while those in [<xref ref-type="bibr" rid="ref-12">12</xref>&#x2013;<xref ref-type="bibr" rid="ref-16">16</xref>] validated WCSPH formulations for wave&#x2013;current interactions involving porous media. Furthermore, the work in [<xref ref-type="bibr" rid="ref-17">17</xref>] extended the WCSPH method to simulate turbulent free-surface channel flows over porous gravel beds. In the context of turbulence modeling within SPH, the Sub-Particle Scale (SPS) approach is most commonly adopted, with occasional use of the k&#x2013;&#x03B5; model. The SPS method accounts for unresolved sub-grid-scale stresses at the particle level by employing an empirical model that relates these stresses to macroscopic flow variables [<xref ref-type="bibr" rid="ref-18">18</xref>&#x2013;<xref ref-type="bibr" rid="ref-21">21</xref>]. In contrast, the k&#x2013;&#x03B5; model adopts a more complex framework involving transport equations for turbulent kinetic energy (k) and its dissipation rate (&#x03B5;), but its performance is often sensitive to the calibration of several empirical constants [<xref ref-type="bibr" rid="ref-22">22</xref>&#x2013;<xref ref-type="bibr" rid="ref-25">25</xref>]. Nevertheless, despite these developments, turbulence modeling within WCSPH still faces challenges, particularly in capturing flow behavior near porous boundaries, indicating the need for continued refinement and validation of existing models.</p>
<p>Parallel developments have also been made using incompressible SPH (ISPH) and moving particle semi-implicit (MPS) methods. These approaches, reported in studies such as [<xref ref-type="bibr" rid="ref-26">26</xref>&#x2013;<xref ref-type="bibr" rid="ref-28">28</xref>] have been widely applied in coastal flow problems. Unlike WCSPH, ISPH and MPS solve Poisson&#x2019;s equation to implicitly determine pressure, thereby yielding more accurate pressure fields&#x2014;a key factor for resolving velocity and force distributions. However, these schemes are not without difficulties: configuring particle discretization so that the porous region has coarser spacing than the surrounding free-flow domain remains problematic. The abrupt change in resolution often induces spurious pressure oscillations near the interface, complicating numerical stability. Ref. [<xref ref-type="bibr" rid="ref-29">29</xref>] has reviewed all the available methods for wave porous structure interaction where the study concludes that the macroscopic model is well suited for coastal problems.</p>
<p>In our previous study [<xref ref-type="bibr" rid="ref-30">30</xref>], a two-dimensional wave&#x2013;porous interaction model was developed using IMLPG_R, which demonstrated satisfactory performance. Similarly, Ref. [<xref ref-type="bibr" rid="ref-31">31</xref>] proposed a modified moving particle method that incorporated turbulence effects at the interface zone. Their findings showed that sharp velocity gradients at the interface can induce small turbulent jets, which were addressed through the implementation of a sub-particle scale (SPS) turbulence model to improve accuracy. In contrast, the present study extends our earlier work [<xref ref-type="bibr" rid="ref-30">30</xref>] by modeling the interface with a smooth velocity transition achieved through linearly varying porosity. This treatment reduces steep velocity gradients and suppresses the formation of small turbulent jets, and therefore turbulence effects are neglected in the current formulation. While these studies were primarily limited to two-dimensional cases, Ref. [<xref ref-type="bibr" rid="ref-32">32</xref>] also introduced a hybrid model to investigate wave&#x2013;structure interactions. However, Lagrangian-based approaches remain relatively rare due to their high computational cost. More recently, Ref. [<xref ref-type="bibr" rid="ref-33">33</xref>] presented a three-dimensional Lattice Boltzmann model for simulating wave interaction with permeable structures with LES incorporated. This study shows the computational efficiency of the developed 3D Lattice Boltzmann method compared to other available SPH models.</p>
<p>In the present study, a hybrid model combining both mesh-based and mesh-free methods is employed to reduce computation time. This approach leverages the strengths of both models, enhancing accuracy. The FNPT model is irrotational and excludes viscous terms, while the 3D IMLPG_R model accounts for viscosity, incorporating additional drag forces from the soil particles. The larger domain is divided into two regions: the FNPT model is used in areas without the structure, and the 3D IMLPG_R model is applied to regions containing the porous structure. A buffer zone is introduced, where field variables from the FNPT model are transferred to the 3D IMLPG_R model. <xref ref-type="fig" rid="fig-1">Fig. 1</xref> gives an overview of the hybrid model. Ref. [<xref ref-type="bibr" rid="ref-32">32</xref>] demonstrated the efficiency of this hybrid model in simulating wave interactions with cylinders. This study extends their work by applying the model to wave-porous structure interactions. Ref. [<xref ref-type="bibr" rid="ref-32">32</xref>] shows the developed model for a flat-bottomed bed, which was later extended to include a sloping bottom in our previous study [<xref ref-type="bibr" rid="ref-34">34</xref>]. However, when the sloping bed was introduced, the particle distribution became uneven, and a significant gap appeared between the bottom bed and the fluid as the wave propagated. In our 2D IMLPG_R, the gaps between the particles are addressed using a minimum pressure gradient and interpolation as given in [<xref ref-type="bibr" rid="ref-35">35</xref>]. In 3D IMLPG, Ref. [<xref ref-type="bibr" rid="ref-32">32</xref>] adopted the re-distribution of the nodes. However, for complex geometry, redistribution of the nodes will not be effective. To address this issue, the Particle Shifting Algorithm (PST) was applied.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Overview of the hybrid model</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-1.tif"/>
</fig>
<p>The study by [<xref ref-type="bibr" rid="ref-36">36</xref>] developed a PST algorithm for incompressible flows using Smooth Particle Hydrodynamics (SPH), building on the earlier work of [<xref ref-type="bibr" rid="ref-37">37</xref>]. In [<xref ref-type="bibr" rid="ref-38">38</xref>], various PST algorithms were reviewed, and their limitations were highlighted. Some of the reviewed PST algorithms include: the method proposed in [<xref ref-type="bibr" rid="ref-39">39</xref>], where the PST algorithm does not rely on Fick&#x2019;s law but instead updates particle positions based on the velocity of neighboring particles, with consistency ensured by adding a correction term; and the approach in [<xref ref-type="bibr" rid="ref-37">37</xref>], where the PST algorithm is formulated on the basis of Fick&#x2019;s law, and a velocity limit is imposed in deriving the concentration gradient. Ref. [<xref ref-type="bibr" rid="ref-40">40</xref>] shows a quasi-Lagrangian shifting where the influence of Mach number comes into picture. Ref. [<xref ref-type="bibr" rid="ref-41">41</xref>] developed a consistent approach of particle shifting which can be applied for compressible flow.</p>
<p>The generalized particle shifting technique proposed in [<xref ref-type="bibr" rid="ref-36">36</xref>] incorporates the dimensionality factor in the diffusion term, enabling seamless application to both two- and three-dimensional flows. Previous PST-based studies were often associated with high computational costs and challenges in selecting appropriate shifting coefficients, many of which were based on Mach number criteria and thus not suitable for the present study. Since the current model assumes incompressible flow, the PST algorithm of [<xref ref-type="bibr" rid="ref-36">36</xref>] was adopted and implemented with modifications to the weighting function and velocity ratio. This method was chosen because it is computationally efficient and provides a systematic approach for selecting shifting vectors, avoiding <italic>ad-hoc</italic> criteria. The PST algorithm works by redistributing particles from areas of high concentration to regions of lower concentration. This diffusion follows Fick&#x2019;s law. The developed model along with the PST algorithm is used to validate for single porous layer flow and multi porous layer.</p>
<p>This paper is organized as follows; after the introduction section, the hybrid model is explained giving the governing equation for both 2D FNPT and IMLPG_R in <xref ref-type="sec" rid="s1">Section 1</xref>. <xref ref-type="sec" rid="s2">Section 2</xref> gives the numerical algorithm followed in 3D IMLPG_R. <xref ref-type="sec" rid="s3">Section 3</xref> gives the problems caused due to the introduction of sloping bed and the PST algorithm applied. <xref ref-type="sec" rid="s4">Section 4</xref> gives the validation of developed model for single trapezoidal breakwater and two-layer trapezoidal breakwater. <xref ref-type="sec" rid="s5">Section 5</xref> gives the further studies done for solitary wave interaction with porous layer.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Governing Equation and Boundary Condition</title>
<p><bold>Governing equation for 2D FNPT:</bold></p>
<p>FNPT assumes the fluid to be incompressible, irrotational and inviscid. The governing equation is the 2D Laplacian equation of velocity potential &#x03D5;(x,z,t) and is given in <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>. Here a 2D plane of XZ is used, where Z &#x003D; 0 at the bottom and goes positive in the vertical direction.
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msup><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>&#x03D5;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msup><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>&#x03D5;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msup><mml:mi>z</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></disp-formula></p>
<p>The left boundary &#x0413;<sub><italic>w</italic></sub> of the 2D domain is the wave maker. Neumann boundary condition given in <xref ref-type="disp-formula" rid="eqn-2a">Eq. (2a)</xref> is applied on the boundary &#x0413;<sub><italic>w</italic></sub>. The bottom &#x0413;<sub><italic>b</italic></sub> and the right boundary &#x0413;<sub><italic>r</italic></sub> has the condition given in <xref ref-type="disp-formula" rid="eqn-2b">Eq. (2b)</xref>. Free surface &#x0413;<sub><italic>f</italic></sub> is assumed to be non-breaking and with non-linear dynamic free surface boundary condition derived from Bernoullis equation as given in <xref ref-type="disp-formula" rid="eqn-2c">Eq. (2c)</xref>.
<disp-formula id="eqn-2a"><label>(2a)</label><mml:math id="mml-eqn-2a" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>&#x03D5;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mspace width="1em" /><mml:mrow><mml:mtext>at&#xA0;</mml:mtext></mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>&#xA0;on</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msub><mml:mi mathvariant="normal">&#x0393;</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-2b"><label>(2b)</label><mml:math id="mml-eqn-2b" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>&#x03D5;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>on</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msub><mml:mi mathvariant="normal">&#x0393;</mml:mi><mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mtext>&#xA0;and</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msub><mml:mi mathvariant="normal">&#x0393;</mml:mi><mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-2c"><label>(2c)</label><mml:math id="mml-eqn-2c" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>&#x03D5;</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>g</mml:mi><mml:mi>&#x03B7;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mi>&#x03D5;</mml:mi><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mi>&#x03D5;</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>on</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msub><mml:mi mathvariant="normal">&#x0393;</mml:mi><mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mrow><mml:mover><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is the wave probe velocity, <italic>g</italic> is the acceleration due to gravity and <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>&#x03B7;</mml:mi></mml:math></inline-formula> is the free surface elevation. The initial condition is assumed as <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>&#x03B7;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> at time <italic>t</italic> &#x003D; 0. Solution for this problem is obtained using Finite element method (FEM) with structured triangular mesh which has a variable spacing along the water depth. Ref. [<xref ref-type="bibr" rid="ref-42">42</xref>] explains the further details of this numerical model. An absorption layer is implemented upstream of the right boundary wall to attenuate the propagating wave and prevent reflections. In the present model, the length of the absorption layer is typically set to three times the wavelength of the incoming wave [<xref ref-type="bibr" rid="ref-43">43</xref>].</p>
<p><bold>Governing equation for 3D IMLPG_R:</bold></p>
<p>The governing formulation for three-dimensional porous flow within the IMLPG_R framework was originally established in the seminal work of [<xref ref-type="bibr" rid="ref-44">44</xref>], where the pressure gradient was demonstrated to vary linearly with the flow velocity through the introduction of the permeability coefficient&#x2014;indicating that higher permeability facilitates greater fluid motion within the porous domain. Darcy&#x2019;s law, which embodies this linear relationship, is applicable primarily to laminar flows characterized by low permeability. To extend its applicability to turbulent regimes, Ref. [<xref ref-type="bibr" rid="ref-45">45</xref>] incorporated a nonlinear drag term, wherein the resistance force varies with the square of the fluid velocity. Subsequently, Ref. [<xref ref-type="bibr" rid="ref-46">46</xref>] enhanced the model by including a virtual mass coefficient in the local acceleration term to account for added inertia effects.</p>
<p>In the context of wave&#x2013;porous structure interactions, the resulting governing equations incorporate additional resistance components: a linear drag term representing laminar flow, a nonlinear drag term corresponding to turbulent flow, and a virtual mass term for inertial effects. The momentum equation thus attains a unified form, encompassing both linear and nonlinear drag contributions as expressed in <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref>. Following the approach proposed in [<xref ref-type="bibr" rid="ref-26">26</xref>], this formulation is implemented within a Lagrangian framework, wherein a single governing equation is applied seamlessly across both fluid and porous regions, with porosity serving as the distinguishing variable. The three-dimension model is based on Cartessian coordinates of OXYZ with Z &#x003D; 0 and goes positive in the vertical direction. The velocity vector in three dimension is given as <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:msub><mml:mrow><mml:mover><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mover><mml:mi mathvariant="bold-italic">i</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mover><mml:mi mathvariant="bold-italic">j</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mover><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:msub><mml:mrow><mml:mover><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">0</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">r</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">w</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi><mml:msub><mml:mrow><mml:mover><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi><mml:mi mathvariant="bold-italic">t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">1</mml:mtext></mml:mrow></mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">&#x03C1;</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">w</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle><mml:mrow><mml:mover><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">&#x03D1;</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mi mathvariant="bold-italic">f</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="bold">2</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mover><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">a</mml:mi><mml:msub><mml:mrow><mml:mover><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">b</mml:mi><mml:msub><mml:mrow><mml:mover><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>here, <italic>C</italic><sub><bold><italic>r</italic></bold></sub> denotes the inertia coefficient, <italic>n</italic><sub><bold><italic>w</italic></bold></sub> represents the porosity, <italic>P</italic> is the pressure, and &#x03C5;<sub><bold><italic>eff</italic></bold></sub> corresponds to the effective viscosity as defined by Brinkman [<xref ref-type="bibr" rid="ref-47">47</xref>]. The coefficients <italic>a</italic> and <italic>b</italic> signify the linear and nonlinear drag terms, respectively, while <italic>g</italic> and <italic>&#x03C1;</italic><sub><bold><italic>w</italic></bold></sub> denote the gravitational acceleration and fluid density. This formulation provides a unified governing equation applicable to the entire computational domain, thereby eliminating the need for explicit interface treatment between the fluid and porous regions.
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03D1;</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi><mml:mi>f</mml:mi><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x03D1;</mml:mi></mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>In this context, &#x03C5; denotes the kinematic viscosity. The pressure at the free surface is considered to be zero (<italic>P</italic> &#x003D; 0). The kinematic boundary condition, expressed in Lagrangian form, is given by <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:mover><mml:mi>r</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, where <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mrow><mml:mover><mml:mi>r</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> represents the position vector and <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> denotes the velocity vector of the fluid particle.</p>
<p>On solid boundary, the following condition has to be satisfied,
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mover><mml:mi>n</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>n</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:msub><mml:mrow><mml:mover><mml:mi>U</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mover><mml:mi>n</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mrow><mml:mover><mml:mi>n</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03D1;</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>f</mml:mi><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>a</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>b</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mover><mml:mi>g</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mover><mml:mi>U</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>here, <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mover><mml:mi>U</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> denotes the acceleration of the solid boundary, and <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msub><mml:mrow><mml:mover><mml:mi>U</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents its velocity. The linear and nonlinear drag coefficients, <italic>a</italic> and <italic>b</italic>, are functions of the Reynolds number and the prevailing flow regime. The linear drag component predominates under laminar conditions, whereas the nonlinear term becomes significant in turbulent flows. The generalized expressions for these coefficients are presented below, wherein the exponents <italic>k</italic>, <italic>m</italic>, and <italic>n</italic> vary depending on experimental observations reported in [<xref ref-type="bibr" rid="ref-48">48</xref>].
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03D1;</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msubsup><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mn>50</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="1em" /><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msubsup><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>50</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="1em" /><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle><mml:mi>&#x03B3;</mml:mi><mml:mspace width="1em" /><mml:mrow><mml:mtext>&#xA0;with&#xA0;</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>&#x03B3;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.34</mml:mn></mml:math></disp-formula></p>
</sec>
<sec id="s3">
<label>3</label>
<title>Numerical Algorithm and Hybrid Model Layout</title>
<p>The governing equation, together with the associated boundary conditions, is solved using the time-splitting algorithm proposed by Chorin [<xref ref-type="bibr" rid="ref-49">49</xref>], as detailed below,</p>
<p>(a) Compute the intermediate velocity by neglecting the pressure term in <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref>, yielding:
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msubsup><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">d</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>&#x03D1;</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>f</mml:mi><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>a</mml:mi><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-11a"><label>(11a)</label><mml:math id="mml-eqn-11a" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="bold">*</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">n</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-11b"><label>(11b)</label><mml:math id="mml-eqn-11b" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="bold">*</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-11c"><label>(11c)</label><mml:math id="mml-eqn-11c" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msup><mml:mi>z</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="bold">*</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">n</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>(b) The Pressure Poisson Equation (PPE) is solved using the intermediate velocity within a semi-implicit framework.
<disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:msup><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mi>P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mi>t</mml:mi><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msubsup><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /></mml:math></disp-formula></p>
<p>(c) The pressure gradient at the <italic>n</italic>&#x002B;1 time step is then employed to compute the Darcy velocity at the same step.
<disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msubsup><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mi>t</mml:mi><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msup><mml:mi>P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msubsup><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mi>t</mml:mi><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msup><mml:mi>P</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mrow><mml:mover><mml:mi>g</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>(d) Utilizing the Darcy velocity, the fluid particle velocities <italic>u</italic><sub><italic>f</italic></sub>, <italic>v</italic><sub><italic>f</italic></sub> and <italic>w</italic><sub><italic>f</italic></sub> in X, Y and Z directions, respectively, are determined from <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref>, after which the position vectors are updated accordingly based on the computed fluid velocities.
<disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle><mml:mo>;</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msubsup><mml:mi>v</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle><mml:mo>;</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>;</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>;</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>(e) The simulation is advanced iteratively until the desired end time is reached.</p>
<p>The Pressure Poisson Equation (<xref ref-type="disp-formula" rid="eqn-12">Eq. (12)</xref>) is solved using the Improved Meshless Local Petrov&#x2013;Galerkin (IMLPG_R) method. In this approach, the PPE is expressed in a weak formulation, with the pressure locally integrated over the domain. A Rankine source function is employed as the test function and applied to the PPE, as shown in <xref ref-type="disp-formula" rid="eqn-17">Eq. (17)</xref>.
<disp-formula id="eqn-17"><label>(17)</label><mml:math id="mml-eqn-17" display="block"><mml:mi>&#x03C6;</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi>l</mml:mi><mml:mi>n</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mi>r</mml:mi><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the radius of influence of the support domain. <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>&#x03C6;</mml:mi></mml:math></inline-formula> becomes zero at the boundary <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi mathvariant="normal">&#x2202;</mml:mi></mml:math></inline-formula>&#x03A9; and satisfies <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msup><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>&#x03C6;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> in domain <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> excluding the center and the boundary <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mi mathvariant="normal">&#x2202;</mml:mi></mml:math></inline-formula>&#x03A9;. This is applied to the PPE and we get,
<disp-formula id="eqn-18"><label>(18)</label><mml:math id="mml-eqn-18" display="block"><mml:msub><mml:mo>&#x222B;</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:msup><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>P</mml:mi><mml:mi>&#x03C6;</mml:mi><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mo>&#x222B;</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">d</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msubsup><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi>&#x03C6;</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>Applying Gauss&#x2019;s theorem, the <xref ref-type="disp-formula" rid="eqn-18">Eq. (18)</xref> can be converted to surface integral as given below,
<disp-formula id="eqn-19"><label>(19)</label><mml:math id="mml-eqn-19" display="block"><mml:msub><mml:mo>&#x222B;</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mover><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mi>&#x03C6;</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">d</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mo>&#x222B;</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /></mml:mrow></mml:msubsup><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mi>&#x03C6;</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>The boundary conditions are applied in <xref ref-type="disp-formula" rid="eqn-19">Eq. (19)</xref>, where boundary, i.e., the velocity and pressure information from FNPT model, the solid boundary and the free surface boundary as given in <xref ref-type="disp-formula" rid="eqn-7">Eqs. (7)</xref> and <xref ref-type="disp-formula" rid="eqn-8">(8)</xref>.</p>
<p>Now, the pressure <italic>P</italic> is discretized using the moving least square approximation as,
<disp-formula id="eqn-20"><label>(20)</label><mml:math id="mml-eqn-20" display="block"><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2248;</mml:mo><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>J</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mrow><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:msub><mml:mrow><mml:mover><mml:mi>P</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>J</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>where, <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mi>&#x03D5;</mml:mi></mml:math></inline-formula> is the shape function. After applying the solid and free surface boundary conditions in <xref ref-type="disp-formula" rid="eqn-19">Eq. (19a)</xref>, the final matrix is given below,
<disp-formula id="eqn-21"><label>(21)</label><mml:math id="mml-eqn-21" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mover><mml:mi>P</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-22a"><label>(22a)</label><mml:math id="mml-eqn-22a" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>4</mml:mn><mml:mi>&#x03C0;</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mo>&#x222B;</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mrow><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mrow><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>I</mml:mi><mml:mi>n</mml:mi><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi><mml:mi>l</mml:mi><mml:mi>u</mml:mi><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mi>n</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mrow><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>B</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mrow><mml:mi>J</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>e</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>s</mml:mi><mml:mi>u</mml:mi><mml:mi>f</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo>}</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-22b"><label>(22b)</label><mml:math id="mml-eqn-22b" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>N</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mn>4</mml:mn><mml:mi>&#x03C0;</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mo>&#x222B;</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /></mml:mrow></mml:msubsup><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03A9;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>I</mml:mi><mml:mi>n</mml:mi><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi><mml:mi>l</mml:mi><mml:mi>u</mml:mi><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>N</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mrow><mml:mover><mml:mi>n</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>U</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>b</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>e</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>s</mml:mi><mml:mi>u</mml:mi><mml:mi>r</mml:mi><mml:mi>f</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo>}</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where, <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mi>N</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>.</p>
<p>In the stiffness matrix, <xref ref-type="disp-formula" rid="eqn-22a">Eq. (22a)</xref>, the integral of the inner fluid particle is solved by a semi-analytical method, where a sphere is considered with numerical integration points assigned on the sphere. <xref ref-type="disp-formula" rid="eqn-23">Eq. (23)</xref> is arrived based on [<xref ref-type="bibr" rid="ref-50">50</xref>] where the pressure is numerically integrated to the six points on the sphere. Moving Least Square (MLS) interpolation is used to get the values of the variables at the integration points. All the gradient forms are interpolated using SFDI [<xref ref-type="bibr" rid="ref-51">51</xref>].
<disp-formula id="eqn-23"><label>(23)</label><mml:math id="mml-eqn-23" display="block"><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mn>6</mml:mn></mml:mfrac></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">d</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mn>12</mml:mn></mml:mfrac></mml:mstyle><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>5</mml:mn></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>6</mml:mn></mml:mrow><mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p><xref ref-type="fig" rid="fig-2">Fig. 2</xref> gives the layout of the developed hybrid model, where the FNPT model is used to simulate the waves and get the input field variables for IMLPG_R. Meanwhile the IMLPG_R domain is kept ready with the background mesh consisting of porosity information. Once the input file from 2D FNPT is ready, it is applied at the buffer zone and further simulations are carried out. The 2D FNPT model field variables thus arrived will be in two dimensions. These field variables are further extended to third dimension (Y direction) in the IMLPG_R model, as we are interested in the uni-directional waves. The interpolation is based on [<xref ref-type="bibr" rid="ref-50">50</xref>].</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Layout of the hybrid model</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-2.tif"/>
</fig>
<sec id="s3_1">
<label>3.1</label>
<title>Necessity of PST Algorithm</title>
<p>The existing model is modified to incorporate the sloping bottom. However, during implementation it has been noticed there was a big gap generated at the wall boundaries and the simulation breaks down. The developed algorithm and coefficients are investigated for three cases (a) by including a step (b) by including a steep slope (C) by including a mild slope wall as shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>. The numerical simulation is carried out for each case and investigated for the stability and improvement of accuracy.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Test cases for different bottom configurations (<bold>a</bold>) step wall (<bold>b</bold>) steep slope wall (<bold>c</bold>) mild slope wall</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-3.tif"/>
</fig>
<p>In order to implement the sloping wall, the following changes are required in the present 3D IMLPG-R model.
<list list-type="simple">
<list-item><label>a.</label><p>Inclusion of Directional components in the computation of Stiffness and Force matrix</p></list-item>
<list-item><label>b.</label><p>Velocity to be updated based on the directional components</p></list-item>
</list></p>
<p>These changes are done in the existing 3D IMLPG-R code. Once the changes are carried out, each of the above three cases have been simulated. Ref. [<xref ref-type="bibr" rid="ref-34">34</xref>] gives the details for each sloping bed. The particle arrangement played a significant role in the mild slope wall. When the mild slope wall was arranged with constant number of particles along the water depth as given in <xref ref-type="fig" rid="fig-4">Fig. 4a</xref>, the simulation stops abruptly. This might be due to two reasons (a) very high particle density above the slope (b) error in the pressure solver is not within the limit. The particle spacing above the slope has been reduced, which further increases the computation time. Thus, the particle arrangements were modified as given in <xref ref-type="fig" rid="fig-4">Fig. 4b</xref>, where the number of particles along the depth is not constant.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Particle arrangement for mild slope (<bold>a</bold>) number of particles same across the depth (Arrangement 1) (<bold>b</bold>) variable number of particles at each <italic>x</italic> locations across the depth (Arrangement 2)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-4.tif"/>
</fig>
<p>This arrangement of particle leads to particle gap above the slope as given in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>. This gap is not prominent on the initial time steps but once a wave passes the slope, it increases. This increase in gap leads to singular matrix meaning there occurs one or more empty rows/columns in the stiffness matrix of the bottom wall particle present below the gap. This would further reduce the accuracy of the simulation in case of regular waves. Thus, particles need to be oriented properly and one needs to avoid the gaps, leading to the implementation of the PST algorithm into the existing 3D IMLPG_R model.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Particle gap between the fluid and bottom wall (<italic>x</italic>-axis along the length of the tank)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-5.tif"/>
</fig>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>PST Algorithm</title>
<p>The PST algorithm based on [<xref ref-type="bibr" rid="ref-36">36</xref>] is considered for the present model. PST is based on Fick&#x2019;s law of diffusion, where the concentration gradient is used. The particles are shifted based on the concentration gradient in each particle. In [<xref ref-type="bibr" rid="ref-36">36</xref>], they have used this PST for incompressible smooth particle hydrodynamic method. The shifting vector <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mi>&#x03B4;</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is computed as given below
<disp-formula id="eqn-24"><label>(24)</label><mml:math id="mml-eqn-24" display="block"><mml:mi>&#x03B4;</mml:mi><mml:msub><mml:mrow><mml:mover><mml:mi>r</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msup><mml:mi>h</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mn>2</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo></mml:mrow><mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:math></disp-formula>where <italic>h</italic> is the radius of the influence for particle under consideration, <italic>d</italic> is the dimension, <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the concentration gradient, <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo></mml:math></inline-formula> absolute velocity of the particle in consideration, <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow></mml:math></inline-formula> is the maximum absolute velocity in the whole domain. The concentration gradient of each particle is computed using the <xref ref-type="disp-formula" rid="eqn-25">Eq. (25)</xref>
<disp-formula id="eqn-25"><label>(25)</label><mml:math id="mml-eqn-25" display="block"><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:munder><mml:mrow><mml:mo>[</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>g</mml:mi></mml:mrow></mml:msub><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mi>W</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>h</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>where <italic>W</italic><sub><italic>ij</italic></sub> is the weight function, <italic>R</italic><sub><italic>i</italic></sub> is the ratio <italic>r</italic><sub><italic>ij</italic></sub><italic>/h</italic>. The vector <italic>r</italic><sub><italic>ij</italic></sub> is the distance between &#x2018;<italic>i</italic>&#x2019; particle and &#x2018;<italic>j</italic>&#x2019; particle. The constants <italic>C</italic><sub><italic>g</italic></sub> and <italic>n</italic> are given as 0.2 and 4.0, respectively. Once this shifting vector is arrived for each particle, the velocity and pressure are corrected based on interpolation as below,
<disp-formula id="eqn-26"><label>(26)</label><mml:math id="mml-eqn-26" display="block"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover><mml:mi mathvariant="normal">&#x2207;</mml:mi><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></disp-formula>where <italic>&#x03D5;</italic> is the pressure or velocity of the particle under consideration and <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the shape function of all nearby particle. The weight function <italic>W</italic><sub><italic>ij</italic></sub> and velocity ratio <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:mi>u</mml:mi><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula> plays a crucial role in the PST algorithm.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Optimization of the PST Algorithm</title>
<p>The PST algorithm based on [<xref ref-type="bibr" rid="ref-36">36</xref>] was originally applied for SPH method. Thus, the crucial factors like weight function, the smoothing length, the velocity ratio and the constants are required to be modified for the developed IMLPG-R model. Each parameter has been systematically investigated as given below, so that the particle distribution is well maintained.</p>
<sec id="s3_3_1">
<label>3.3.1</label>
<title>Weight Function Optimization</title>
<p>The weight function is a function of the normalized radius or effective radius (<italic>r</italic>), where the normalized radius is determined by the distance between two nodes. The weight function plays a crucial role in computing the shape functions at each node, as the smoothness of the function depends on the selection of an appropriate weight function in meshless methods. Each weight function exhibits its own behavior in assigning the proper weight to the nodes. Thus, a good weight function will not only provide results that align well with exact solutions, but it should also be robust in terms of convergence and computational efficiency. The following weight functions for the PST were investigated.
<disp-formula id="eqn-27"><label>(27)</label><mml:math id="mml-eqn-27" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>2</mml:mn><mml:mrow><mml:mi>&#x03C0;</mml:mi><mml:msup><mml:mi>h</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>3</mml:mn><mml:mn>16</mml:mn></mml:mfrac></mml:mstyle><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>3</mml:mn><mml:mn>4</mml:mn></mml:mfrac></mml:mstyle><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>3</mml:mn><mml:mn>4</mml:mn></mml:mfrac></mml:mstyle><mml:mo>;</mml:mo></mml:mtd><mml:mtd><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>2</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:mn>2</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-28"><label>(28)</label><mml:math id="mml-eqn-28" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>2</mml:mn><mml:mn>3</mml:mn></mml:mfrac></mml:mstyle><mml:mo>&#x2212;</mml:mo><mml:mn>4</mml:mn><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msubsup><mml:mo>;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>0.5</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>4</mml:mn><mml:mn>3</mml:mn></mml:mfrac></mml:mstyle><mml:mo>&#x2212;</mml:mo><mml:mn>4</mml:mn><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>16</mml:mn><mml:mn>3</mml:mn></mml:mfrac></mml:mstyle><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msubsup><mml:mo>;</mml:mo></mml:mtd><mml:mtd><mml:mn>0.5</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-29"><label>(29)</label><mml:math id="mml-eqn-29" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>7</mml:mn><mml:mrow><mml:mn>478</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:msup><mml:mi>h</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mn>4</mml:mn><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mn>2</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>2</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>}</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-30"><label>(30)</label><mml:math id="mml-eqn-30" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mi>c</mml:mi><mml:mrow><mml:mi>&#x03C0;</mml:mi><mml:msup><mml:mi>h</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:msup><mml:mo>;</mml:mo></mml:mtd><mml:mtd><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>2</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:mn>2</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-31"><label>(31)</label><mml:math id="mml-eqn-31" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mn>6</mml:mn><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mn>8</mml:mn><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mn>3</mml:mn><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup><mml:mo>;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-32"><label>(32)</label><mml:math id="mml-eqn-32" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>0.3</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where the <xref ref-type="disp-formula" rid="eqn-27">Eqs. (27)</xref>&#x2013;<xref ref-type="disp-formula" rid="eqn-29">(29)</xref> are the Quadratic spline, Cubic spline, Piecewise quintic, in which Ref. [<xref ref-type="bibr" rid="ref-2">2</xref>] used Piecewise quintic. <xref ref-type="disp-formula" rid="eqn-30">Eqs. (30)</xref>&#x2013;<xref ref-type="disp-formula" rid="eqn-32">(32)</xref> are Gaussian, Quartic spline and exponential weight function that has been included as it was adopted in our MLPG algorithms. The variation of weight function for normalized radius is given in <xref ref-type="fig" rid="fig-6">Fig. 6</xref>. It is very clear that the weight values are different for each weight functions and this will impact the PST. To understand, which weight function works efficiently for the developed hybrid model, the <italic>W</italic><sub><italic>ij</italic></sub> value in <xref ref-type="disp-formula" rid="eqn-25">Eq. (25)</xref> is varied based on different weight function given from <xref ref-type="disp-formula" rid="eqn-27">Eqs. (27)</xref>&#x2013;<xref ref-type="disp-formula" rid="eqn-32">(32)</xref>. The simulations are carried out for the numerical stability for each weight function.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Weight vs. normalized radius for different weight function</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-6.tif"/>
</fig>
<p><xref ref-type="table" rid="table-1">Table 1</xref> provides the details of the simulations conducted for each weight function. The total simulation timestep adopted is 3200, with a regular wave height of 0.075 m, a period of 1.6 s, in a water depth of 0.3 m. The numerical tank features a sloping bed that begins at 1 m in the IMLPG_R domain, where the water depth after the slope is set to 0.2 m. The particle spacing adopted is 0.015 m with the timestep of 0.005 s. It was observed that the simulations for the Piecewise, Quartic spline, and Exponential weight functions did not work for the hybrid model. This issue is likely due to the weight exceeding 0.5, when particles are close together, as shown in <xref ref-type="fig" rid="fig-6">Fig. 6</xref>. Additionally, the weight values for the Quadratic spline, Cubic spline, and Gaussian are below 0.5, meaning that lower weight values would lead to a decrease in concentration gradient, which would further enhance the shifting vector. The issue with the cubic spline and Gaussian functions was their inability to handle the corner near the slope, causing disturbances. <xref ref-type="fig" rid="fig-7">Fig. 7</xref> illustrates the errors encountered in these two cases. In the present test case, the distribution from Quadratic spline is better and considered for the further investigation.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Optimum weight function in PST</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center" width="72mm"/>
</colgroup>
<thead>
<tr>
<th>Weight function</th>
<th>Breakdown timestep</th>
<th>Suitability in present hybrid model</th>
</tr>
</thead>
<tbody>
<tr>
<td>Quadratic spline</td>
<td>3200</td>
<td>Highly suitable, simulation completed without any instability.</td>
</tr>
<tr>
<td>Cubic spline</td>
<td>2886</td>
<td>Preferable, but instability was observed due to gaps in particles.</td>
</tr>
<tr>
<td>Piecewise quintic</td>
<td>0</td>
<td>Not suitable, simulation breaks down.</td>
</tr>
<tr>
<td>Gaussian</td>
<td>2775</td>
<td>Preferable, but instability was observed due to gaps in particles.</td>
</tr>
<tr>
<td>Quartic spline</td>
<td>0</td>
<td>Not suitable, simulation breaks down.</td>
</tr>
<tr>
<td>Exponential</td>
<td>0</td>
<td>Not suitable, simulation breaks down.</td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Particle instability using Cubic Spline. Similar observation is noticed for Gaussian Weight and not reproduced (Pressure in Pa). The <italic>x</italic>-axis along the length of the tank</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-7.tif"/>
</fig>
</sec>
<sec id="s3_3_2">
<label>3.3.2</label>
<title>The Constants and Radius of Influence Domain</title>
<p>Apart from the weight functions, the other factors like the constants <italic>C</italic><sub><italic>g</italic></sub>, <italic>n</italic> in <xref ref-type="disp-formula" rid="eqn-25">Eq. (25)</xref> were investigated and the influence in the results are carried out. <xref ref-type="table" rid="table-2">Table 2</xref> combines the results for each set of <italic>C</italic><sub><italic>g</italic></sub> and <italic>n</italic> values used. It was found that the constant value <italic>C</italic><sub><italic>g</italic></sub> &#x003D; 0.3 and <italic>n</italic> &#x003D; 2 is found to be suitable.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Optimal value of constants &#x2018;<italic>C</italic><sub><italic>g</italic></sub>&#x2019; And &#x2018;<italic>n</italic>&#x2019;</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
</colgroup>
<thead>
<tr>
<th><italic>C</italic><sub><italic>g</italic></sub></th>
<th><italic>n</italic></th>
<th>Breakdown timesteps</th>
<th>Suitability</th>
</tr>
</thead>
<tbody>
<tr>
<td>0.2</td>
<td>2</td>
<td>2187</td>
<td>Not Preferred, simulation breaks down due to gaps</td>
</tr>
<tr>
<td>0.3</td>
<td>2</td>
<td>3200</td>
<td>Highly Suitable</td>
</tr>
<tr>
<td>0.35</td>
<td>2</td>
<td>1875</td>
<td>Not Preferred, simulation breaks down due to gaps</td>
</tr>
<tr>
<td>0.5</td>
<td>2</td>
<td>1870</td>
<td>Not Preferred, simulation breaks down due to gaps</td>
</tr>
<tr>
<td>0.3</td>
<td>1</td>
<td>2149</td>
<td>Not Preferred, simulation breaks down due to gaps</td>
</tr>
<tr>
<td>0.3</td>
<td>4</td>
<td>1911</td>
<td>Not Preferred, simulation breaks down due to gaps</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The next factor which was taken into consideration was the radius of influence &#x2018;<italic>h</italic>&#x2019;. The &#x2018;<italic>h</italic>&#x2019; value was taken as an average of the <italic>h</italic><sub><italic>i</italic></sub> and <italic>h</italic><sub><italic>j</italic></sub> in a domain. This means when weight of particle &#x2018;<italic>i</italic>&#x2019; is computed then the <italic>h</italic><sub><italic>ij</italic></sub> &#x003D; &#x03C5;&#x002A; (<italic>h</italic><sub><italic>i</italic></sub> &#x002B;<italic>h</italic><sub><italic>j</italic></sub>)/2 is used, in which <italic>h</italic><sub><italic>i</italic></sub> is the radius of influence of &#x2018;<italic>i</italic>&#x2019; particle and <italic>h</italic><sub><italic>j</italic></sub> is the radius of influence of &#x2018;<italic>j</italic>&#x2019; particle. This was considered to take into the effect of the <italic>j</italic> particle. A factor &#x2018;&#x03C5;&#x2019; is multiplied to this average value to get the optimum value, this works better for the developed model. <xref ref-type="table" rid="table-3">Table 3</xref> gives the details of the factor &#x2018;&#x03C5;&#x2019; that works better for the PST algorithm. It was also found that same value of &#x2018;&#x03C5;&#x2019; didn&#x2019;t work out well for fluid and wall particles, hence different values are adopted. It was found that for factor &#x03C5;<sub>f</sub> &#x003D; 0.85 and &#x03C5;<sub>w</sub> &#x003D; 0.55, there was no numerical instability occurred and this value is considered for further studies.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Optimal value of Factor &#x2018;&#x03C5;&#x2019; in radius of influence</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
</colgroup>
<thead>
<tr>
<th>Factor &#x2018;&#x03C5;&#x2019;</th>
<th>Breakdown timestep</th>
<th>Suitability</th>
</tr>
</thead>
<tbody>
<tr>
<td>&#x03C5;<sub>f</sub> &#x003D; 1; &#x03C5;<sub>w</sub> &#x003D; 1</td>
<td>1846</td>
<td>Not preferred</td>
</tr>
<tr>
<td>&#x03C5;<sub>f</sub> &#x003D; 1; &#x03C5;<sub>w</sub> &#x003D; 0.85</td>
<td>2007</td>
<td>Not preferred</td>
</tr>
<tr>
<td>&#x03C5;<sub>f</sub> &#x003D; 1; &#x03C5;<sub>w</sub> &#x003D; 0.75</td>
<td>1872</td>
<td>Not preferred</td>
</tr>
<tr>
<td>&#x03C5;<sub>f</sub> &#x003D; 0.95; &#x03C5;<sub>w</sub> &#x003D; 0.75</td>
<td>1868</td>
<td>Not preferred</td>
</tr>
<tr>
<td>&#x03C5;<sub>f</sub> &#x003D; 0.85; &#x03C5;<sub>w</sub> &#x003D; 0.75</td>
<td>2062</td>
<td>Not preferred</td>
</tr>
<tr>
<td>&#x03C5;<sub>f</sub> &#x003D; 0.85; &#x03C5;<sub>w</sub> &#x003D; 0.65</td>
<td>2102</td>
<td>Not preferred</td>
</tr>
<tr>
<td>&#x03C5;<sub>f</sub> &#x003D; 0.85; &#x03C5;<sub>w</sub> &#x003D; 0.55</td>
<td>3200</td>
<td>Highly suitable</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3_3_3">
<label>3.3.3</label>
<title>Velocity Ratio on the Boundary</title>
<p>The final factor which plays a crucial role in PST algorithm is the velocity ratio in <xref ref-type="disp-formula" rid="eqn-24">Eq. (24)</xref>. To verify the effect of this ratio, a solitary wave case in the same numerical tank has been considered, as it is a translatory waves and velocities will be higher. Here, all the three-direction velocity (<italic>u, v, w</italic>) are considered in shifting the particle in three different directions (<italic>x, y, z</italic>). The ratio of velocity <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mfrac><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:mi>u</mml:mi><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow></mml:mfrac></mml:math></inline-formula> is taken in all three directions and verified for different values and final optimal value has been arrived. The application of this ratio has to be carried out carefully on the moving boundary, where the input from FNPT is taken, since the ratio will be higher for these boundaries leading to higher shifting vector for the particles near the moving boundary. <xref ref-type="fig" rid="fig-8">Fig. 8</xref> shows the gap obtained due to higher shifting of the particles in &#x2018;<italic>x</italic>&#x2019; direction as the <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mfrac><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:mi>u</mml:mi><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow></mml:mfrac></mml:math></inline-formula> is more than 1 in <italic>x</italic> direction alone. It is to be noted in the figure that the left-hand side corner is the moving boundary which takes the input from FNPT. To avoid this, the PST algorithm is applied on the buffer zone region gradually by introducing an exponential term.</p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Effect of high shifting vector in <italic>x</italic> direction on the moving boundary (The colormap represents the pressure in Pa)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-8.tif"/>
</fig>
<p>Similar scenario happens in the case of the free surface particles, when the shifting vector is applied to free surface and the particles near the free surface try to get out of the domain. To avoid this, shifting vector is gradually introduced from free surface also. <xref ref-type="fig" rid="fig-9">Fig. 9</xref> shows the effect of higher shifting of fluid particles near the free surface. To avoid this, the shifting vector would be zero at the free surface and linearly increases as the particles distant away from free surface. Further the velocity ratio on the <italic>y</italic> direction, which is along the width of the domain, is also restricted as the particle shifting along this direction lead to higher clustering. <xref ref-type="fig" rid="fig-10">Fig. 10</xref> shows the clustering of particles when the <italic>z</italic> direction velocity ratio is not restricted and <xref ref-type="fig" rid="fig-11">Fig. 11</xref> shows the improvement in the particle distribution when the shifting in <italic>z</italic> direction is restricted.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Effect of high shifting of fluid particles towards free surface (The colormap represents the pressure in Pa)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-9.tif"/>
</fig><fig id="fig-10">
<label>Figure 10</label>
<caption>
<title>Clustering of Particles in &#x2018;<italic>z&#x2019;</italic> Direction (The colormap represents the pressure in Pa)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-10.tif"/>
</fig><fig id="fig-11">
<label>Figure 11</label>
<caption>
<title>Clustering avoided with restriction in &#x2018;<italic>z</italic>&#x2019; with velocity ratio constraints (The colormap represents the pressure in Pa)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-11.tif"/>
</fig>
<p>The velocity ratio as per [<xref ref-type="bibr" rid="ref-36">36</xref>] was reported as 0.2 <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi>h</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:math></inline-formula> which didn&#x2019;t work out for our cases; hence the ratio was fixed based on trial and error and we have modified based on the maximum velocity limit as given below
<disp-formula id="eqn-33"><label>(33)</label><mml:math id="mml-eqn-33" display="block"><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:mi>u</mml:mi><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>&#x2264;</mml:mo><mml:mn>0.05</mml:mn><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>Once the algorithm is incorporated into the model, the solitary wave has been simulated again without any influence of the porous layer to verify whether the particle distribution is enhanced and investigate for any numerical instability. <xref ref-type="fig" rid="fig-12">Fig. 12</xref> shows the solitary wave passed above the mild slope with PST algorithm. It is evident from the <xref ref-type="fig" rid="fig-12">Fig. 12</xref> that the particle distribution is enhanced by moving the particle from high concentration region of the slope to low concentration region of bottom wall above slope and no numerical instability was observed.</p>
<fig id="fig-12">
<label>Figure 12</label>
<caption>
<title>Solitary wave with PST algorithm (The colormap represents the pressure in Pa)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-12.tif"/>
</fig>
</sec>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Interpolation in Background Mesh</title>
<p>Similar to our previous study in [<xref ref-type="bibr" rid="ref-30">30</xref>], stationary background (BG) nodes are used for the implementation of the porosity. A smooth transition of the porous rate value is provided in the BG nodes. These BG nodes are used by the IMLPG_R particles to interpolate the porous rate value of each particle in the interface layer. Simplified finite difference interpolation (SFDI) by [<xref ref-type="bibr" rid="ref-51">51</xref>] is used for the porosity interpolation of the particles. For a fluid particle in the interface region, a sphere consisting of the BG nodes is taken into consideration for interpolation. The sphere has a radius of three times the BG node distance. Each fluid particle is connected to maximum of 32 BG nodes. This is to reduce the computation time. <xref ref-type="fig" rid="fig-13">Fig. 13</xref> gives the schematic representation of the BG nodes (open circle) connection to a fluid particle (closed circle). It was observed that in our 2D case, the BG node transition was applied for twice the initial particle distance. However, for our developed 3D model such an extended transition region was not required. The reason may be due to the fact that the interpolation occurred in three dimensions, the velocity transitioned smoothly from the pure fluid to the pure porous region, with minimal to no transition zone.</p>
<fig id="fig-13">
<label>Figure 13</label>
<caption>
<title>Schematic representation of BG nodes and fluid particle connection</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-13.tif"/>
</fig>
</sec>
<sec id="s3_5">
<label>3.5</label>
<title>Critical Parameters in 3D Porous Model</title>
<p>The developed porous model was validated against cases involving emerged porous structures unlike the previous study in 2D which focused solely on submerged structures. For a submerged porous structure implementation, the velocity components are lower and the transition in velocity from the fluid region to the porous region is relatively smooth whereas in an emerged type of porous structure, the fluid velocity is higher and so the gradient is higher from fluid region to porous region. According to <xref ref-type="disp-formula" rid="eqn-15">Eq. (15)</xref>, both fluid and Darcian velocities are significantly influenced by the porosity. When porosity is low and Darcian velocity is high, a steep velocity gradient forms between the fluid and porous regions. This sharp gradient led to issues with particle distribution in the simulation. To avoid this and to maintain a smoothness in the particle distribution, three minor changes are implemented in the developed model.
<list list-type="simple">
<list-item><label>(1)</label><p>Maintaining the same velocity component in the Force matrix during numerical integration</p></list-item>
<list-item><label>(2)</label><p>Smooth the porosity value using SFDI method at the interface after the porosity value has been arrived based on background mesh and the drag constants.</p></list-item>
<list-item><label>(3)</label><p>Update the particle position based on the Darcian velocity and not based on Fluid velocity.</p></list-item>
</list></p>
<sec id="s3_5_1">
<label>3.5.1</label>
<title>Velocity Components in Force Matrix</title>
<p>The final, simplified formulation relating the stiffness matrix to the force matrix, with the left-hand side incorporating velocity components along all six points, is given in <xref ref-type="disp-formula" rid="eqn-23">Eq. (23)</xref>. At the fluid&#x2013;porous interface, assigning Darcy velocity components directly to interface particles in emerged configurations introduces significant discontinuities due to the pronounced velocity mismatch. This loss of velocity field continuity can compromise numerical stability and accuracy. To mitigate such discrepancies, key parameters such as porosity and inertial resistance coefficients are incorporated on a per-particle basis during numerical integration, rather than being applied solely at the evaluation point. This approach ensures more accurate representation of interfacial dynamics and enhances computational robustness. Thus, <xref ref-type="disp-formula" rid="eqn-23">Eq. (23)</xref> becomes,
<disp-formula id="eqn-34"><label>(34)</label><mml:math id="mml-eqn-34" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mn>6</mml:mn></mml:mfrac></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn>4</mml:mn></mml:msub></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn>6</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mspace width="1em" /><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">d</mml:mi></mml:mrow></mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>&#x2217;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>I</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>3</mml:mn></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>2</mml:mn></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>4</mml:mn></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>5</mml:mn></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>6</mml:mn></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>This ensures that the velocity is smooth throughout the considered numerical points and not specific to the point under consideration. This is required, since the porous structure are normally having a trapezoidal shape, such as breakwaters.</p>
</sec>
<sec id="s3_5_2">
<label>3.5.2</label>
<title>Porosity Smoothing and Drag Constants</title>
<p>The porosity is updated at every time step using the background mesh. To smoothly transfer the porosities at the interface, interpolation using SFDI is carried out. To interpolate the porosity of particle &#x2018;<italic>i</italic>&#x2019;, the nearby &#x2018;<italic>j</italic>&#x2019; particle&#x2019;s porosity has been used. The &#x2018;<italic>j</italic>&#x2019; particles are linked to &#x2018;<italic>i</italic>&#x2019; throughout the interpolation, which means to calculate the force matrix, stiffness matrix and for the pressure gradient these &#x2018;<italic>j</italic>&#x2019; particles are only used. So, interpolating the porosities of &#x2018;<italic>i</italic>&#x2019; using this &#x2018;<italic>j</italic>&#x2019; particle&#x2019;s porosity increases the accuracy of the developed model and no discontinuity is present in the porosities. <xref ref-type="disp-formula" rid="eqn-35">Eq. (35)</xref> shows the interpolation used for the porosity value at each time step where the <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the shape function based on SFDI.
<disp-formula id="eqn-35"><label>(35)</label><mml:math id="mml-eqn-35" display="block"><mml:msubsup><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03C6;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mspace width="negativethinmathspace" /><mml:mo>&#x22C5;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:msubsup><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></disp-formula></p>
<p>The next important parameter deciding the accuracy of the simulation was the drag constants used in the linear and non-linear drag forces as given in <xref ref-type="disp-formula" rid="eqn-8">Eqs. (8)</xref> and <xref ref-type="disp-formula" rid="eqn-9">(9)</xref>. Since the developed model is based on unified governing equations, the additional drag forces were zero for the case of pure fluid and non-zero in the porous region. These additional forces further depended on the Darcian velocity. Thus, in case of emerged porous region when a Darcian velocity was higher and the drag constants &#x2018;<italic>a</italic>&#x2019; and &#x2018;<italic>b</italic>&#x2019; were higher, leading to occurrence of a huge gradient of velocity. When a constant porosity value is used as given in <xref ref-type="disp-formula" rid="eqn-9">Eq. (9)</xref>, the velocity varies from positive to negative as given in <xref ref-type="fig" rid="fig-14">Fig. 14</xref>. The velocity outside the porous region was higher and the velocity inside was drastically reduced. This led to fluid region particle to move faster than that of the porous region particle. <xref ref-type="fig" rid="fig-15">Fig. 15a</xref> shows the variation of the linear drag force constants with porosity. To avoid this discontinuity, the additional drag force constants were also modified based on the particle porosity. Hence, <xref ref-type="disp-formula" rid="eqn-9">Eq. (9)</xref> was changed to <xref ref-type="disp-formula" rid="eqn-36">Eq. (36)</xref>, where <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the porosity of the particle under consideration and <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the constant porosity value which means the constants &#x2018;<italic>a</italic>&#x2019; and &#x2018;<italic>b</italic>&#x2019; will be varying along with the porosity values. The continuity is maintained in this modification and the reduction of the velocity is also smooth from pure fluid to pure porous region. The values <italic>k</italic> &#x003D; 2, <italic>m</italic> &#x003D; 3, <italic>n</italic> &#x003D; 2, <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula> &#x003D; 1000 and <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mi>&#x03B2;</mml:mi></mml:math></inline-formula> &#x003D; 1.1 for this test case,<disp-formula id="eqn-36"><label>(36)</label><mml:math id="mml-eqn-36" display="block"><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03D1;</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msubsup><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mn>50</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="1em" /><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msubsup><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>50</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="1em" /><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mstyle><mml:mi>&#x03B3;</mml:mi><mml:mspace width="1em" /><mml:mrow><mml:mtext>&#xA0;with&#xA0;</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>&#x03B3;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.34</mml:mn></mml:math></disp-formula></p>
<fig id="fig-14">
<label>Figure 14</label>
<caption>
<title>Variation of velocity for a constant porosity value in different region</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-14.tif"/>
</fig><fig id="fig-15">
<label>Figure 15</label>
<caption>
<title>Variation of (<bold>a</bold>) linear &#x2018;<italic>a</italic>&#x2019; (<bold>b</bold>) non-linear &#x2018;<italic>b</italic>&#x2019; drag force constants with respect to different porosity value</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-15.tif"/>
</fig>
</sec>
<sec id="s3_5_3">
<label>3.5.3</label>
<title>Updating the Particle Position Based on Darcian Velocity</title>
<p>The other issue encountered during the emerged porous model was the high particle movement in the porous region than that of the pure fluid region. The study done in [<xref ref-type="bibr" rid="ref-52">52</xref>] gives the detailed explanation of this issue. The particle position updated based on the fluid velocity as given in <xref ref-type="disp-formula" rid="eqn-16">Eq. (16)</xref> led to the higher movement of particle inside the porous region, since the fluid velocity is divided by the porosity value as given in <xref ref-type="disp-formula" rid="eqn-15">Eq. (15)</xref>. When the Darcian velocity is higher in case of emerged, porous structure dividing the porosity value further increases the fluid velocity inside the porous region there by the particle movement is also higher in the porous region. In the previous study, since the porous structure was submerged, the Darcian velocity and fluid velocity difference was meagre due to which <xref ref-type="disp-formula" rid="eqn-16">Eq. (16)</xref> worked out fine. In the pure fluid region, both fluid velocity and the Darcian velocity is the same. Hence the <xref ref-type="disp-formula" rid="eqn-16">Eq. (16)</xref> is now changed to <xref ref-type="disp-formula" rid="eqn-37a">Eq. (37)</xref> as given below,
<disp-formula id="eqn-37a"><label>(37a)</label><mml:math id="mml-eqn-37a" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msup><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>u</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-37b"><label>(37b)</label><mml:math id="mml-eqn-37b" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msup><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>v</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-37c"><label>(37c)</label><mml:math id="mml-eqn-37c" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msup><mml:mrow><mml:mover><mml:mi>z</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mover><mml:mi>z</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>w</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Validation of the Numerical Model</title>
<p>Once the model is developed with PST algorithm, validation for wave porous structure interaction is carried out for which a single layer trapezoidal porous layer in a flat bottom bed has been considered. Then a second case of both porous sloping bed and impermeable sloping bed is simulated which is compared with experimental and numerical results.</p>
<sec id="s4_1">
<label>4.1</label>
<title>Trapezoidal Porous Layer</title>
<p>The experimental results from [<xref ref-type="bibr" rid="ref-53">53</xref>] is considered. The numerical tank with a total length of 14 m is considered in which first 4 m is simulated using FNPT model and the remaining is simulated in 3D IMLPG_R with a water depth of 0.376 m and width 0.376 m. The incoming uni-directional regular wave height of 0.092 m and wave period of 1.6 s was considered for the simulation. The trapezoidal porous layer has a height of 0.33 m with front slope of 1H:2V and starts at 1.5 m from the beginning of IMLPG_R model. The buffer zone of 0.5 m is provided and the wave damping zone of 3 m is considered at the far end of the domain. The buffer zone length was determined based on the numerical experiments carried out by [<xref ref-type="bibr" rid="ref-43">43</xref>]. The trapezoidal porous layer has a porosity value of 0.45 (<italic>n</italic><sub><italic>w</italic></sub>) with the soil particle size of 0.025 m (<italic>D</italic><sub><italic>50</italic></sub>) having <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>&#x03B2;</mml:mi></mml:math></inline-formula>, <italic>m, n</italic> as 1000, 1.1, 3 and 2, respectively. The inertia coefficient <italic>C</italic><sub><italic>r</italic></sub> is assumed as 1. The wave height is compared at different wave gauge position at 4.03, 5.33, 5.83, 6.68 and 7.37 m. The computational setup is as given in <xref ref-type="fig" rid="fig-16">Fig. 16</xref>. The wave profile on the wave gauges is compared and the results are given in <xref ref-type="fig" rid="fig-17">Fig. 17</xref>. The comparison is reasonable. The absolute error between the experimental values and the values from 3D IMLPG_R is calculated for the wave gauge reading at 7.37 m and is presented in the <xref ref-type="fig" rid="fig-18">Fig. 18</xref>. The absolute error is computed as the absolute difference between the experimental data and the corresponding results obtained from the 3D IMLPG-R method and is given by <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>L</mml:mi><mml:mi>G</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<fig id="fig-16">
<label>Figure 16</label>
<caption>
<title>Computational domain for single porous layer based on [<xref ref-type="bibr" rid="ref-53">53</xref>]</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-16.tif"/>
</fig><fig id="fig-17">
<label>Figure 17</label>
<caption>
<title>Comparison of hybrid model results with experimental results of [<xref ref-type="bibr" rid="ref-53">53</xref>] at (<bold>a</bold>) WP1 &#x003D; 4.03 m (<bold>b</bold>) WP2 &#x003D; 5.33 m (<bold>c</bold>) WP3 &#x003D; 5.83 m (<bold>d</bold>) WP4 &#x003D; 6.68 m (<bold>e</bold>) WP5 &#x003D; 7.37 m</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-17a.tif"/>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-17b.tif"/>
</fig><fig id="fig-18">
<label>Figure 18</label>
<caption>
<title>Absolute error at WG5 (7.37 m) between [<xref ref-type="bibr" rid="ref-53">53</xref>] and 3D IMLPG-R</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-18.tif"/>
</fig>
<p><xref ref-type="fig" rid="fig-19">Fig. 19</xref> shows the initial set up of the numerical tank in 3D IMLPG-R domain with the trapezoidal porous structure present. <xref ref-type="fig" rid="fig-20">Fig. 20</xref> shows the isometric view of the 3D IMLPG_R numerical tank as the wave propagates. <xref ref-type="fig" rid="fig-21">Fig. 21a</xref> shows the wave trough passing over the porous structure and <xref ref-type="fig" rid="fig-21">Fig. 21b</xref> shows the wave crest passing over the trapezoidal structure. It is evident from the picture that the wave profile is affected by the porous structure. <xref ref-type="fig" rid="fig-22">Fig. 22</xref> shows the velocity components when a wave passes over the trapezoidal structure.</p>
<fig id="fig-19">
<label>Figure 19</label>
<caption>
<title>Initial setup of the Numerical wave tank with the cross-sectional view along the length of the tank (The colormap represents the porosity)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-19.tif"/>
</fig><fig id="fig-20">
<label>Figure 20</label>
<caption>
<title>Wave propagation in the isometric view (The colormap represents the pressure in Pa along the length of the tank)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-20.tif"/>
</fig><fig id="fig-21">
<label>Figure 21</label>
<caption>
<title>Screenshot of (<bold>a</bold>) trough over the porous structure (<bold>b</bold>) Crest over the porous structure (The colormap represents the pressure in Pa along the length of the tank)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-21.tif"/>
</fig><fig id="fig-22">
<label>Figure 22</label>
<caption>
<title>Velocity vectors during wave propagation (The colormap represents the velocity in m/s along the length of the tank)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-22.tif"/>
</fig>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Porous Sloping Bed and Impermeable Sloping Bed</title>
<p>The experimental results from [<xref ref-type="bibr" rid="ref-54">54</xref>] is used where the sloping bed is considered to be porous. Numerical tank is divided into two where the first 5 m is simulated in 2D FNPT model and remaining 7 m is simulated in 3D IMLPG_R model with a buffer zone of length 0.5 m starting at 5 m. The slope starts at 2 m in 3D IMLPG_R domain and ends at 2.762 m with a slope of 1:20. Water depth is taken as 0.0762 m before slope and 0.0381 m after slope. Two simulations are done, one with impermeable sloping bed and another with porous sloping bed with a porosity value of 0.3. The solitary wave height of 0.009 m is simulated and wave height at 1.593, 3.651 and 4.5146 m in IMLPG_R domain is compared. <xref ref-type="fig" rid="fig-23">Fig. 23a</xref> illustrates the porous sloping bed and <xref ref-type="fig" rid="fig-23">Fig. 23b</xref> shows the impermeable sloping bed. The wave profile is compared for both porous and impermeable sloping bed. <xref ref-type="fig" rid="fig-24">Fig. 24</xref> shows the compared wave profile at different location. It is evident that more than the impermeable sloping bed the porous bed gave better solution. The 3D IMLPG_R model performs well with porous bed and the solution is better than that of the numerical simulation of [<xref ref-type="bibr" rid="ref-55">55</xref>] which has used Weakly Compressible Smooth Particle Hydrodynamics (WCSPH) to solve this test case. The study does not account for turbulence effects. Nevertheless, as shown in <xref ref-type="fig" rid="fig-24">Fig. 24</xref>, the current model demonstrates improved accuracy, with the velocity exhibiting a smooth transition across the interface zone despite the exclusion of turbulence The model developed was an impermeable mild slope wall. <xref ref-type="fig" rid="fig-25">Fig. 25</xref> presents the absolute error at the wave gauge located at 4.5146 m, computed between the experimental and simulated results, consistent with the approach used in the previous section.</p>
<fig id="fig-23">
<label>Figure 23</label>
<caption>
<title>Initial set up of the numerical tank (<bold>a</bold>) with porous bed (<bold>b</bold>) without porous bed (The colormap represents the porosity)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-23.tif"/>
</fig><fig id="fig-24">
<label>Figure 24</label>
<caption>
<title>Wave profile at different location for porous bed of n<sub>w</sub> 0.3 (Green) and impermeable bed (Blue) compared with experimental results from [<xref ref-type="bibr" rid="ref-54">54</xref>] and numerical results from [<xref ref-type="bibr" rid="ref-55">55</xref>]</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-24.tif"/>
</fig><fig id="fig-25">
<label>Figure 25</label>
<caption>
<title>Absolute error at WG (4.5146 m) between the experiments and 3D IMLPG-R</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_69854-fig-25.tif"/>
</fig>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusion</title>
<p>This study presents a three-dimensional model developed to simulate wave interaction with porous structures. The approach weakly couples a two-dimensional Fully Nonlinear Potential Theory (FNPT) model with a three-dimensional Improved Moving Least Squares-based Point Galerkin (IMLPG-R) model where the turbulence effect is not considered. The developed model incorporates a smooth porosity transition across the interface, effectively reducing sharp velocity gradients in this region. This treatment suppresses the formation of localized turbulent jets and ensures consistency with the laminar flow assumption adopted in the present study. Previous SPH models for porous flow encountered two major challenges: (i) pressure or velocity fluctuations at the interface, and (ii) the need for iterative evaluation of porosity values at each time step. The present model addresses both issues. Within the IMLPG-R framework, the absence of a pressure gradient term in the stiffness matrix mitigates interface fluctuations, while the SFDI method provides porosity values at each time step directly, eliminating the need for iteration</p>
<p>The paper provides a detailed account of the mathematical formulation and the numerical algorithm employed. The primary focus is on the 3D IMLPG-R implementation, specifically its application to porous structures. While previous implementations of the 3D IMLPG-R model considered flat beds, this study extends it to include sloping beds. Incorporating the slope introduced several issues related to particle distribution in our 3D model, which were addressed using a Particle Shifting Technique (PST) based on the method proposed by [<xref ref-type="bibr" rid="ref-36">36</xref>]. The PST algorithm was optimized to best fit the developed model by fine-tuning several parameters such as the weight function, velocity ratio, constants, and radius of influence through a trial-and-error process. The importance of these parameters is investigated thoroughly in the present study.</p>
<p>The paper also describes the implementation of the numerical algorithm on a 3D background mesh and highlights challenges encountered when introducing an emerged trapezoidal porous structure. Three major challenges are discussed: maintaining uniformity in the force matrix, consistency in porosity and drag coefficient values, and accurate updating of the particle positions.</p>
<p>Furthermore, this study presents the modifications implemented in the three-dimensional (3D) numerical algorithm, extending the framework developed in the previous two-dimensional (2D) study. The model&#x2019;s accuracy is verified through simulations of regular wave interactions with a single trapezoidal porous structure. Subsequent validations are performed for both porous and impermeable bed conditions, demonstrating good agreement with experimental results. It is noteworthy that the present investigation is limited to laminar flow, as the governing equations do not incorporate turbulence effects. The developed PST algorithm is further applied to a sloping bed configuration, where the earlier particle redistribution approach proved ineffective.</p>
</sec>
</body>
<back>
<ack>
<p>The first author gratefully acknowledges the financial support received from the Prime Minister&#x2019;s Research Fellowship (PMRF), which facilitated the completion of this work.</p>
</ack>
<sec>
<title>Funding Statement</title>
<p>This research was funded by Prime Minister&#x2019;s Research Fellowship (PMRF), grant number SB22230924OEPMRF008608.</p>
</sec>
<sec>
<title>Author Contributions</title>
<p>The authors confirm the contribution to the paper as follows: Conceptualization, Divya Ramesh and Sriram Venkatachalam; methodology, Sriram Venkatachalam and Divya Ramesh; coding, Divya Ramesh; validation, Divya Ramesh; investigation, Divya Ramesh; writing&#x2014;original draft preparation, Divya Ramesh; writing&#x2014;review and editing, Sriram Venkatachalam; supervision, Sriram Venkatachalam. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability">
<title>Availability of Data and Materials</title>
<p>The authors confirm that the data supporting the findings of this study are available within the article.</p>
</sec>
<sec>
<title>Ethics Approval</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement">
<title>Conflicts of Interest</title>
<p>The authors declare no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>McCorquodale</surname> <given-names>JA</given-names></string-name></person-group>. <article-title>Wave dissipation in rockfill</article-title>. In: <conf-name>Proceedings of 13th Coastal Engineering Conference</conf-name>. <publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>ASCE</publisher-name>; <year>1972</year>. p. <fpage>1885</fpage>&#x2013;<lpage>900</lpage>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lin</surname> <given-names>P</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>PL</given-names></string-name></person-group>. <article-title>A numerical study of breaking waves in the surf zone</article-title>. <source>J Fluid Mech</source>. <year>1998</year>;<volume>359</volume>:<fpage>239</fpage>&#x2013;<lpage>64</lpage>. doi:<pub-id pub-id-type="doi">10.1017/s002211209700846x</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Huang</surname> <given-names>CJ</given-names></string-name>, <string-name><surname>Shen</surname> <given-names>ML</given-names></string-name>, <string-name><surname>Chang</surname> <given-names>HH</given-names></string-name></person-group>. <article-title>Propagation of a solitary wave over rigid porous beds</article-title>. <source>Ocean Eng</source>. <year>2008</year>;<volume>35</volume>(<issue>11&#x2013;12</issue>):<fpage>1194</fpage>&#x2013;<lpage>202</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.oceaneng.2008.04.003</pub-id>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Karim</surname> <given-names>MF</given-names></string-name>, <string-name><surname>Tanimoto</surname> <given-names>K</given-names></string-name>, <string-name><surname>Hieu</surname> <given-names>PD</given-names></string-name></person-group>. <article-title>Modelling and simulation of wave transformation in porous structures using VOF based two-phase flow model</article-title>. <source>Appl Math Model</source>. <year>2009</year>;<volume>33</volume>(<issue>1</issue>):<fpage>343</fpage>&#x2013;<lpage>60</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.apm.2007.11.016</pub-id>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Liu</surname> <given-names>PL</given-names></string-name>, <string-name><surname>Lin</surname> <given-names>P</given-names></string-name>, <string-name><surname>Chang</surname> <given-names>KA</given-names></string-name>, <string-name><surname>Sakakiyama</surname> <given-names>T</given-names></string-name></person-group>. <article-title>Numerical modeling of wave interaction with porous structures</article-title>. <source>J Waterw Port Coast Ocean Eng</source>. <year>1999</year>;<volume>125</volume>(<issue>6</issue>):<fpage>322</fpage>&#x2013;<lpage>30</lpage>. doi:<pub-id pub-id-type="doi">10.1061/(asce)0733-950x(1999)125:6(322)</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Losada</surname> <given-names>IJ</given-names></string-name>, <string-name><surname>Lara</surname> <given-names>JL</given-names></string-name>, <string-name><surname>Guanche</surname> <given-names>R</given-names></string-name>, <string-name><surname>Gonzalez-Ondina</surname> <given-names>JM</given-names></string-name></person-group>. <article-title>Numerical analysis of wave overtopping of rubble mound breakwaters</article-title>. <source>Coast Eng</source>. <year>2008</year>;<volume>55</volume>(<issue>1</issue>):<fpage>47</fpage>&#x2013;<lpage>62</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.coastaleng.2007.06.003</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Stahlmann</surname> <given-names>A</given-names></string-name>, <string-name><surname>Schlurmann</surname> <given-names>T</given-names></string-name></person-group>. <article-title>Investigations on scour development at tripod foundations for offshore wind turbines: modeling and application</article-title>. <source>Int Conf Coastal Eng</source>. <year>2012</year>;(<issue>33</issue>):<fpage>90</fpage>. doi:<pub-id pub-id-type="doi">10.9753/icce.v33.sediment.90</pub-id>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hu</surname> <given-names>KC</given-names></string-name>, <string-name><surname>Hsiao</surname> <given-names>SC</given-names></string-name>, <string-name><surname>Hwung</surname> <given-names>HH</given-names></string-name>, <string-name><surname>Wu</surname> <given-names>TR</given-names></string-name></person-group>. <article-title>Three-dimensional numerical modeling of the interaction of dam-break waves and porous media</article-title>. <source>Adv Water Resour</source>. <year>2012</year>;<volume>47</volume>:<fpage>14</fpage>&#x2013;<lpage>30</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.advwatres.2012.06.007</pub-id>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>del Jesus</surname> <given-names>M</given-names></string-name>, <string-name><surname>Lara</surname> <given-names>JL</given-names></string-name>, <string-name><surname>Losada</surname> <given-names>IJ</given-names></string-name></person-group>. <article-title>Three-dimensional interaction of waves and porous coastal structures</article-title>. <source>Coast Eng</source>. <year>2012</year>;<volume>64</volume>:<fpage>57</fpage>&#x2013;<lpage>72</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.coastaleng.2012.01.008</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Higuera</surname> <given-names>P</given-names></string-name>, <string-name><surname>Lara</surname> <given-names>JL</given-names></string-name>, <string-name><surname>Losada</surname> <given-names>IJ</given-names></string-name></person-group>. <article-title>Three-dimensional interaction of waves and porous coastal structures using OpenFOAM&#x00AE;. Part II: application</article-title>. <source>Coast Eng</source>. <year>2014</year>;<volume>83</volume>:<fpage>259</fpage>&#x2013;<lpage>70</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.coastaleng.2013.09.002</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ren</surname> <given-names>B</given-names></string-name>, <string-name><surname>Wen</surname> <given-names>H</given-names></string-name>, <string-name><surname>Dong</surname> <given-names>P</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>Y</given-names></string-name></person-group>. <article-title>Improved SPH simulation of wave motions and turbulent flows through porous media</article-title>. <source>Coast Eng</source>. <year>2016</year>;<volume>107</volume>:<fpage>14</fpage>&#x2013;<lpage>27</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.coastaleng.2015.10.004</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wen</surname> <given-names>H</given-names></string-name>, <string-name><surname>Ren</surname> <given-names>B</given-names></string-name>, <string-name><surname>Dong</surname> <given-names>P</given-names></string-name>, <string-name><surname>Zhu</surname> <given-names>G</given-names></string-name></person-group>. <article-title>Numerical analysis of wave-induced current within the inhomogeneous coral reef using a refined SPH model</article-title>. <source>Coast Eng</source>. <year>2020</year>;<volume>156</volume>:<fpage>103616</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.coastaleng.2019.103616</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Basser</surname> <given-names>H</given-names></string-name>, <string-name><surname>Rudman</surname> <given-names>M</given-names></string-name>, <string-name><surname>Daly</surname> <given-names>E</given-names></string-name></person-group>. <article-title>Smoothed particle hydrodynamics modelling of fresh and salt water dynamics in porous media</article-title>. <source>J Hydrol</source>. <year>2019</year>;<volume>576</volume>:<fpage>370</fpage>&#x2013;<lpage>80</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.jhydrol.2019.06.048</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kazemi</surname> <given-names>E</given-names></string-name>, <string-name><surname>Tait</surname> <given-names>S</given-names></string-name>, <string-name><surname>Shao</surname> <given-names>S</given-names></string-name></person-group>. <article-title>SPH-based numerical treatment of the interfacial interaction of flow with porous media</article-title>. <source>Int J Numer Methods Fluids</source>. <year>2020</year>;<volume>92</volume>(<issue>4</issue>):<fpage>219</fpage>&#x2013;<lpage>45</lpage>. doi:<pub-id pub-id-type="doi">10.1002/fld.4781</pub-id>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kazemi</surname> <given-names>E</given-names></string-name>, <string-name><surname>Luo</surname> <given-names>M</given-names></string-name></person-group>. <article-title>A comparative study on the accuracy and conservation properties of the SPH method for fluid flow interaction with porous media</article-title>. <source>Adv Water Resour</source>. <year>2022</year>;<volume>165</volume>(<issue>1</issue>):<fpage>104220</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.advwatres.2022.104220</pub-id>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Su</surname> <given-names>X</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>C</given-names></string-name>, <string-name><surname>Luo</surname> <given-names>M</given-names></string-name>, <string-name><surname>Zhan</surname> <given-names>Y</given-names></string-name></person-group>. <article-title>Development of a smoothed particle hydrodynamics model for porous media flows with enhanced volume conservation and the revisit of the mass conservation equation</article-title>. <source>Phys Fluids</source>. <year>2024</year>;<volume>36</volume>(<issue>10</issue>):<fpage>103116</fpage>. doi:<pub-id pub-id-type="doi">10.1063/5.0231042</pub-id>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kazemi</surname> <given-names>E</given-names></string-name>, <string-name><surname>Koll</surname> <given-names>K</given-names></string-name>, <string-name><surname>Tait</surname> <given-names>S</given-names></string-name>, <string-name><surname>Shao</surname> <given-names>S</given-names></string-name></person-group>. <article-title>SPH modelling of turbulent open channel flow over and within natural gravel beds with rough interfacial boundaries</article-title>. <source>Adv Water Resour</source>. <year>2020</year>;<volume>140</volume>(<issue>1</issue>):<fpage>103557</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.advwatres.2020.103557</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Akbari</surname> <given-names>H</given-names></string-name>, <string-name><surname>Torabbeigi</surname> <given-names>M</given-names></string-name></person-group>. <article-title>SPH modeling of wave interaction with reshaped and non-reshaped berm breakwaters with permeable layers</article-title>. <source>Appl Ocean Res</source>. <year>2021</year>;<volume>112</volume>(<issue>1</issue>):<fpage>102714</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.apor.2021.102714</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Tsurudome</surname> <given-names>C</given-names></string-name>, <string-name><surname>Liang</surname> <given-names>D</given-names></string-name>, <string-name><surname>Shimizu</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Khayyer</surname> <given-names>A</given-names></string-name>, <string-name><surname>Gotoh</surname> <given-names>H</given-names></string-name></person-group>. <article-title>Study of beach permeability&#x2019;s influence on solitary wave runup with ISPH method</article-title>. <source>Appl Ocean Res</source>. <year>2021</year>;<volume>117</volume>(<issue>1</issue>):<fpage>102957</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.apor.2021.102957</pub-id>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Awad</surname> <given-names>BN</given-names></string-name>, <string-name><surname>Tait</surname> <given-names>MJ</given-names></string-name></person-group>. <article-title>Macroscopic modelling for screens inside a tuned liquid damper using incompressible smoothed particle hydrodynamics</article-title>. <source>Ocean Eng</source>. <year>2022</year>;<volume>263</volume>:<fpage>112320</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.oceaneng.2022.112320</pub-id>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname> <given-names>YK</given-names></string-name>, <string-name><surname>Meringolo</surname> <given-names>DD</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Liang</surname> <given-names>JM</given-names></string-name></person-group>. <article-title>Energy balance during Bragg wave resonance by submerged porous breakwaters through a mixture theory-based &#x03B4;-LES-SPH model</article-title>. <source>Coast Eng</source>. <year>2025</year>;<volume>196</volume>(<issue>1</issue>):<fpage>104652</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.coastaleng.2024.104652</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ding</surname> <given-names>D</given-names></string-name>, <string-name><surname>Ouahsine</surname> <given-names>A</given-names></string-name>, <string-name><surname>Xiao</surname> <given-names>W</given-names></string-name>, <string-name><surname>Du</surname> <given-names>P</given-names></string-name></person-group>. <article-title>CFD/DEM coupled approach for the stability of caisson-type breakwater subjected to violent wave impact</article-title>. <source>Ocean Eng</source>. <year>2021</year>;<volume>223</volume>:<fpage>108651</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.oceaneng.2021.108651</pub-id>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Han</surname> <given-names>M</given-names></string-name>, <string-name><surname>Ooka</surname> <given-names>R</given-names></string-name>, <string-name><surname>Kikumoto</surname> <given-names>H</given-names></string-name></person-group>. <article-title>Effects of wall function model in lattice Boltzmann method-based large-eddy simulation on built environment flows</article-title>. <source>Build Environ</source>. <year>2021</year>;<volume>195</volume>:<fpage>107764</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.buildenv.2021.107764</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ye</surname> <given-names>J</given-names></string-name>, <string-name><surname>Shan</surname> <given-names>J</given-names></string-name>, <string-name><surname>Zhou</surname> <given-names>H</given-names></string-name>, <string-name><surname>Yan</surname> <given-names>N</given-names></string-name></person-group>. <article-title>Numerical modelling of the wave interaction with revetment breakwater built on reclaimed coral reef islands in the South China Sea&#x2014;experimental verification</article-title>. <source>Ocean Eng</source>. <year>2021</year>;<volume>235</volume>:<fpage>109325</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.oceaneng.2021.109325</pub-id>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname> <given-names>D</given-names></string-name>, <string-name><surname>Yan</surname> <given-names>S</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>C</given-names></string-name>, <string-name><surname>Lin</surname> <given-names>J</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>X</given-names></string-name>, <string-name><surname>Kazemi</surname> <given-names>E</given-names></string-name></person-group>. <article-title>ISPH simulation of solitary waves propagating over a bottom-mounted barrier with k&#x2013;&#x03B5; turbulence model</article-title>. <source>Front Environ Sci</source>. <year>2021</year>;<volume>9</volume>:<fpage>802091</fpage>. doi:<pub-id pub-id-type="doi">10.3389/fenvs.2021.802091</pub-id>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Akbari</surname> <given-names>H</given-names></string-name>, <string-name><surname>Namin</surname> <given-names>MM</given-names></string-name></person-group>. <article-title>Moving particle method for modeling wave interaction with porous structures</article-title>. <source>Coast Eng</source>. <year>2013</year>;<volume>74</volume>:<fpage>59</fpage>&#x2013;<lpage>73</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.coastaleng.2012.12.002</pub-id>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Pahar</surname> <given-names>G</given-names></string-name>, <string-name><surname>Dhar</surname> <given-names>A</given-names></string-name></person-group>. <article-title>Modeling free-surface flow in porous media with modified incompressible SPH</article-title>. <source>Eng Anal Bound Elem</source>. <year>2016</year>;<volume>68</volume>:<fpage>75</fpage>&#x2013;<lpage>85</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.enganabound.2016.04.001</pub-id>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Khayyer</surname> <given-names>A</given-names></string-name>, <string-name><surname>Gotoh</surname> <given-names>H</given-names></string-name>, <string-name><surname>Shimizu</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Gotoh</surname> <given-names>K</given-names></string-name>, <string-name><surname>Falahaty</surname> <given-names>H</given-names></string-name>, <string-name><surname>Shao</surname> <given-names>S</given-names></string-name></person-group>. <article-title>Development of a projection-based SPH method for numerical wave flume with porous media of variable porosity</article-title>. <source>Coast Eng</source>. <year>2018</year>;<volume>140</volume>:<fpage>1</fpage>&#x2013;<lpage>22</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.coastaleng.2018.05.003</pub-id>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Luo</surname> <given-names>M</given-names></string-name>, <string-name><surname>Su</surname> <given-names>X</given-names></string-name>, <string-name><surname>Kazemi</surname> <given-names>E</given-names></string-name>, <string-name><surname>Jin</surname> <given-names>X</given-names></string-name>, <string-name><surname>Khayyer</surname> <given-names>A</given-names></string-name></person-group>. <article-title>Review of smoothed particle hydrodynamics modeling of fluid flows in porous media with a focus on hydraulic, coastal, and ocean engineering applications</article-title>. <source>Phys Fluids</source>. <year>2025</year>;<volume>37</volume>(<issue>2</issue>):<fpage>021303</fpage>. doi:<pub-id pub-id-type="doi">10.1063/5.0252125</pub-id>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Divya</surname> <given-names>R</given-names></string-name>, <string-name><surname>Sriram</surname> <given-names>V</given-names></string-name></person-group>. <article-title>Wave-porous structure interaction modelling using improved meshless local Petrov Galerkin method</article-title>. <source>Appl Ocean Res</source>. <year>2017</year>;<volume>67</volume>:<fpage>291</fpage>&#x2013;<lpage>305</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.apor.2017.07.017</pub-id>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Akbari</surname> <given-names>H</given-names></string-name></person-group>. <article-title>Modified moving particle method for modeling wave interaction with multi layered porous structures</article-title>. <source>Coast Eng</source>. <year>2014</year>;<volume>89</volume>:<fpage>1</fpage>&#x2013;<lpage>19</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.coastaleng.2014.03.004</pub-id>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Agarwal</surname> <given-names>S</given-names></string-name>, <string-name><surname>Sriram</surname> <given-names>V</given-names></string-name>, <string-name><surname>Murali</surname> <given-names>K</given-names></string-name></person-group>. <article-title>Interaction of fixed cylinders with waves through weakly coupled FNPT and Lagrangian Navier-Stokes</article-title>. In: <conf-name>Proceedings of the ASME 2019 38th International Conference on Ocean, Offshore and Arctic Engineering</conf-name>; <year>2019 Jun 9&#x2013;14</year>; <publisher-loc>Glasgow, Scotland</publisher-loc>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xing</surname> <given-names>E</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>Q</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>G</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>J</given-names></string-name>, <string-name><surname>Ji</surname> <given-names>C</given-names></string-name></person-group>. <article-title>A three-dimensional model of wave interactions with permeable structures using the lattice Boltzmann method</article-title>. <source>Appl Math Model</source>. <year>2022</year>;<volume>104</volume>:<fpage>67</fpage>&#x2013;<lpage>95</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.apm.2021.11.018</pub-id>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Divya</surname> <given-names>R</given-names></string-name>, <string-name><surname>Sriram</surname> <given-names>V</given-names></string-name></person-group>. <article-title>Solitary wave interaction with vegetation on sloping bed using three-dimensional hybrid model</article-title>. In: <conf-name>Proceedings of the Fifteenth (2024) ISOPE Pacific-Asia Offshore Mechanics Symposium; 2024 Oct 13&#x2013;16</conf-name>; <publisher-loc>Chennai, India</publisher-loc>.</mixed-citation></ref>
<ref id="ref-35"><label>[35]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sriram</surname> <given-names>V</given-names></string-name>, <string-name><surname>Ma</surname> <given-names>QW</given-names></string-name></person-group>. <article-title>Improved MLPG_R method for simulating 2D interaction between violent waves and elastic structures</article-title>. <source>J Comput Phys</source>. <year>2012</year>;<volume>231</volume>(<issue>22</issue>):<fpage>7650</fpage>&#x2013;<lpage>70</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.jcp.2012.07.003</pub-id>.</mixed-citation></ref>
<ref id="ref-36"><label>[36]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yang</surname> <given-names>L</given-names></string-name>, <string-name><surname>Rakhsha</surname> <given-names>M</given-names></string-name>, <string-name><surname>Hu</surname> <given-names>W</given-names></string-name>, <string-name><surname>Negrut</surname> <given-names>D</given-names></string-name></person-group>. <article-title>A consistent multiphase flow model with a generalized particle shifting scheme resolved via incompressible SPH</article-title>. <source>J Comput Phys</source>. <year>2022</year>;<volume>458</volume>(<issue>1</issue>):<fpage>111079</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.jcp.2022.111079</pub-id>.</mixed-citation></ref>
<ref id="ref-37"><label>[37]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lind</surname> <given-names>SJ</given-names></string-name>, <string-name><surname>Xu</surname> <given-names>R</given-names></string-name>, <string-name><surname>Stansby</surname> <given-names>PK</given-names></string-name>, <string-name><surname>Rogers</surname> <given-names>BD</given-names></string-name></person-group>. <article-title>Incompressible smoothed particle hydrodynamics for free-surface flows: a generalised diffusion-based algorithm for stability and validations for impulsive flows and propagating waves</article-title>. <source>J Comput Phys</source>. <year>2012</year>;<volume>231</volume>(<issue>4</issue>):<fpage>1499</fpage>&#x2013;<lpage>523</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.jcp.2011.10.027</pub-id>.</mixed-citation></ref>
<ref id="ref-38"><label>[38]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Michel</surname> <given-names>J</given-names></string-name>, <string-name><surname>Vergnaud</surname> <given-names>A</given-names></string-name>, <string-name><surname>Oger</surname> <given-names>G</given-names></string-name>, <string-name><surname>Hermange</surname> <given-names>C</given-names></string-name>, <string-name><surname>Le Touz&#x00E9;</surname> <given-names>D</given-names></string-name></person-group>. <article-title>On particle shifting techniques (PSTs): analysis of existing laws and proposition of a convergent and multi-invariant law</article-title>. <source>J Comput Phys</source>. <year>2022</year>;<volume>459</volume>:<fpage>110999</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.jcp.2022.110999</pub-id>.</mixed-citation></ref>
<ref id="ref-39"><label>[39]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Monaghan</surname> <given-names>JJ</given-names></string-name></person-group>. <article-title>On the problem of penetration in particle methods</article-title>. <source>J Comput Phys</source>. <year>1989</year>;<volume>82</volume>(<issue>1</issue>):<fpage>1</fpage>&#x2013;<lpage>15</lpage>. doi:<pub-id pub-id-type="doi">10.1016/0021-9991(89)90032-6</pub-id>.</mixed-citation></ref>
<ref id="ref-40"><label>[40]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Oger</surname> <given-names>G</given-names></string-name>, <string-name><surname>Marrone</surname> <given-names>S</given-names></string-name>, <string-name><surname>Le Touz&#x00E9;</surname> <given-names>D</given-names></string-name>, <string-name><surname>de Leffe</surname> <given-names>M</given-names></string-name></person-group>. <article-title>SPH accuracy improvement through the combination of a quasi-Lagrangian shifting transport velocity and consistent ALE formalisms</article-title>. <source>J Comput Phys</source>. <year>2016</year>;<volume>313</volume>:<fpage>76</fpage>&#x2013;<lpage>98</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.jcp.2016.02.039</pub-id>.</mixed-citation></ref>
<ref id="ref-41"><label>[41]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sun</surname> <given-names>PN</given-names></string-name>, <string-name><surname>Colagrossi</surname> <given-names>A</given-names></string-name>, <string-name><surname>Marrone</surname> <given-names>S</given-names></string-name>, <string-name><surname>Antuono</surname> <given-names>M</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>AM</given-names></string-name></person-group>. <article-title>A consistent approach to particle shifting in the &#x03B4;-Plus-SPH model</article-title>. <source>Comput Meth Appl Mech Eng</source>. <year>2019</year>;<volume>348</volume>:<fpage>912</fpage>&#x2013;<lpage>34</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.cma.2019.01.045</pub-id>.</mixed-citation></ref>
<ref id="ref-42"><label>[42]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sriram</surname> <given-names>V</given-names></string-name>, <string-name><surname>Sannasiraj</surname> <given-names>SA</given-names></string-name>, <string-name><surname>Sundar</surname> <given-names>V</given-names></string-name></person-group>. <article-title>Simulation of 2-D nonlinear waves using finite element method with cubic spline approximation</article-title>. <source>J Fluids Struct</source>. <year>2006</year>;<volume>22</volume>(<issue>5</issue>):<fpage>663</fpage>&#x2013;<lpage>81</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.jfluidstructs.2006.02.007</pub-id>.</mixed-citation></ref>
<ref id="ref-43"><label>[43]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sriram</surname> <given-names>V</given-names></string-name>, <string-name><surname>Ma</surname> <given-names>QW</given-names></string-name>, <string-name><surname>Schlurmann</surname> <given-names>T</given-names></string-name></person-group>. <article-title>A hybrid method for modelling two dimensional non-breaking and breaking waves</article-title>. <source>J Comput Phys</source>. <year>2014</year>;<volume>272</volume>:<fpage>429</fpage>&#x2013;<lpage>54</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.jcp.2014.04.030</pub-id>.</mixed-citation></ref>
<ref id="ref-44"><label>[44]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Darcy</surname> <given-names>H</given-names></string-name></person-group>. <source>Les fontaines publiques de la ville de Dijon: exposition et application des principes &#x00E0; suivre et des formules &#x00E0; employer dans les questions de distribution d&#x2019;eau</source>. <publisher-loc>Paris, France</publisher-loc>: <publisher-name>Dalmont V</publisher-name>; <year>1856</year>. <fpage>647</fpage> p. (In French).</mixed-citation></ref>
<ref id="ref-45"><label>[45]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Forchheimer</surname> <given-names>P</given-names></string-name></person-group>. <article-title>Wasserbewegung durch Boden</article-title>. <source>Z Des Ver Dtsch Ingenieure</source>. <year>1901</year>;<volume>45</volume>:<fpage>1782</fpage>&#x2013;<lpage>8</lpage>.<comment>(In German)</comment>.</mixed-citation></ref>
<ref id="ref-46"><label>[46]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Polubarinova-Kochina</surname> <given-names>PY</given-names></string-name></person-group>. <source>Theory of ground water movement, (translated from the Russian by J.M.R De Wiest)</source>. <publisher-loc>Princeton, NJ, USA</publisher-loc>: <publisher-name>Princeton University Press</publisher-name>; <year>1962</year>.</mixed-citation></ref>
<ref id="ref-47"><label>[47]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Brinkman</surname> <given-names>HC</given-names></string-name></person-group>. <article-title>A calculation of the viscous force exerted by a flowing fluid on a dense swarm of particles</article-title>. <source>Flow Turbul Combust</source>. <year>1949</year>;<volume>1</volume>(<issue>1</issue>):<fpage>27</fpage>&#x2013;<lpage>34</lpage>. doi:<pub-id pub-id-type="doi">10.1007/BF02120313</pub-id>.</mixed-citation></ref>
<ref id="ref-48"><label>[48]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Van Gent</surname> <given-names>MRA</given-names></string-name></person-group>. <article-title>Wave interaction with permeable coastal structures [dissertation]. Delft, The Netherlands: Delft University of Technology</article-title>; <year>1995</year>.</mixed-citation></ref>
<ref id="ref-49"><label>[49]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chorin</surname> <given-names>AJ</given-names></string-name></person-group>. <article-title>The numerical solution of the Navier-Stokes equations for an incompressible fluid</article-title>. <source>Bull Amer Math Soc</source>. <year>1967</year>;<volume>73</volume>(<issue>6</issue>):<fpage>928</fpage>&#x2013;<lpage>31</lpage>. doi:<pub-id pub-id-type="doi">10.1090/s0002-9904-1967-11853-6</pub-id>.</mixed-citation></ref>
<ref id="ref-50"><label>[50]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Agarwal</surname> <given-names>S</given-names></string-name>, <string-name><surname>Sriram</surname> <given-names>V</given-names></string-name>, <string-name><surname>Yan</surname> <given-names>S</given-names></string-name>, <string-name><surname>Murali</surname> <given-names>K</given-names></string-name></person-group>. <article-title>Improvements in MLPG formulation for 3D wave interaction with fixed structures</article-title>. <source>Comput Fluids</source>. <year>2021</year>;<volume>218</volume>:<fpage>104826</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.compfluid.2020.104826</pub-id>.</mixed-citation></ref>
<ref id="ref-51"><label>[51]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ma</surname> <given-names>QW</given-names></string-name></person-group>. <article-title>A new meshless interpolation scheme for MLPG_R method</article-title>. <source>Comput Model Eng Sci</source>. <year>2008</year>;<volume>23</volume>(<issue>2</issue>):<fpage>75</fpage>&#x2013;<lpage>89</lpage>. doi:<pub-id pub-id-type="doi">10.3970/cmes.2008.023.075</pub-id>.</mixed-citation></ref>
<ref id="ref-52"><label>[52]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Divya</surname> <given-names>R</given-names></string-name>, <string-name><surname>Sriram</surname> <given-names>V</given-names></string-name></person-group>. <article-title>Enhancement of three-dimensional hybrid model for a wave interaction with porous structure with particle shifting technique (PST)</article-title>. In: <conf-name>Proceedings of the 35th International Ocean and Polar Engineering Conference (ISOPE); 2025 Jun 1&#x2013;6</conf-name>; <publisher-loc>Goyang, Republic of Korea</publisher-loc>.</mixed-citation></ref>
<ref id="ref-53"><label>[53]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hieu</surname> <given-names>PD</given-names></string-name>, <string-name><surname>Tanimoto</surname> <given-names>K</given-names></string-name></person-group>. <article-title>Verification of a VOF-based two-phase flow model for wave breaking and wave-structure interactions</article-title>. <source>Ocean Eng</source>. <year>2006</year>;<volume>33</volume>(<issue>11&#x2013;12</issue>):<fpage>1565</fpage>&#x2013;<lpage>88</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.oceaneng.2005.10.013</pub-id>.</mixed-citation></ref>
<ref id="ref-54"><label>[54]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Madsen</surname> <given-names>OS</given-names></string-name>, <string-name><surname>Mei</surname> <given-names>CC</given-names></string-name></person-group>. <article-title>The transformation of a solitary wave over an uneven bottom</article-title>. <source>J Fluid Mech</source>. <year>1969</year>;<volume>39</volume>(<issue>4</issue>):<fpage>781</fpage>&#x2013;<lpage>91</lpage>. doi:<pub-id pub-id-type="doi">10.1017/s0022112069002461</pub-id>.</mixed-citation></ref>
<ref id="ref-55"><label>[55]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>J</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>H</given-names></string-name>, <string-name><surname>Gong</surname> <given-names>K</given-names></string-name>, <string-name><surname>Tan</surname> <given-names>SK</given-names></string-name>, <string-name><surname>Shao</surname> <given-names>S</given-names></string-name></person-group>. <article-title>SPH modeling of solitary wave fissions over uneven bottoms</article-title>. <source>Coast Eng</source>. <year>2012</year>;<volume>60</volume>:<fpage>261</fpage>&#x2013;<lpage>75</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.coastaleng.2011.10.006</pub-id>.</mixed-citation></ref>
</ref-list>
</back></article>













