<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0" article-type="research-article">
  <front>
    <journal-meta><journal-id journal-id-type="publisher">GMD</journal-id><journal-title-group>
    <journal-title>Geoscientific Model Development</journal-title>
    <abbrev-journal-title abbrev-type="publisher">GMD</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Geosci. Model Dev.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1991-9603</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/gmd-19-2299-2026</article-id><title-group><article-title>sedExnerFoam 2412: a 3D Exner-based sediment transport and morphodynamics model</article-title><alt-title>Sediment transport model</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1 aff2 aff3">
          <name><surname>Renaud</surname><given-names>Matthias</given-names></name>
          <email>matthias.renaud@arteliagroup.com</email>
        <ext-link>https://orcid.org/0009-0004-0165-0141</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Bonamy</surname><given-names>Cyrille</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Bertrand</surname><given-names>Olivier</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff4">
          <name><surname>Chauchat</surname><given-names>Julien</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-5979-0620</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Univ. Grenoble Alpes, CNRS, Grenoble INP, LEGI, 38000 Grenoble, France</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Chaire Oxalia – Fondation Grenoble INP, 46 Avenue Félix Viallet, 38000 Grenoble, France</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Artelia, 4 Rue Germaine Veyret-Verner, 38130 Échirolles, France</institution>
        </aff>
        <aff id="aff4"><label>4</label><institution>Univ. Grenoble Alpes, INRAE, CNRS, Grenoble INP, IRD, IGE, 38000 Grenoble, France</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Matthias Renaud (matthias.renaud@arteliagroup.com)</corresp></author-notes><pub-date><day>20</day><month>March</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>6</issue>
      <fpage>2299</fpage><lpage>2331</lpage>
      <history>
        <date date-type="received"><day>21</day><month>May</month><year>2025</year></date>
           <date date-type="rev-request"><day>4</day><month>August</month><year>2025</year></date>
           <date date-type="rev-recd"><day>16</day><month>February</month><year>2026</year></date>
           <date date-type="accepted"><day>19</day><month>February</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Matthias Renaud et al.</copyright-statement>
        <copyright-year>2026</copyright-year>
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026.html">This article is available from https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e131">Predicting the complex interplay between flow hydrodynamics, sediment transport, and morphological evolution is a key challenge in hydraulic and coastal engineering. This paper presents an open-source numerical model for sediment transport and morphological evolution called <italic>sedExnerFoam</italic>. Implemented in the C++ multi-physics simulation toolkit <italic>OpenFOAM</italic>, the model combines high-resolution hydrodynamics with a transport equation for suspended sediment concentration, as well as a morphological evolution module based on the Exner equation. The sediment bed is one of the computational domain's boundaries, and its geometry varies over time. In turn, the evolution of the bed position affects the hydrodynamics through mesh deformation. Following a thorough description of the model, a series of benchmark tests is presented to evaluate its performance and demonstrate its capabilities. These benchmarks consist of a set of simplified simulations designed to validate each model component independently. These include a turbulent suspension case in an equilibrium channel, a case in which the flow transitions from a rigid starved bed to an erodible bed, becoming progressively laden with suspended sediments, and an idealized dune migration scenario that is decoupled from flow hydrodynamics. Finally, two deposition tests validate the model's mass conservation capability and highlight the avalanche mechanism that prevents excessive bed slope steepness. After the model has been validated, an application to the migration of a single dune under the influence of a steady flow is presented. Incorporating spatial bedload flux saturation is essential for achieving stable simulations and quantitative comparisons with experimental data in this application. The work presented in this manuscript represents a significant initial step in the development of a fully operational open-source model. Nevertheless, many improvements are still required. The article lists guidelines for future developments to inform future work.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e149">The transport of sediments and morphodynamics, that is, the evolution of the sedimentary bed, is a complex physical problem involving many processes related to fluid mechanics, through the action of water on sedimentary particles, and solid mechanics when avalanches occur due to gravity. A coupling instability mechanism between fluid flow and bed evolution can also lead to the formation of bedforms, typically ripples or dunes <xref ref-type="bibr" rid="bib1.bibx40 bib1.bibx11" id="paren.1"/>. These bedforms alter the bed roughness and create a feedback loop on the fluid flow, which can result in a significant increase in flood risk in rivers or estuaries <xref ref-type="bibr" rid="bib1.bibx71 bib1.bibx33" id="paren.2"/>. Therefore, morphodynamics models are essential tools for hydraulic engineers working on coastal, river, and estuarine systems, as they can be used to analyze erosion phenomena and assess the impact of human constructions, such as bridges, dams, and renewable marine energy production systems (e.g., wind and tidal turbines).</p>
      <p id="d2e158">The twentieth century saw the development of analytical models <xref ref-type="bibr" rid="bib1.bibx32" id="paren.3"/> and one-dimensional (1D) numerical models <xref ref-type="bibr" rid="bib1.bibx16 bib1.bibx26" id="paren.4"/> for the study of hydraulic and morphodynamic phenomena. In the 1980s and 1990s, two-dimensional (2D), depth-integrated, and quasi-tridimensional numerical models emerged, primarily in the fluvial domain <xref ref-type="bibr" rid="bib1.bibx30" id="paren.5"/>. Since the early 2000s, several three-dimensional (3D) models have been developed, including for coastal areas. Some are open-source, such as <italic>openTELEMAC</italic> <xref ref-type="bibr" rid="bib1.bibx4" id="paren.6"/>, <italic>ROMS/CROCO</italic> <xref ref-type="bibr" rid="bib1.bibx74 bib1.bibx46" id="paren.7"/>, and <italic>DELFT3D</italic> <xref ref-type="bibr" rid="bib1.bibx43" id="paren.8"/>, while others are proprietary, such as <italic>MIKE</italic> <xref ref-type="bibr" rid="bib1.bibx75" id="paren.9"/>. Most of these models are adapted to flows on “large spatial and temporal scales”, and are often based on the use of sigma coordinates in the vertical direction. This does not allow for the integration of obstacles such as bridge piers or wind turbine masts <xref ref-type="bibr" rid="bib1.bibx31 bib1.bibx43" id="paren.10"/>. Another important approximation made in these models lies in the parametrization of the boundary layer: the first computational node above the bed is located in the logarithmic layer. Therefore, these models are not particularly suitable for simulating interactions between morphodynamics and fluid flow around structures laid on the bottom, or for simulating processes such as scouring or bed instability, including the formation of ripples and dunes.</p>
      <p id="d2e199">A new generation of 3D models based on emergent computational fluid dynamics (CFD) <xref ref-type="bibr" rid="bib1.bibx44 bib1.bibx35 bib1.bibx3" id="paren.11"/>, allows for a finer resolution of flow and turbulence, particularly in the boundary layer and in the wake zones around structures. These models are based on the Arbitrary Lagrangian-Eulerian (ALE) approach, which handles the evolution of the bed boundary and the deformation of the associated volume mesh. To our knowledge, there is no open-source model of this type. While other approaches are possible, such as the immersed boundary method (IBM) <xref ref-type="bibr" rid="bib1.bibx65" id="paren.12"/> or multiphase approaches <xref ref-type="bibr" rid="bib1.bibx13 bib1.bibx54 bib1.bibx24" id="paren.13"/>, these are too computationally expensive for engineering applications. The ALE method, therefore, seems to be the best compromise. As part of a collaboration between the University of Grenoble Alpes (CNRS, Grenoble INP, and INRAE) and the engineering company ARTELIA Group, an open-source model is being developed within the C++ library <italic>OpenFOAM</italic><sup>®</sup> (v2412) <xref ref-type="bibr" rid="bib1.bibx39" id="paren.14"/>. This model, named <italic>sedExnerFoam</italic> <xref ref-type="bibr" rid="bib1.bibx59" id="paren.15"/>, is an ALE-based numerical framework developed to support a wide range of hydraulic engineering applications. While its development was initially motivated by the need to study scour around hydraulic structures, the model is intended as a more general tool for simulating sediment–flow interactions, such as studying the formation and migration of bedforms in channels, assessing sediment deposition and erosion patterns in rivers, and analyzing sediment accumulation in reservoirs.</p>
      <p id="d2e226">Non-uniform flow situations in sediment transport, including flow around hydraulic structures, channel contractions or expansions, and regions of rapidly varying bed morphology, require a fine local resolution to accurately capture the resulting flow features. To address this, the model relies on a CFD approach to solve the hydrodynamics and the excess of shear stress exerted on the sediment bed. This enables the study of various problems that cannot be simulated with depth-integrated models or models that rely on boundary layer parametrization. For instance, the migration of steep bedforms with flow separation occurring at their lee side due to the adverse pressure gradient <xref ref-type="bibr" rid="bib1.bibx71" id="paren.16"/> (see Fig. <xref ref-type="fig" rid="F1"/>), or scour around a bridge pile and the horseshoe vortex which is the driving mechanism causing erosion upstream of the pile <xref ref-type="bibr" rid="bib1.bibx15 bib1.bibx62" id="paren.17"/>, or jet driven scour downstream of a sluice gate <xref ref-type="bibr" rid="bib1.bibx12 bib1.bibx48" id="paren.18"/>.</p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e243">Schematic representation of the flow above a riverbed and the main sediment transport processes involved.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f01.png"/>

      </fig>

      <p id="d2e252">After presenting the mathematical formulation of <italic>sedExnerFoam</italic> in Sect. <xref ref-type="sec" rid="Ch1.S2"/> and the modeling approaches for hydrodynamics, turbulence, and sediment transport closures, several key numerical aspects are discussed in Sect. <xref ref-type="sec" rid="Ch1.S3"/>, with particular emphasis on the treatment of the Exner equation. It is followed, in Sect. <xref ref-type="sec" rid="Ch1.S4"/>, by the model validation against a series of academic benchmarks, which consist of simple test cases designed to isolate individual components of the model and validate them separately against analytical solutions or experimental data. The validation suite includes simulations of idealized dune migration, sediment suspension under steady flow conditions, both in and out of equilibrium, as well as two sediment deposition scenarios. Finally, in Sect. <xref ref-type="sec" rid="Ch1.S5"/>, the model’s capabilities are demonstrated through the simulation of an isolated dune migrating over a rigid bed under steady flow conditions. The numerical results reproduce a stationary migration regime, characterized by the dune moving at a constant velocity while maintaining its shape throughout the migration process. The conclusion provides a summary of the present work and a discussion of the current limitations of the model, as well as possible future improvements.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Mathematical description</title>
      <p id="d2e274">Sediment transport can be divided into two distinct modes: suspended load and bedload. Empirical formulas are used to estimate erosion and deposition fluxes between the riverbed and the water column, as well as the amount of sediment entrained in the bedload layer. This section provides a comprehensive overview of the model's components, beginning with hydrodynamics in Sect. <xref ref-type="sec" rid="Ch1.S2.SS1"/>, turbulence modeling in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/>, and suspended-sediment transport in Sect. <xref ref-type="sec" rid="Ch1.S2.SS3"/>. It then introduces the Exner equation, which governs the evolution of the bed morphology. The various closure relations used to estimate the threshold of motion and bedload flux are described, together with the avalanche model and the treatment of bedload flux saturation. Finally, the coupling between the suspended load and the sediment bed is detailed through an erosion–deposition formulation based on the classical reference concentration.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Hydrodynamics</title>
      <p id="d2e290">The fluid motion is governed by the incompressible, filtered Navier–Stokes equations:

            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M1" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>.</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>⊗</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="bold-italic">g</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>.</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="bold">S</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>.</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where the operator <inline-formula><mml:math id="M2" display="inline"><mml:mo>⊗</mml:mo></mml:math></inline-formula> is the dyadic product, <inline-formula><mml:math id="M3" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula> the fluid velocity, <inline-formula><mml:math id="M4" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> the fluid pressure, <inline-formula><mml:math id="M5" display="inline"><mml:mi mathvariant="bold-italic">g</mml:mi></mml:math></inline-formula> the gravitational acceleration, <inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the fluid density, <inline-formula><mml:math id="M7" display="inline"><mml:mi mathvariant="italic">ν</mml:mi></mml:math></inline-formula> the fluid kinematic viscosity, and <inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:mi mathvariant="bold">S</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>[</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">u</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mi>T</mml:mi></mml:msup><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> is the strain rate tensor. <inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a tensor which definition depends on the type of filter used. It can either be the opposite of the specific Reynolds stress tensor to run Reynolds Averaged Simulations (RAS), a subgrid scale stress tensor when performing Large Eddies Simulations (LES), or the null tensor for laminar simulations or Direct Numerical Simulations (DNS). The model takes full advantage of the wide range of options provided by <italic>OpenFOAM</italic>, and the type of filtering applied to Eq. (<xref ref-type="disp-formula" rid="Ch1.E1"/>) can be freely selected by the user. In this study, however, the numerical simulations are limited to either laminar cases (with no filtering of the Navier–Stokes equations) or unsteady RAS simulations.</p>
      <p id="d2e499">At this stage of model development, no feedback of the suspended load on the hydrodynamics is considered, i.e. the fluid density <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is assumed to be constant, an assumption appropriate for dilute suspensions where density effects and particle drag are negligible.</p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Turbulence modeling</title>
      <p id="d2e521">As stated previously, in the case of RAS filtering, the tensor <inline-formula><mml:math id="M11" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> in Eq. (<xref ref-type="disp-formula" rid="Ch1.E1"/>) is equal to the opposite of the specific Reynolds stress tensor <inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mfenced open="〈" close="〉"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="bold">′</mml:mo></mml:msup><mml:mo>⊗</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="bold">′</mml:mo></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>, with <inline-formula><mml:math id="M13" display="inline"><mml:mrow><mml:mfenced open="〈" close="〉"><mml:mspace width="0.25em" linebreak="nobreak"/></mml:mfenced></mml:mrow></mml:math></inline-formula> the Reynolds operator and <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="bold">′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> the fluctuating velocity field. A total of 6 additional unknowns (the velocity fluctuation correlations) are introduced in the system of equations by the use of the Reynolds stress tensor. The system as such is undetermined and the classical Boussinesq assumption is used as a closure. It expresses the Reynolds stress tensor as a function of the eddy viscosity <inline-formula><mml:math id="M15" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M16" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced open="〈" close="〉"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="bold">′</mml:mo></mml:msup><mml:mo>.</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="bold">′</mml:mo></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>, the turbulent kinetic energy (TKE):

            <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M17" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mi mathvariant="bold">S</mml:mi><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">2</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:mfrac></mml:mstyle><mml:mi>k</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi mathvariant="bold">I</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">I</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the identity matrix. Then, a turbulence model is used to compute <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. <italic>OpenFOAM</italic> offers multiple turbulence models to users, many of which are two-equation models based on <inline-formula><mml:math id="M20" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> and either <inline-formula><mml:math id="M21" display="inline"><mml:mi mathvariant="italic">ϵ</mml:mi></mml:math></inline-formula> or <inline-formula><mml:math id="M22" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula>, the rate of dissipation of TKE, and the specific rate of dissipation of TKE, respectively. A transport equation is then solved for each variable.</p>
      <p id="d2e716">Of the various turbulence models available for the RAS approach in <italic>OpenFOAM</italic> (<inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:math></inline-formula>, RNG<inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> …), only the well-known <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:math></inline-formula> Shear Stress Transport (SST) model introduced by <xref ref-type="bibr" rid="bib1.bibx50" id="text.19"/> is employed in this study, although the other turbulence models available in <italic>OpenFOAM</italic> are also compatible with the solver. The choice of this model was motivated by its capability to simulate both free shear flows and boundary layers, as well as its accuracy in capturing flow separation caused by adverse pressure gradients. The <inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:math></inline-formula> SST consists of a combination of two other classical turbulence models, the <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> <xref ref-type="bibr" rid="bib1.bibx42" id="paren.20"/> and the <inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:math></inline-formula> <xref ref-type="bibr" rid="bib1.bibx76" id="paren.21"/> models. The aim is to take the best out of those two models. Indeed, the <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> model is known to perform well for free shear flows but exhibits poor accuracy in the presence of adverse pressure gradients, rendering it unsuitable for flows involving boundary layer separation. Conversely, the <inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:math></inline-formula> model is better suited for capturing flows with adverse pressure gradients and boundary layers, but it is less efficient than the <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> for simulating free shear flows in regions outside the range of influence of the solid boundaries (e.g., rigid walls, sediment bed). The <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:math></inline-formula> SST model transitions between the two models using blending functions that take the distance to the nearest wall as input. In the version implemented in <italic>OpenFOAM</italic>, the eddy viscosity <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is expressed as follows:

            <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M35" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>k</mml:mi><mml:mrow><mml:mo>max⁡</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">23</mml:mn></mml:msub><mml:mo>‖</mml:mo><mml:mi mathvariant="bold">S</mml:mi><mml:mo>‖</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">23</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the product of two blending functions (<inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) and <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:mo>‖</mml:mo><mml:mi mathvariant="bold">S</mml:mi><mml:mo>‖</mml:mo><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="bold">S</mml:mi><mml:mo>:</mml:mo><mml:mi mathvariant="bold">S</mml:mi></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula> is a scalar measure of the strain rate tensor, with <inline-formula><mml:math id="M40" display="inline"><mml:mo>:</mml:mo></mml:math></inline-formula> the double inner product defined as <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:mi mathvariant="bold">S</mml:mi><mml:mo>:</mml:mo><mml:mi mathvariant="bold">S</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">tr</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold">SS</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, where tr is the trace operator. The temporal evolutions of <inline-formula><mml:math id="M42" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M43" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula> are described by two transport equations:

                <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M44" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E4"><mml:mtd><mml:mtext>4</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>.</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mi>P</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>.</mml:mo><mml:mo>(</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E5"><mml:mtd><mml:mtext>5</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>.</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">γ</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mi>P</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">β</mml:mi><mml:msup><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>(</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ω</mml:mi></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>k</mml:mi><mml:mo>.</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is another blending function. The production term <inline-formula><mml:math id="M46" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> is defined as <inline-formula><mml:math id="M47" display="inline"><mml:mrow><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>:</mml:mo><mml:mo>[</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">u</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mi>T</mml:mi></mml:msup><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>. In the equation for <inline-formula><mml:math id="M48" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> (Eq. <xref ref-type="disp-formula" rid="Ch1.E4"/>), a limiter is applied on the production rate:

            <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M49" display="block"><mml:mrow><mml:mover accent="true"><mml:mi>P</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mo movablelimits="false">min⁡</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          The different blending functions and constants of the model are detailed in Appendix <xref ref-type="sec" rid="App1.Ch1.S2"/>.</p>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Suspended sediment transport</title>
      <p id="d2e1400">In <italic>sedExnerFoam</italic>, the suspended load is described by the suspended sediment volume fraction <inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> where <inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> stand for the volume of sediment and the volume of fluid, respectively. The evolution of <inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> in space and time is governed by an advection-diffusion equation:

            <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M54" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>.</mml:mo><mml:mo>[</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>]</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>.</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the sediment settling velocity and <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the turbulent diffusivity for the suspended sediment. It is expressed as the ratio of the turbulent eddy viscosity and the Schmidt number <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> as <inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The possibility of using an additional diffusivity <inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> in near-bed areas is discussed in Sect. <xref ref-type="sec" rid="Ch1.S2.SS4.SSS3"/>. The suspended sediment concentration is supposed to behave as a passive scalar being transported with the flow and settling due to the effect of gravity. The settling velocity is computed as follows:

            <disp-formula id="Ch1.E8" content-type="numbered"><label>8</label><mml:math id="M60" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> is the terminal sediment settling velocity of a single particle in a quiescent fluid, <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">g</mml:mi><mml:mo>/</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">g</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula> is a unit vector oriented with gravity, and <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a hindrance function that takes values between 0 and 1 and is a decreasing function of <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. It represents the effect of particles hindering each other as they fall, leading to a drop in their settling velocity when <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> increases <xref ref-type="bibr" rid="bib1.bibx61" id="paren.22"/>. The terminal settling velocity is estimated using empirical formulations that either explicitly predict the settling velocity or implicitly determine it by computing the drag coefficient <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and solving the force balance between drag, buoyancy, and weight. In the present model, all available formulations take the dimensionless diameter <inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula> <xref ref-type="bibr" rid="bib1.bibx73" id="paren.23"/> as an input, defined as follows:

            <disp-formula id="Ch1.E9" content-type="numbered"><label>9</label><mml:math id="M68" display="block"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:mi>d</mml:mi><mml:mo mathsize="2.0em">(</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="italic">ν</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:msup><mml:mo mathsize="2.0em">)</mml:mo><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M69" display="inline"><mml:mi>d</mml:mi></mml:math></inline-formula> is the grain size, <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the density ratio, and <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the density of the sediment and the fluid, respectively.</p>
      <p id="d2e1867">The values adopted for the Schmidt <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> number have remained a topic of debate to this day, with no consensus yet reached. <xref ref-type="bibr" rid="bib1.bibx73" id="text.24"/> proposed a formula to estimate <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> from the sediment settling velocity and the friction velocity <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula>:

            <disp-formula id="Ch1.E10" content-type="numbered"><label>10</label><mml:math id="M76" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msup><mml:mfenced close=")" open="("><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mspace linebreak="nobreak" width="1em"/><mml:mtext>for</mml:mtext><mml:mspace width="1em" linebreak="nobreak"/><mml:mn mathvariant="normal">0.1</mml:mn><mml:mo>&lt;</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          This yields a Schmidt number smaller than one, which corresponds to suspended sediment being dispersed more effectively than momentum is mixed by turbulence. This can be explained by the fact that turbulent diffusion is not the only mechanism responsible for sediment dispersion; additional processes, such as particle collisions, particle inertia, and lift forces, can also enhance sediment diffusivity. Because these mechanisms are not accounted for in this classical approach, the Schmidt number is generally treated as a tuning parameter. In this model, the Schmidt number is treated as constant, with the preceding equation (Eq. <xref ref-type="disp-formula" rid="Ch1.E10"/>) serving as a useful guideline for choosing its value.</p>
      <p id="d2e1985">The final key aspect of this approach is the enforcement of the bed boundary condition, i.e., the exchange of mass between the sediment bed and the suspended load. This topic is discussed in Sect. <xref ref-type="sec" rid="Ch1.S2.SS4.SSS3"/>, which addresses erosion and deposition rates.</p>
</sec>
<sec id="Ch1.S2.SS4">
  <label>2.4</label><title>Bedload and Morphodynamics</title>
      <p id="d2e1999">Sediment transport modeling seeks to quantify how bedforms and channel morphology evolve under fluid flow. The section begins with the Exner equation description, which links bed elevation changes to sediment-flux divergence, followed by the motion threshold and bedload transport formulations that describe the onset and rate of particle motion. Slope-driven avalanching and bedload saturation further constrain near-bed dynamics, while erosion and deposition terms associated with suspended load exchange complete the framework for capturing morphodynamic evolution.</p>
<sec id="Ch1.S2.SS4.SSS1">
  <label>2.4.1</label><title>Exner equation</title>
      <p id="d2e2009">The morphological evolution of a granular bed in a wide range of sediment transport problems is modeled by the so-called Exner equation <xref ref-type="bibr" rid="bib1.bibx20" id="paren.25"/>:

              <disp-formula id="Ch1.E11" content-type="numbered"><label>11</label><mml:math id="M77" display="block"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>H</mml:mi></mml:msub><mml:mo>.</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>D</mml:mi><mml:mo>-</mml:mo><mml:mi>E</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the bed elevation, <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the porosity of the granular material, which is linked to the maximum possible sediment volume fraction <inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The bedload flux <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the specific flux of sediment transported along the bed per unit width. It is computed from the bed shear stress using an empirical formula. <inline-formula><mml:math id="M82" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M83" display="inline"><mml:mi>E</mml:mi></mml:math></inline-formula> are respectively the deposition and erosion rates; they are the terms through which sediment is exchanged between the bed and the water column. The Exner equation is a 2D equation and is thus solved after applying a 2D plane projection on all variables. The operator <inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>H</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> stands for the divergence operator on this projected plane.</p>
</sec>
<sec id="Ch1.S2.SS4.SSS2">
  <label>2.4.2</label><title>Bedload modeling</title>
      <p id="d2e2166">Sediment transport initiates when the bed shear stress <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> exceeds a critical value, referred to as the motion threshold and expressed in dimensionless form by the Shields number <inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>=</mml:mo><mml:mo>|</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>|</mml:mo><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mi>g</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:math></inline-formula> <xref ref-type="bibr" rid="bib1.bibx64" id="paren.26"/>. The corresponding critical value is known as the critical Shields number <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. This threshold depends on fluid and sediment properties as well as on the local bed slope. For a flat bed, the critical Shields number, denoted as <inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula>, can be estimated using empirical formulations, many of which are based on the dimensionless sediment particle diameter <inline-formula><mml:math id="M89" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula>, such as the one proposed by <xref ref-type="bibr" rid="bib1.bibx67" id="text.27"/>:

              <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M90" display="block"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">0.3</mml:mn><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1.2</mml:mn><mml:msub><mml:mi>D</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">0.055</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.02</mml:mn><mml:msub><mml:mi>D</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:msup><mml:mo>)</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e2324">Determining the threshold of motion remains challenging due to the absence of a universal definition. Depending on the criterion adopted, such as initial grain displacement, sustained motion, or measurable sediment transport, different threshold values may be obtained. Moreover, the influence of bed slope requires additional corrections. The effect of local bed slope is incorporated through a correction to the critical Shields number proposed by <xref ref-type="bibr" rid="bib1.bibx22" id="text.28"/>:

              <disp-formula id="Ch1.E13" content-type="numbered"><label>13</label><mml:math id="M91" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mi>cos⁡</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>sin⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msup><mml:mi>tan⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:msqrt></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mi>sin⁡</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

            where <inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the angle of the bed slope and <inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the angle between the steepest slope direction and the direction of the shear. The coefficient of static friction <inline-formula><mml:math id="M94" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is linked to the angle of repose of the granular material <inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> through <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:mi>tan⁡</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e2524">Relationships between the Shields number and the dimensionless bedload flux <inline-formula><mml:math id="M97" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>|</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>|</mml:mo><mml:mo>/</mml:mo><mml:msqrt><mml:mrow><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mi>g</mml:mi><mml:msup><mml:mi>d</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula> have been widely investigated <xref ref-type="bibr" rid="bib1.bibx18 bib1.bibx51 bib1.bibx72" id="paren.29"/>, leading to the development of numerous empirical formulations. Many commonly used expressions <xref ref-type="bibr" rid="bib1.bibx51 bib1.bibx55 bib1.bibx60" id="paren.30"/> take the following form:

              <disp-formula id="Ch1.E14" content-type="numbered"><label>14</label><mml:math id="M98" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>∝</mml:mo><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>a</mml:mi></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">ϖ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mi>b</mml:mi></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            with <inline-formula><mml:math id="M99" display="inline"><mml:mi>a</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M100" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula>, two real positive coefficients and <inline-formula><mml:math id="M101" display="inline"><mml:mi mathvariant="italic">ϖ</mml:mi></mml:math></inline-formula> the threshold function so that <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:mi mathvariant="italic">ϖ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> if <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>&gt;</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and 0 else. In this work, the bedload flux <inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is aligned with the bed shear stress.</p>
      <p id="d2e2697">In addition to transport driven by bed shear stress, sediment can also be mobilized through local avalanche processes when the bed slope exceeds the angle of repose of the granular material. If not taken into account, unrealistic slopes could appear in the numerical solution or even shock situations, which could trigger numerical instabilities in the model. <xref ref-type="bibr" rid="bib1.bibx47" id="text.31"/> proposed a model based on an iterative procedure to redistribute the excess of sediment locally until the bed slope does not exceed the granular material angle of repose. Such a procedure has been successfully tested in other works <xref ref-type="bibr" rid="bib1.bibx78" id="paren.32"/>. In <italic>sedExnerFoam</italic>, however, the avalanche is modeled with an additional bedload term <inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">av</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> inspired from <xref ref-type="bibr" rid="bib1.bibx17" id="text.33"/>:

              <disp-formula id="Ch1.E15" content-type="numbered"><label>15</label><mml:math id="M106" display="block"><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">av</mml:mi></mml:msub><mml:mo>|</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mi>q</mml:mi><mml:mi mathvariant="normal">av</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="italic">ϖ</mml:mi><mml:mo>[</mml:mo><mml:mi>tanh⁡</mml:mi><mml:mo>(</mml:mo><mml:mi>tan⁡</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi>tanh⁡</mml:mi><mml:mo>(</mml:mo><mml:mi>tan⁡</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>tanh⁡</mml:mi><mml:mo>(</mml:mo><mml:mi>tan⁡</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

            with <inline-formula><mml:math id="M107" display="inline"><mml:mrow><mml:msubsup><mml:mi>q</mml:mi><mml:mi mathvariant="normal">av</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> is a positive constant. It corresponds to the maximum possible additional bedload flux due to the avalanche. This avalanche flux is oriented toward the steepest slope direction. One benefit of this formulation is that it enables slopes to exceed the angle of repose in the event of competition between bedload flux due to bed shear stress and that due to gravitational acceleration.</p>
      <p id="d2e2833">One last aspect, which is often neglected when modeling sediment transport in water but is widely used in aeolian transport, is the saturation of the bedload flux. The adjustment of <inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> toward its saturated value <inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is commonly expressed in 1D <xref ref-type="bibr" rid="bib1.bibx10 bib1.bibx11" id="paren.34"/>, however, in this work, the following 2D formulation is proposed:

              <disp-formula id="Ch1.E16" content-type="numbered"><label>16</label><mml:math id="M110" display="block"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>H</mml:mi></mml:msub><mml:mo>.</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>‖</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>‖</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>⊗</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M111" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the saturated ﬂux, <inline-formula><mml:math id="M112" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the saturation time, and <inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the saturation length. When taking the saturation into account, the saturated flux <inline-formula><mml:math id="M114" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is computed from the bed shear stress (see Eq. <xref ref-type="disp-formula" rid="Ch1.E14"/>) and the bedload flux <inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the solution of Eq. (<xref ref-type="disp-formula" rid="Ch1.E16"/>). Similar to the Exner equation, the saturation equation is solved on a horizontal plane after projection.</p>
</sec>
<sec id="Ch1.S2.SS4.SSS3">
  <label>2.4.3</label><title>Erosion and deposition rates</title>
      <p id="d2e3010">As mentioned earlier, modeling erosion and deposition fluxes represents one of the main challenges in classical sediment transport models. Many sediment transport experiments in straight flumes have been conducted to study the relation between the flow and the rate at which particles are eroded from the bed to the water column. In his work, <xref ref-type="bibr" rid="bib1.bibx73" id="text.35"/> studied the case of sediment transport in a straight channel under equilibrium conditions and proposed an empirical formula to compute a reference concentration <inline-formula><mml:math id="M116" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> at a certain reference distance from the bed, the so-called reference level <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>:

              <disp-formula id="Ch1.E17" content-type="numbered"><label>17</label><mml:math id="M118" display="block"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.015</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>d</mml:mi><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">0.3</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

            The reference concentration corresponds to the concentration observed at a distance <inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> from the bed under equilibrium conditions.</p>
      <p id="d2e3134">This development has been adopted in many sediment transport models, which define the boundary condition <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> based on the assumption of equilibrium at the reference level. The boundary condition, however, may not be valid in cases where this local equilibrium assumption is violated. It was adapted by <xref ref-type="bibr" rid="bib1.bibx9" id="text.36"/> to accommodate non-equilibrium conditions. The erosion rate is written <inline-formula><mml:math id="M121" display="inline"><mml:mrow><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> and the deposition rate <inline-formula><mml:math id="M122" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, with <inline-formula><mml:math id="M123" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, a sediment concentration value computed from the values in the neighboring cells, which is detailed later on. The erosion rate is assumed equal to its equilibrium value, while deposition depends only on the concentration in the first cells above the bed. If <inline-formula><mml:math id="M124" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>&gt;</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, then suspended sediment gets deposited on the bed, and when <inline-formula><mml:math id="M125" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>&lt;</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, sediment gets eroded from the bed and suspended in the water column. The equilibrium occurs when <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e3287">One difficulty lies in prescribing the reference concentration at the reference level, which is located at some distance above the bed boundary. Large-scale sediment transport models avoid this difficulty by not meshing the region located between the sediment bed and the reference level. The downfall of this method is that the flow near the bed is not solved and needs to be modeled, typically leading to bad hydrodynamics in highly non-uniform flow regions, such as near obstacles. In order to maintain a good hydrodynamics resolution, <xref ref-type="bibr" rid="bib1.bibx35" id="text.37"/> developed a model relying on a different mesh for the hydrodynamics and for the suspended load. The bottom boundary of the mesh for the suspended load was located at the reference level, whereas the mesh for the hydrodynamics presented cells in between the sediment bed and the reference level. In <italic>sedExnerFoam</italic>, the choice to use a single mesh was made primarily for practical reasons, to simplify the operation of the model by avoiding the use of two different meshes and by allowing all boundary conditions to be applied directly at the bed interface.</p>
      <p id="d2e3296">As stated previously, the deposition and erosion fluxes are computed as suggested by <xref ref-type="bibr" rid="bib1.bibx9" id="text.38"/>. The erosion <inline-formula><mml:math id="M127" display="inline"><mml:mi>E</mml:mi></mml:math></inline-formula> is computed at the reference level <inline-formula><mml:math id="M128" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the Nikuradse equivalent roughness height (<inline-formula><mml:math id="M129" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2.5</mml:mn></mml:mrow></mml:math></inline-formula> d), using Eq. (<xref ref-type="disp-formula" rid="Ch1.E17"/>) and a limiter so that <inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> is not exceeding a value <inline-formula><mml:math id="M131" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, typically equal to half the maximum possible sediment volume fraction. The limiter ensures that <inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> remains physically realistic when the bed shear stress is high (see Eq. <xref ref-type="disp-formula" rid="Ch1.E17"/>). <xref ref-type="bibr" rid="bib1.bibx2" id="text.39"/> used a maximum possible reference concentration <inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow><mml:mo>*</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.3</mml:mn></mml:mrow></mml:math></inline-formula> which is close to the value of 0.32 suggested by <xref ref-type="bibr" rid="bib1.bibx19" id="text.40"/>. The computed reference concentration is then extrapolated at the height of the first cell center above the sediment bed boundary <inline-formula><mml:math id="M134" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, using the formula suggested by <xref ref-type="bibr" rid="bib1.bibx21" id="text.41"/>:

              <disp-formula id="Ch1.E18" content-type="numbered"><label>18</label><mml:math id="M135" display="block"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>*</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:mo movablelimits="false">min⁡</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mfenced></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M136" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> is the reference concentration extrapolated at the height <inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M139" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> stand for the settling velocity and the sediment turbulent diffusivity values at the center of the first cell above the sediment bed located at a height <inline-formula><mml:math id="M140" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. The expression of <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> is obtained by considering a local equilibrium in a small region above the bed and assuming <inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> to be uniform between the reference level <inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> and the center of the first cell above the bed. The deposition and erosion are then computed at the first cell center and not on the bed boundary, leading to <inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. The total erosion/deposition rate is then estimated as:

              <disp-formula id="Ch1.E19" content-type="numbered"><label>19</label><mml:math id="M146" display="block"><mml:mrow><mml:mi>D</mml:mi><mml:mo>-</mml:mo><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>*</mml:mo></mml:msubsup><mml:mo>)</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

            This flux is prescribed as a boundary condition for the suspended-load transport (Eq. <xref ref-type="disp-formula" rid="Ch1.E7"/>). With this approach, the same computational mesh can be employed for both suspended-load and hydrodynamic calculations, allowing for fine resolution near the sediment bed. It should be noted that the various formulations for <inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> found in the literature are empirical in nature and are derived primarily from measurements conducted in straight-channel flow experiments. Their applicability outside of such configurations, particularly in the vicinity of obstacles that disturb the flow, should therefore be treated with caution.</p>
      <p id="d2e3733">To address difficulties in suspending material from the bed to the water column under fine grid resolution and low roughness Reynolds number conditions <inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mo>+</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow><mml:mi mathvariant="italic">ν</mml:mi></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula>, an additional near-bed diffusivity for suspended sediment <inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> was introduced in the model. In the smooth and intermediate roughness regimes, the eddy viscosity vanishes within a thin layer near the bed. When the mesh resolution is sufficiently fine such that the first cells lie within this layer, the eroded sediment tends to remain confined to these cells rather than being transported upward into the water column. The additional diffusivity introduced for suspended sediment is defined as follows:

              <disp-formula id="Ch1.E20" content-type="numbered"><label>20</label><mml:math id="M150" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="italic">ν</mml:mi></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi>w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>tanh⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="italic">ξ</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>z</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

            It can be interpreted as the dispersion resulting from particle collisions, which is not accounted for in Eq. (<xref ref-type="disp-formula" rid="Ch1.E7"/>) but plays a role locally in the near-bed region, where the solid volume fraction can be significant. This term allows particles to reach an elevation above the viscous sublayer, where they can be entrained by turbulent eddies and transported upward into the water column. However, when the flow is hydraulically rough (<inline-formula><mml:math id="M151" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mo>+</mml:mo></mml:msubsup><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">90</mml:mn></mml:mrow></mml:math></inline-formula>), turbulence penetrates down to the bed, and the use of <inline-formula><mml:math id="M152" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is no longer necessary. The coefficients <inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi>w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ξ</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are both set to <inline-formula><mml:math id="M155" display="inline"><mml:mn mathvariant="normal">5</mml:mn></mml:math></inline-formula> by default.</p>
</sec>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Numerical implementation</title>
      <p id="d2e3915">The numerical implementation of <italic>sedExnerFoam</italic> is based on the finite volume method (FVM) and developed within the <italic>OpenFOAM</italic><sup>®</sup> (v2412) framework. The development originated from the existing solver <italic>pimpleFoam</italic>, which is designed for incompressible transient flow simulations and employs the PIMPLE algorithm for pressure-velocity coupling. This section outlines the key numerical features of the model, its operating sequence, and the numerical methods employed, with particular attention given to the treatment of the Exner equation. Finally, the case structure is presented, including all necessary files and the modeling options available to users.</p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Code implementation</title>
      <p id="d2e3936">The Navier-Stokes equations (Eq. <xref ref-type="disp-formula" rid="Ch1.E1"/>) and the transport equation for suspended load (Eq. <xref ref-type="disp-formula" rid="Ch1.E7"/>) are both solved using the finite volume method. The computational domain is discretized into a multitude of polyhedral control volumes over which the partial differential equations are integrated. The Exner equation, however, is solved over a surface (the sediment bed) using the finite area method (FAM). FAM is an adaptation of the finite volume methods on a surface curved in 3D space. It was initially developed by <xref ref-type="bibr" rid="bib1.bibx70" id="text.42"/> for the numerical study of the transport of a surfactant at the interface between two fluids and has since then been successfully applied to other problems, such as dense-flow avalanches <xref ref-type="bibr" rid="bib1.bibx57" id="paren.43"/>. In the present model, the finite area mesh is coupled with the volumetric mesh patch representing the sediment bed, such that the finite area mesh coincides with the bed boundary of the finite volume mesh. This approach ensures seamless interaction between flow and sediment transport without the need for multiple meshes. The discretization of the partial differential equations using the finite area method was originally developed to account for surface curvature; however, curvature effects are not considered in the present treatment of bed morphology evolution. Accordingly, the Exner equation is solved on a plane projected normal to the gravity vector <inline-formula><mml:math id="M156" display="inline"><mml:mi mathvariant="bold-italic">g</mml:mi></mml:math></inline-formula>.</p>

      <fig id="F2"><label>Figure 2</label><caption><p id="d2e3958">Flow chart of <italic>sedExnerFoam</italic>, illustrating the operations performed by the model during each time iteration.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f02.png"/>

        </fig>

      <p id="d2e3970">The sequence of operations performed during a time iteration and their sequence are represented in Fig. <xref ref-type="fig" rid="F2"/>. After solving the mesh deformation, the differential equations for the velocity field <inline-formula><mml:math id="M157" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula>, the pressure <inline-formula><mml:math id="M158" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> (Eq. <xref ref-type="disp-formula" rid="Ch1.E1"/>) as well as transport equations for fields related to turbulence modeling (Eqs. <xref ref-type="disp-formula" rid="Ch1.E4"/>, <xref ref-type="disp-formula" rid="Ch1.E5"/>) are first solved through the PIMPLE algorithm for transient solution which is detailed in <xref ref-type="bibr" rid="bib1.bibx27" id="text.44"/>. It consists of a mix of the SIMPLE (Semi-Implicit Method for Pressure-Linked Equations) from <xref ref-type="bibr" rid="bib1.bibx56" id="text.45"/> and the PISO (Pressure Implicit with Splitting of Operators) from <xref ref-type="bibr" rid="bib1.bibx34" id="text.46"/>. An additional corrector loop called the PIMPLE loop is added above the PISO loop. During each time step, the velocity flux through the mesh faces is updated at every PIMPLE loop iteration, preserving the simulation stability at a higher Courant number (<inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>). The PISO algorithm behavior is restored by disabling the PIMPLE loop. Once the hydrodynamics have been solved, the shear stress exerted on the bed is computed as well as the associated bedload and erosion flux. The transport equation for suspended sediment transport is solved, and the deposition flux is deduced from it. Lastly, the bed boundary motion is computed by explicitly solving the Exner equation. At the beginning of the next time iteration, the mesh is updated to match the new bed position.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Exner equation resolution</title>
      <p id="d2e4028">Let us integrate the Exner equation (Eq. <xref ref-type="disp-formula" rid="Ch1.E11"/>) over the projection of a face f:

            <disp-formula id="Ch1.E21" content-type="numbered"><label>21</label><mml:math id="M160" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mo mathsize="2.0em">|</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">fp</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>e</mml:mi></mml:munder><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">ep</mml:mi></mml:mrow></mml:msub><mml:mo>.</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi mathvariant="normal">ep</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mi mathvariant="normal">ep</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mi>D</mml:mi><mml:mo>-</mml:mo><mml:mi>E</mml:mi><mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">fp</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>.</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the projected area of face f with <inline-formula><mml:math id="M162" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> face f area, and <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the face normal unit vector oriented outward of the computational domain. <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi mathvariant="normal">ep</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the length of the projected edge, <inline-formula><mml:math id="M165" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">ep</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> the projected bedload flux at edge e, and <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi mathvariant="normal">ep</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the projected normal edge vector, oriented outward with respect to face f. The users have the choice to use either an explicit Euler scheme or a second-order <italic>Adams-Bashforth</italic> scheme for temporal integration. The discretization scheme for the divergence flux term can be either centered (i.e. linear), upwind first order or upwind second order (i.e. linear upwind).</p>
      <p id="d2e4221">From Eq. (<xref ref-type="disp-formula" rid="Ch1.E21"/>), at each time step, an increment of bed elevation <inline-formula><mml:math id="M167" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is computed for each face center. In <italic>OpenFOAM</italic>, the mesh geometry is defined by the vertices' coordinates. Thus, to impose a mesh motion, the vertical displacements computed at face centers need to be interpolated on the vertices. Particular caution must be given to the interpolation scheme to ensure mass conservation. A straightforward approach would be to linearly interpolate <inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> from face centers to vertices. Although mass-conservative for 1D bathymetries on structured meshes, the method fails to preserve mass for 2D bathymetries on unstructured meshes. <xref ref-type="bibr" rid="bib1.bibx36" id="text.47"/> provided a detailed review of the various methods available for solving the Exner equation and analyzed their respective advantages and limitations. He proposed a mass-conservative interpolation scheme, which is the one implemented in the present model.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e4258">Construction of the dual mesh from the horizontal projection of the finite-area mesh. The dual mesh is formed by connecting the centers of the original mesh faces and the centers of their edges, illustrated here for three polygonal faces.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f03.png"/>

        </fig>

      <p id="d2e4268">A dual mesh is constructed as depicted in Fig. <xref ref-type="fig" rid="F3"/>. Each vertex v of the primary mesh serves as the center of a face in the dual mesh. The vertices defining this dual face consist of the neighboring primary faces <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> that share vertex v, as well as the centers of the edges for which v is an endpoint. The mass increment of the sediments contained under a face f is <inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">fp</mml:mi></mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:msub><mml:mo>|</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:msub><mml:mo>|</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the face elevation increment. To ensure mass conservation during the interpolation process, the sum of the mass contained under every face must be the same when computing this sum for both the initial mesh and the dual mesh. The vertical displacement of each vertex <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:msub><mml:mo>|</mml:mo><mml:mi mathvariant="normal">v</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is then a linear combination of the displacements of the faces sharing this vertex. The weight associated with each face is proportional to the area of the quadrilateral defined by the face center, the vertex, and the centers of the two edges belonging to the face and sharing the vertex (see Fig. <xref ref-type="fig" rid="F3"/>). Let us note the area of this quadrilateral <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">df</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the value of the elevation increment <inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:msub><mml:mo>|</mml:mo><mml:mi mathvariant="normal">v</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> associated to a vertex <inline-formula><mml:math id="M175" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula> is computed:

            <disp-formula id="Ch1.E22" content-type="numbered"><label>22</label><mml:math id="M176" display="block"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:msub><mml:mo>|</mml:mo><mml:mi mathvariant="normal">v</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:munder><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">df</mml:mi></mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:msub><mml:mo>|</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the area of the dual face whose center is the vertex v. It is equal to the sum of the area of each face associated quadrilateral: <inline-formula><mml:math id="M178" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mo>∑</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">df</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Thus, the sum of the interpolation weights is equal to 1. This interpolation method is mass-conservative and also acts as a filter, as the bed increment is interpolated back and forth between the face centers, where the Exner equation is solved, and the vertices, where the mesh motion is imposed, which in turn updates the positions of the face centers. The final bed displacement at each face is computed in two steps: first, interpolation from faces to vertices, and then from vertices back to faces, with the face centers defined as the center of mass of the vertices composing each face. This filtering effect contributes to maintaining the numerical stability of the Exner equation solution.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Mesh motion</title>
      <p id="d2e4493">At each time step, solving the Exner equation gives a displacement for the bed boundary. For the finite volume mesh to adapt to the bed boundary motion and to preserve the mesh quality throughout the simulation, a mesh motion solver based on a Laplacian equation for cell center displacements is used:

            <disp-formula id="Ch1.E23" content-type="numbered"><label>23</label><mml:math id="M179" display="block"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>.</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">Δ</mml:mi><mml:msub><mml:mi>X</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the mesh diffusivity and <inline-formula><mml:math id="M181" display="inline"><mml:mrow><mml:mi mathvariant="bold">Δ</mml:mi><mml:msub><mml:mi>X</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the displacement of the cell centers. Solving Eq. (<xref ref-type="disp-formula" rid="Ch1.E23"/>), new positions of the mesh cell centers are obtained. The mesh vertices' new coordinates are then interpolated from <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:mi mathvariant="bold">Δ</mml:mi><mml:msub><mml:mi>X</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The motion solver is defined in the file <italic>constant/dynamicMeshDict</italic>, and this study utilizes the <italic>displacementLaplacian</italic> solver.</p>
      <p id="d2e4580">Using a spatially non-uniform mesh diffusivity (<inline-formula><mml:math id="M183" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) makes it possible to prioritize mesh quality and control cell sizes in specific regions. Areas with lower <inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are more prone to mesh distortion, whereas regions with higher values help prevent excessive cell shrinking or expansion, provided that bed movement remains moderate. Several approaches are available for prescribing <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, giving the user flexibility in defining its spatial distribution. As a general guideline, it is recommended to assign a high mesh diffusivity near the sediment bed interface to preserve mesh quality in this critical region. The following options, which can be selected in the configuration file <italic>constant/dynamicMeshDict</italic>, ensure this behavior: <list list-type="bullet"><list-item>
      <p id="d2e4621">inverseDistance: <inline-formula><mml:math id="M186" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mi mathvariant="normal">sb</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></p></list-item><list-item>
      <p id="d2e4646">quadratic inverseDistance: <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:msubsup><mml:mi>l</mml:mi><mml:mi mathvariant="normal">sb</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula></p></list-item><list-item>
      <p id="d2e4673">exponential: <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mi mathvariant="normal">sb</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></p></list-item></list> where <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi mathvariant="normal">sb</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the distance to the sediment bed boundary.</p>
      <p id="d2e4712">One drawback of using the finite-volume method to compute mesh motion is the need to interpolate vertex displacements from the cell-centered displacements obtained from Eq. (<xref ref-type="disp-formula" rid="Ch1.E23"/>). This interpolation step can degrade mesh quality in regions where bed motion is highly non-uniform. In the worst-case scenario, severe distortion may cause some cells to collapse, ultimately leading to simulation failure. Among all the simulations conducted, one problematic case has been identified: the migration of a steep bedform. When the crest is sharp, the vertices located just above the crest, but not belonging to the bed boundary, may be displaced below the bed surface during the interpolation step. Reducing the aspect ratio of the near-bed cells has proven to be an effective way to mitigate this issue.</p>
</sec>
<sec id="Ch1.S3.SS4">
  <label>3.4</label><title>File structure of a case</title>
      <p id="d2e4726">The numerical setup is defined through a set of input files that specify the computational domain, physical parameters, boundary and initial conditions, and numerical options. Each file must be properly configured by the user before running the simulation. The following sections describe the purpose and required content of each file. The basic directory structure – i.e., all files required to run a <italic>sedExnerFoam</italic> simulation – is shown in Fig. <xref ref-type="fig" rid="F4"/>. It is organized into three main folders, further explained below.</p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e4736">Case directory structure for a <italic>sedExnerFoam</italic> simulation, organized into three folders: 0 for initial conditions, constant for modeling options and physical properties, and system for time control and numerical settings.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f04.png"/>

        </fig>


<sec id="Ch1.S3.SS4.SSS1">
  <label>3.4.1</label><title>Initial and boundary conditions</title>
      <p id="d2e4758">The initial time directory, usually named “0”, contains the initial conditions for all fields required by <italic>sedExnerFoam</italic>. Each field file defines both the initial field values and the boundary conditions applied to every patch of the mesh. The required fields include velocity (<inline-formula><mml:math id="M190" display="inline"><mml:mi>U</mml:mi></mml:math></inline-formula>), pressure (<inline-formula><mml:math id="M191" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>), and, depending on the turbulence model employed, the relevant turbulent quantities. In Fig. <xref ref-type="fig" rid="F4"/>, the setup illustrates the use of the <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:math></inline-formula> SST turbulence model and consequently, the additional turbulent fields required are <inline-formula><mml:math id="M193" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (nut), <inline-formula><mml:math id="M194" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> (<inline-formula><mml:math id="M195" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>), and <inline-formula><mml:math id="M196" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula> (omega). The suspended sediment volume fraction (Cs) and settling velocity (Ws) must also be specified. The <italic>finite-area</italic> subdirectory contains the finite-area fields, including the bedload flux and, optionally, the position of a rigid bedrock. When a rigid bedrock is specified, the model restricts erosion to a predefined depth, ensuring that the non-erodible layer remains unaffected. This is achieved by iterating over all edges of the finite-area mesh and limiting the bedload flux whenever the sediment volume between the upwind face and the rigid bed is less than the flux through the edge. The initial time directory is read at the start of a simulation, providing the baseline from which the solution begins to evolve.</p>
</sec>
<sec id="Ch1.S3.SS4.SSS2">
  <label>3.4.2</label><title>Constant directory</title>
      <p id="d2e4836">The <italic>constant</italic> directory contains the model configuration and physical properties, as well as the finite-volume and finite-area meshes stored in the <italic>polyMesh</italic> and <italic>finite-area</italic> subdirectories, respectively. The turbulence modeling approach (LES, RAS), and the specific model used is defined in the <italic>turbulenceProperties</italic> file. Additionally, the <italic>dynamicMeshDict</italic> file is used to select the mesh-motion solver and the mesh-diffusivity method to be applied. The fluid and sediment properties, such as densities, grain size, and fluid kinematic viscosity, are specified by the user in the <italic>transportProperties</italic> file. Modeling options related to sediment transport are separated into two files, <italic>suspensionProperties</italic> and <italic>bedloadProperties</italic>, each corresponding to one mode of sediment transport.</p>
      <p id="d2e4864">In <italic>suspensionProperties</italic>, the user can enable or disable suspended load, select both a formulation for the terminal settling velocity <inline-formula><mml:math id="M197" display="inline"><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> and a hindrance model from those summarized in Table <xref ref-type="table" rid="T1"/>, apply an additional wall diffusivity (see Eq. <xref ref-type="disp-formula" rid="Ch1.E20"/>), and adjust the coefficients <inline-formula><mml:math id="M198" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi>w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M199" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ξ</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, as well as the limiter on the reference concentration <inline-formula><mml:math id="M200" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> (see Eq. <xref ref-type="disp-formula" rid="Ch1.E18"/>).</p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e4935">Available options in <italic>sedExnerFoam</italic> for computing the terminal settling velocity <inline-formula><mml:math id="M201" display="inline"><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> and hindrance functions <inline-formula><mml:math id="M202" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Models are selected in <italic>suspensionProperties</italic> using the entries <italic>fallModel</italic> and <italic>hindranceModel</italic>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">keyword</oasis:entry>
         <oasis:entry colname="col2">formula (for <inline-formula><mml:math id="M203" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> or <inline-formula><mml:math id="M204" display="inline"><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col3">references</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col3">terminal fall models </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Stokes</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M205" display="inline"><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mn mathvariant="normal">18</mml:mn><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mi>g</mml:mi><mml:msup><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx68" id="text.48"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Fredsoe</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M206" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.4</mml:mn><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">36</mml:mn><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mi>d</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx22" id="text.49"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Soulsby</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M207" display="inline"><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi mathvariant="italic">ν</mml:mi><mml:mi>d</mml:mi></mml:mfrac></mml:mstyle><mml:msqrt><mml:mrow><mml:msup><mml:mn mathvariant="normal">10.36</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1.049</mml:mn><mml:msubsup><mml:mi>D</mml:mi><mml:mo>*</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:msubsup></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx66" id="text.50"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Rubey</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M208" display="inline"><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>+</mml:mo><mml:mn mathvariant="normal">36</mml:mn><mml:msubsup><mml:mi>D</mml:mi><mml:mo>*</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:msqrt><mml:mo>-</mml:mo><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">36</mml:mn><mml:msubsup><mml:mi>D</mml:mi><mml:mo>*</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:msqrt></mml:mrow></mml:mfenced><mml:msqrt><mml:mrow><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mi>g</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx63" id="text.51"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">fixedValue</oasis:entry>
         <oasis:entry colname="col2">value given by user</oasis:entry>
         <oasis:entry colname="col3"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col3">hindrance models </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Zaki</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M209" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx61" id="text.52"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ZakiModified</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M210" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msubsup><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msubsup></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx7" id="text.53"/>
                    </oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e5429">In <italic>bedloadProperties</italic>, the user can enable or disable bedload transport and morphological evolution, choose models for the critical Shields number and for the bedload formulation (see Table <xref ref-type="table" rid="T2"/>), activate the critical Shields number slope correction (Eq. <xref ref-type="disp-formula" rid="Ch1.E13"/>), set the avalanche coefficient <inline-formula><mml:math id="M211" display="inline"><mml:mrow><mml:msubsup><mml:mi>q</mml:mi><mml:mi mathvariant="normal">av</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula>, use a morphological acceleration factor that scales the bedload flux, and specify whether a rigid, non-erodible bed exists beneath the sediment layer, which limits the maximum erosion depth.</p>

<table-wrap id="T2" specific-use="star"><label>Table 2</label><caption><p id="d2e5455">Available formulas in <italic>sedExnerFoam</italic> to compute the critical Shields number on a flat bed <inline-formula><mml:math id="M212" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> from fluid and sediment properties, and the dimensionless bedload flux <inline-formula><mml:math id="M213" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> from the Shields number <inline-formula><mml:math id="M214" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula>. Models are selected in <italic>bedloadProperties</italic> using the entries <italic>criticalShieldsModel</italic> and <italic>bedloadModel</italic>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">keyword</oasis:entry>
         <oasis:entry colname="col2">formula</oasis:entry>
         <oasis:entry colname="col3">references</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col3">critical Shields number </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Brownlie</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M215" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">0.22</mml:mn><mml:mrow><mml:msubsup><mml:mi>D</mml:mi><mml:mo>*</mml:mo><mml:mn mathvariant="normal">0.9</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">0.06</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">7.7</mml:mn><mml:msubsup><mml:mi>D</mml:mi><mml:mo>*</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.9</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx6" id="text.54"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Miedema</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M216" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">0.2285</mml:mn><mml:mrow><mml:msubsup><mml:mi>D</mml:mi><mml:mo>*</mml:mo><mml:mn mathvariant="normal">1.02</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">0.0575</mml:mn><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0225</mml:mn><mml:msub><mml:mi>D</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx52" id="text.55"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Soulsby</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M217" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">0.3</mml:mn><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1.2</mml:mn><mml:msub><mml:mi>D</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">0.055</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.02</mml:mn><mml:msub><mml:mi>D</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx67" id="text.56"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Zanke</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M218" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">0.145</mml:mn><mml:mrow><mml:msubsup><mml:mi>D</mml:mi><mml:mo>*</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msup><mml:mn mathvariant="normal">0.04510</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1100</mml:mn><mml:msubsup><mml:mi>D</mml:mi><mml:mo>*</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2.25</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx77" id="text.57"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">fixedValue</oasis:entry>
         <oasis:entry colname="col2">value given by user</oasis:entry>
         <oasis:entry colname="col3"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col3">bedload transport formulas </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Camenen</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M219" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">12</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">1.5</mml:mn></mml:msup><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4.5</mml:mn><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx8" id="text.58"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">MeyerPeter</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M220" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">8</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">ϖ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx51" id="text.59"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Nielsen</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M221" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">12</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">ϖ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx55" id="text.60"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">vanRijn</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M222" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.053</mml:mn><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi mathvariant="italic">ϖ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2.1</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:msubsup><mml:mi>D</mml:mi><mml:mo>*</mml:mo><mml:mn mathvariant="normal">0.3</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">
                      <xref ref-type="bibr" rid="bib1.bibx72" id="text.61"/>
                    </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">custom</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M223" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>a</mml:mi></mml:msup><mml:mi mathvariant="italic">ϖ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mi>b</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S3.SS4.SSS3">
  <label>3.4.3</label><title>Case run control</title>
      <p id="d2e6090">The system directory in <italic>OpenFOAM</italic> contains files that control how simulations are executed. Among them, the <italic>controlDict</italic> file specifies the simulation time controls, including start and end times, time-step settings, and also defines optional libraries and post-processing utilities to be executed during the simulation. The <italic>fvSchemes</italic> file, which specifies the numerical discretization schemes, and the <italic>fvSolution</italic> file, which sets the linear solvers and algorithmic controls. Depending on the case setup, additional configuration files may appear in this directory. The <italic>finite-area</italic> subdirectory contains all files related to the finite-area method, including the finite-area mesh definition in <italic>faMeshDefinition</italic> and the numerical schemes and linear solvers in <italic>faSchemes</italic> and <italic>faSolution</italic>, respectively. Together, these files govern the computational parameters, numerical methods and overall runtime behavior of the simulation.</p>
</sec>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Model validation</title>
      <p id="d2e6128">A series of tests is presented both to illustrate the model behavior of <italic>sedExnerFoam</italic> and to validate it against either analytical solutions or experimental results. The tests are chosen to isolate one physical process at a time. They are organized as follows: two tests involving suspended load transport only are first presented (1D and 2D). Next, the case of an idealized dune migration problem (1D) for which an analytical solution exists is investigated. At last, the conservation of mass is illustrated by means of two tests on suspended sediment deposition and avalanches (1D and 2D). Most of these tests are part of a continuous integration process available on the GitHub repository.</p>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Suspension under equilibrium condition</title>
      <p id="d2e6141">A classical test is the suspension of sediment in a straight flume under equilibrium conditions, which has been extensively studied <xref ref-type="bibr" rid="bib1.bibx73 bib1.bibx45 bib1.bibx53" id="paren.62"/>. A fully developed flow in a channel is considered. The channel is supposed to be long enough so that the vertical profiles of velocity and turbulent eddy viscosity are stationary. Under equilibrium conditions, the vertical profile of suspended sediment concentration is the result of a balance between the gravity, which makes the particles settle at a velocity <inline-formula><mml:math id="M224" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the mixing induced by turbulence. Let <inline-formula><mml:math id="M225" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denote the magnitude of <inline-formula><mml:math id="M226" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the transport equation for the suspended load (Eq.  <xref ref-type="disp-formula" rid="Ch1.E7"/>) reduces to:

            <disp-formula id="Ch1.E24" content-type="numbered"><label>24</label><mml:math id="M227" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e6238">Depending on the shear stress exerted on the bed, granular material is eroded and suspended in the water column. Then, the turbulent diffusion uplifts the particles until an equilibrium is reached. Assuming a parabolic turbulent viscosity profile, <inline-formula><mml:math id="M228" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mi mathvariant="italic">κ</mml:mi><mml:mi>z</mml:mi><mml:mo>(</mml:mo><mml:mi>H</mml:mi><mml:mo>-</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M229" display="inline"><mml:mrow><mml:mi mathvariant="italic">κ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.41</mml:mn></mml:mrow></mml:math></inline-formula> is the von Kármán constant, the solution of Eq. (<xref ref-type="disp-formula" rid="Ch1.E24"/>) between the reference level <inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, where the concentration is the reference concentration <inline-formula><mml:math id="M231" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, and the top of the water column <inline-formula><mml:math id="M232" display="inline"><mml:mi>H</mml:mi></mml:math></inline-formula> is the so-called Rouse profile:

            <disp-formula id="Ch1.E25" content-type="numbered"><label>25</label><mml:math id="M233" display="block"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo mathsize="2.0em">(</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>H</mml:mi><mml:mo>-</mml:mo><mml:mi>z</mml:mi></mml:mrow><mml:mi>z</mml:mi></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow><mml:mrow><mml:mi>H</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:msup><mml:mo mathsize="2.0em">)</mml:mo><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>o</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M234" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mi mathvariant="italic">κ</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula> is the Rouse number.</p>
      <p id="d2e6440">To validate the suspended load component of the model, numerical results are compared with experimental data from <xref ref-type="bibr" rid="bib1.bibx45" id="text.63"/>. The experiment was conducted in a 13 m-long and 26.7 cm-wide flume with a bottom covered by a layer of sand. Flow and suspended sediments concentration measurements were made approximately 9 m downstream of the channel entrance. The experiment parameters are summarized in Table <xref ref-type="table" rid="T3"/>.</p>

<table-wrap id="T3"><label>Table 3</label><caption><p id="d2e6452">Parameters of four tests from <xref ref-type="bibr" rid="bib1.bibx45" id="text.64"/> experiment. Particles diameter <inline-formula><mml:math id="M235" display="inline"><mml:mi>d</mml:mi></mml:math></inline-formula>, settling velocity <inline-formula><mml:math id="M236" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, mean water velocity <inline-formula><mml:math id="M237" display="inline"><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:math></inline-formula>, water depth, friction velocity <inline-formula><mml:math id="M238" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula> and Rouse number <inline-formula><mml:math id="M239" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>o</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">test</oasis:entry>
         <oasis:entry colname="col2">1565</oasis:entry>
         <oasis:entry colname="col3">1965</oasis:entry>
         <oasis:entry colname="col4">2565</oasis:entry>
         <oasis:entry colname="col5">1957</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M240" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.15</oasis:entry>
         <oasis:entry colname="col3">0.19</oasis:entry>
         <oasis:entry colname="col4">0.24</oasis:entry>
         <oasis:entry colname="col5">0.19</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M241" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">1.6</oasis:entry>
         <oasis:entry colname="col3">2.3</oasis:entry>
         <oasis:entry colname="col4">3.1</oasis:entry>
         <oasis:entry colname="col5">2.3</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M242" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.649</oasis:entry>
         <oasis:entry colname="col3">0.671</oasis:entry>
         <oasis:entry colname="col4">0.744</oasis:entry>
         <oasis:entry colname="col5">0.672</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M243" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">6.45</oasis:entry>
         <oasis:entry colname="col3">6.51</oasis:entry>
         <oasis:entry colname="col4">6.54</oasis:entry>
         <oasis:entry colname="col5">5.72</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M244" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">3.58</oasis:entry>
         <oasis:entry colname="col3">3.75</oasis:entry>
         <oasis:entry colname="col4">4.25</oasis:entry>
         <oasis:entry colname="col5">3.95</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M245" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>o</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">1.09</oasis:entry>
         <oasis:entry colname="col3">1.24</oasis:entry>
         <oasis:entry colname="col4">1.38</oasis:entry>
         <oasis:entry colname="col5">1.17</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e6773">For the four tests, measurements of the velocity field, the velocity correlation, and the suspended sediment concentration profiles are available.</p>
      <p id="d2e6776">The four equilibrium bed experiments are reproduced numerically. A 1D mesh is employed, consisting of a column of 120 cells oriented along the vertical <inline-formula><mml:math id="M246" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>-direction. Cyclic boundary conditions are applied in the stream-wise <inline-formula><mml:math id="M247" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-direction, and the mesh is refined near the bed. Only the <inline-formula><mml:math id="M248" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-component <inline-formula><mml:math id="M249" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula> of the velocity field is non-zero. For all four simulations, the <inline-formula><mml:math id="M250" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:math></inline-formula> SST turbulence model is employed, and the mesh resolution near the bed is maintained at <inline-formula><mml:math id="M251" display="inline"><mml:mrow><mml:msup><mml:mi>z</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> to ensure adequate resolution and an accurate estimation of the bed shear stress. Here, <inline-formula><mml:math id="M252" display="inline"><mml:mrow><mml:msup><mml:mi>z</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>/</mml:mo><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow></mml:math></inline-formula> denotes the distance of the first cell center from the bed boundary in wall units, where <inline-formula><mml:math id="M253" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the distance to the sediment bed boundary.</p>
      <p id="d2e6873">The free surface is not considered, and a rigid lid is applied at the top, with zero gradient condition for the turbulent kinetic energy <inline-formula><mml:math id="M254" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, a Dirichlet condition for <inline-formula><mml:math id="M255" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula>, and a slip boundary condition for the velocity <inline-formula><mml:math id="M256" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula>. To take into account the bed roughness effect on the hydrodynamics, the boundary condition for <inline-formula><mml:math id="M257" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula> proposed by <xref ref-type="bibr" rid="bib1.bibx76" id="text.65"/> is used:

            <disp-formula id="Ch1.E26" content-type="numbered"><label>26</label><mml:math id="M258" display="block"><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>u</mml:mi><mml:mo>*</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow><mml:mi mathvariant="italic">ν</mml:mi></mml:mfrac></mml:mstyle><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M259" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is defined as a function of the roughness Reynolds number <inline-formula><mml:math id="M260" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mo>+</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow></mml:math></inline-formula> as follows:

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M261" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E27"><mml:mtd><mml:mtext>27</mml:mtext></mml:mtd><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">200</mml:mn><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mo>+</mml:mo></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mtext>for </mml:mtext><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mo>+</mml:mo></mml:msubsup><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E28"><mml:mtd><mml:mtext>28</mml:mtext></mml:mtd><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">100</mml:mn><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mo>+</mml:mo></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">200</mml:mn><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mo>+</mml:mo></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">100</mml:mn><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mo>+</mml:mo></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>-</mml:mo><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mo>+</mml:mo></mml:msubsup></mml:mrow></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mtext>for </mml:mtext><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mo>+</mml:mo></mml:msubsup><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e7127">The transient problem is solved, and the simulations are run until a steady state has been reached, taking a few seconds on a single CPU core. The numerical results are plotted alongside the experimental data from <xref ref-type="bibr" rid="bib1.bibx45" id="text.66"/> in Fig. <xref ref-type="fig" rid="F5"/>.</p>

      <fig id="F5"><label>Figure 5</label><caption><p id="d2e7138">Velocity and suspended sediment concentration profiles from numerical simulations and comparison with experimental data from <xref ref-type="bibr" rid="bib1.bibx45" id="text.67"/>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f05.png"/>

        </fig>

      <p id="d2e7150">Overall, the numerical results show good agreement with the experimental data. For the suspended sediment profiles, it is observed that in cases 2565 and 1957, the suspended sediment concentration is slightly overestimated, particularly in the upper part of the water column. To quantitatively assess the agreement between the numerical and experimental profiles, the symmetric mean absolute percentage error (SMAPE) of the logarithm of the sediment volume fraction is computed as follows:

            <disp-formula id="Ch1.E29" content-type="numbered"><label>29</label><mml:math id="M262" display="block"><mml:mrow><mml:mtext>SMAPE</mml:mtext><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">2</mml:mn><mml:mi>N</mml:mi></mml:mfrac></mml:mstyle><mml:mo movablelimits="false">∑</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>log⁡</mml:mi><mml:mn mathvariant="normal">10</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mtext>num</mml:mtext></mml:msubsup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>log⁡</mml:mi><mml:mn mathvariant="normal">10</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mtext>exp</mml:mtext></mml:msubsup><mml:mo>)</mml:mo><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>log⁡</mml:mi><mml:mn mathvariant="normal">10</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mtext>num</mml:mtext></mml:msubsup><mml:mo>)</mml:mo><mml:mo>|</mml:mo><mml:mo>+</mml:mo><mml:mo>|</mml:mo><mml:msub><mml:mi>log⁡</mml:mi><mml:mn mathvariant="normal">10</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mtext>exp</mml:mtext></mml:msubsup><mml:mo>)</mml:mo><mml:mo>|</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M263" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> is the number of measurements available in the experimental test considered, <inline-formula><mml:math id="M264" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mtext>exp</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula> is the experimental sediment volume fraction, and <inline-formula><mml:math id="M265" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mtext>num</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula> is the sediment volume fraction obtained from the numerical simulation and linearly interpolated to the elevations corresponding to the experimental data. The resulting errors are 4.34 % for case 1565, 8.29 % for case 1965, 6.64 % for case 2565, and 2.46 % for case 1957. These results were obtained without any calibration of the model coefficients, and an improved fit could likely be achieved by adjusting parameters such as the turbulent Schmidt number <inline-formula><mml:math id="M266" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the near-bed diffusivity coefficients <inline-formula><mml:math id="M267" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi>w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M268" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ξ</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (Eq. <xref ref-type="disp-formula" rid="Ch1.E20"/>), or the equivalent sand roughness height <inline-formula><mml:math id="M269" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Suspension development</title>
      <p id="d2e7349">Another test for the suspended load is the development of suspension in a channel, when the flow encounters an abrupt transition from a non-erodible bed to an erodible bed. Initially, the flow is clear, and it becomes loaded with sediments until an equilibrium is reached. For this problem, the results are compared with a pseudo-analytical solution derived by <xref ref-type="bibr" rid="bib1.bibx32" id="text.68"/>. In order to obtain this solution, some assumptions are made. <list list-type="order"><list-item>
      <p id="d2e7357">The sediment is uniformly advected at the mean flow velocity <inline-formula><mml:math id="M270" display="inline"><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:math></inline-formula>.</p></list-item><list-item>
      <p id="d2e7371">The turbulent viscosity vertical profile is assumed parabolic, <inline-formula><mml:math id="M271" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">κ</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mi>z</mml:mi><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>H</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math id="M272" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:mi>H</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> where <inline-formula><mml:math id="M273" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> is the reference level and <inline-formula><mml:math id="M274" display="inline"><mml:mi>H</mml:mi></mml:math></inline-formula>, the water depth.</p></list-item><list-item>
      <p id="d2e7461">The concentration at <inline-formula><mml:math id="M275" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> is supposed to be constant along the flume and equal to <inline-formula><mml:math id="M276" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, the reference concentration.</p></list-item><list-item>
      <p id="d2e7497">The horizontal turbulent diffusion is neglected.</p></list-item></list></p>
      <p id="d2e7500">Based on those assumptions, <xref ref-type="bibr" rid="bib1.bibx32" id="text.69"/> simplified the transport equation for the suspended load and derived an analytical solution. They performed a separation of variables and used the Sturm-Liouville theory to obtain a solution, which only depends on the Rouse number. A first numerical simulation is performed for which all assumptions apart from the fourth one are respected. A water depth of  <inline-formula><mml:math id="M277" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> is considered, the mean velocity is <inline-formula><mml:math id="M278" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.9</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>, and the Rouse number is equal to 0.5, which corresponds to a regime in which suspended load is the dominant sediment transport mode. The results are presented in Fig. <xref ref-type="fig" rid="F6"/>.</p>

      <fig id="F6"><label>Figure 6</label><caption><p id="d2e7554">Isolines of <inline-formula><mml:math id="M279" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> for a Rouse number of 0.5 with assumptions from <xref ref-type="bibr" rid="bib1.bibx32" id="text.70"/> enforced except the null horizontal turbulent diffusion. Solid blue curves represent the model results and the dotted red ones the pseudo-analytical solution.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f06.png"/>

        </fig>

      <p id="d2e7587">In this case, the numerical and pseudo-analytical solutions are almost identical, suggesting that the stream-wise turbulent diffusivity (assumption 4) is indeed negligible. However, some of the assumptions from <xref ref-type="bibr" rid="bib1.bibx32" id="text.71"/> are normally not verified. The vertical velocity profile is not uniform, the concentration at the reference level may vary in space and reach an equilibrium after some distance from the inlet, and lastly, the turbulent eddy-viscosity profile is not exactly parabolic.</p>
      <p id="d2e7593">The particle diameter was set to <inline-formula><mml:math id="M280" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.12</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>, corresponding to a settling velocity of <inline-formula><mml:math id="M281" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.773</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> and a Rouse number of <inline-formula><mml:math id="M282" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn></mml:mrow></mml:math></inline-formula>. Although tests were conducted with different Rouse numbers, only the case <inline-formula><mml:math id="M283" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn></mml:mrow></mml:math></inline-formula> is presented in this work. The same mean flow velocity <inline-formula><mml:math id="M284" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.9</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> is taken, and the resulting shear stress exerted on the bed corresponds to the bed friction velocity <inline-formula><mml:math id="M285" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3.77</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>. The <inline-formula><mml:math id="M286" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:math></inline-formula> SST turbulence model and the rough wall boundary from <xref ref-type="bibr" rid="bib1.bibx76" id="text.72"/> (Eq. <xref ref-type="disp-formula" rid="Ch1.E26"/>) condition is used for <inline-formula><mml:math id="M287" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula> with a roughness height <inline-formula><mml:math id="M288" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2.5</mml:mn></mml:mrow></mml:math></inline-formula> d.</p>
      <p id="d2e7766">A first 1D simulation is performed without sediment to obtain vertical profiles for <inline-formula><mml:math id="M289" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M290" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M291" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula> corresponding to a fully developed channel flow. The fields <inline-formula><mml:math id="M292" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M293" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M294" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula> are extracted from this first simulation and used as the inlet boundary condition for the second simulation, for which suspension is activated. The flow entering the domain being already fully developed, only <inline-formula><mml:math id="M295" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> varies with the <inline-formula><mml:math id="M296" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-position. The mesh consists of a 2D structured mesh, more refined close to the bed to ensure the condition <inline-formula><mml:math id="M297" display="inline"><mml:mrow><mml:msup><mml:mi>z</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M298" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2000</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M299" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula>). The results are extracted after 50 s of simulation, requiring 10 h of wall-clock time on 5 CPU cores.  Isolines of <inline-formula><mml:math id="M300" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> values from the model and the pseudo-analytical solution are presented in Fig. <xref ref-type="fig" rid="F7"/>. To compute the pseudo-analytical solution, the reference level was chosen equal to <inline-formula><mml:math id="M301" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn><mml:mi>H</mml:mi></mml:mrow></mml:math></inline-formula> as in the work of <xref ref-type="bibr" rid="bib1.bibx32" id="text.73"/>, and the reference concentration is taken equal to <inline-formula><mml:math id="M302" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.025</mml:mn></mml:mrow></mml:math></inline-formula> and applied as a boundary condition at the elevation <inline-formula><mml:math id="M303" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>.</p>

      <fig id="F7"><label>Figure 7</label><caption><p id="d2e7960">Isolines of <inline-formula><mml:math id="M304" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>. Comparison between pseudo-analytical solution from <xref ref-type="bibr" rid="bib1.bibx32" id="text.74"/> (red dotted lines) and the model solution (solid blue lines) without enforcement of the assumptions used to derive the pseudo-analytical solution.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f07.png"/>

        </fig>

      <p id="d2e7992">Compared with the situation where the assumptions on the flow is enforced (see Fig. <xref ref-type="fig" rid="F6"/>), the model results do not match the pseudo-analytical solution, but the global behavior remains the same. Starting from no suspension, the suspended sediment quantity gradually increases with the distance to the inlet until reaching an equilibrium situation where the settling and the turbulent diffusion cancel each other out. Figure <xref ref-type="fig" rid="F8"/> shows the vertical suspended sediment volume fraction <inline-formula><mml:math id="M305" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> profiles at different positions along the channel and shows the convergence toward an equilibrium solution close to a Rouse profile.</p>

      <fig id="F8"><label>Figure 8</label><caption><p id="d2e8013">On the left-hand side, the turbulent eddy viscosity obtained with the model (solid line) and the theoretical parabolic profile (black dashed line). On the right-hand side, vertical profiles of <inline-formula><mml:math id="M306" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> at different <inline-formula><mml:math id="M307" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-positions in the channel. For comparison, the Rouse profile corresponding to the pseudo-analytical solution in Fig. <xref ref-type="fig" rid="F7"/> is also plotted (black dashed line).</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f08.png"/>

        </fig>

      <p id="d2e8042">As stated previously, the discrepancies with the pseudo-analytical solution arise from the unrealistic assumptions made in its derivation. These include the assumption that suspended sediments are advected by the mean flow, the use of a parabolic eddy viscosity profile, and the assumption of local equilibrium at the reference level. A better agreement could yet be found, for instance, by adjusting the boundary conditions for <inline-formula><mml:math id="M308" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula> at the top and bottom boundaries, which would affect the shape of <inline-formula><mml:math id="M309" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> profile. Another calibration parameter is the reference concentration at the reference level, which is the bottom boundary condition of the pseudo-analytical solution.</p>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Idealized dune migration</title>
      <p id="d2e8071">As a first benchmark for the Exner equation (Eq. <xref ref-type="disp-formula" rid="Ch1.E11"/>), an idealized 1D dune migration model for which an analytical solution exists is presented. In this case, a highly simplified flow is considered in order to focus on the behavior of the Exner equation without the added complexity of the hydrodynamics (see Fig. <xref ref-type="fig" rid="F9"/>). The fluid is topped by a rigid lid placed at an elevation <inline-formula><mml:math id="M310" display="inline"><mml:mi>H</mml:mi></mml:math></inline-formula> from the bottom. The flow is assumed vertically uniform with a constant discharge per unit width <inline-formula><mml:math id="M311" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula>. The depth-averaged velocity is obtained by conservation of mass, <inline-formula><mml:math id="M312" display="inline"><mml:mrow><mml:mi>U</mml:mi><mml:mo>=</mml:mo><mml:mi>Q</mml:mi><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:mi>H</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>

      <fig id="F9"><label>Figure 9</label><caption><p id="d2e8121">Schematic of the idealized dune migration case showing the main parameters and illustrating the relationship between bed elevation and depth-averaged velocity.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f09.png"/>

        </fig>

      <p id="d2e8130">In this simplified case, only bedload transport is considered. To be able to derive an analytical solution of the Exner equation, the bedload <inline-formula><mml:math id="M313" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> must be expressed as a function of the bed elevation <inline-formula><mml:math id="M314" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. This is done by assuming that the bedload is a power law of the depth-averaged velocity <inline-formula><mml:math id="M315" display="inline"><mml:mi>U</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M316" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:msup><mml:mi>U</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M317" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M318" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are two positive constants. The Exner equation (Eq. <xref ref-type="disp-formula" rid="Ch1.E11"/>) simplifies to:

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M319" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E30"><mml:mtd><mml:mtext>30</mml:mtext></mml:mtd><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E31"><mml:mtd><mml:mtext>31</mml:mtext></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:msup><mml:mi>Q</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>H</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M320" display="inline"><mml:mrow><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, is the celerity of the bedform. Starting with a given initial bedform <inline-formula><mml:math id="M321" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, the solution to Eq. (<xref ref-type="disp-formula" rid="Ch1.E30"/>) is obtained with the method of characteristics <xref ref-type="bibr" rid="bib1.bibx49" id="paren.75"/> leading to <inline-formula><mml:math id="M322" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. Depending on <inline-formula><mml:math id="M323" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, shocks may develop as the bedform migrates. A shock occurs if, over at least one interval <inline-formula><mml:math id="M324" display="inline"><mml:mrow><mml:mi mathvariant="script">I</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow></mml:math></inline-formula>, the function <inline-formula><mml:math id="M325" display="inline"><mml:mrow><mml:mi>G</mml:mi><mml:mo>:</mml:mo><mml:mi>x</mml:mi><mml:mo>→</mml:mo><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is decreasing. The dune celerity <inline-formula><mml:math id="M326" display="inline"><mml:mi>c</mml:mi></mml:math></inline-formula>  being an increasing function of <inline-formula><mml:math id="M327" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, shocks will arise if the initial bedform <inline-formula><mml:math id="M328" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> exhibits at least one negative slope. In this idealized dune migration case, the initial dune profile is Gaussian:

            <disp-formula id="Ch1.E32" content-type="numbered"><label>32</label><mml:math id="M329" display="block"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          with <inline-formula><mml:math id="M330" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the height of the dune, <inline-formula><mml:math id="M331" display="inline"><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> the initial position of the dune's crest and <inline-formula><mml:math id="M332" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> a parameter linked to the dune width such that <inline-formula><mml:math id="M333" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>±</mml:mo><mml:msqrt><mml:mrow><mml:mi>ln⁡</mml:mi><mml:mo>(</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:msqrt><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e8703">With this initial dune profile, a shock wave will form where the bed slope becomes vertical on the lee side of the dune. To know the position and time of the shock, it is necessary to find the position <inline-formula><mml:math id="M334" display="inline"><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> defined as follows: <inline-formula><mml:math id="M335" display="inline"><mml:mrow><mml:msup><mml:mi>G</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>(</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mo>*</mml:mo></mml:msubsup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mo>min⁡</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="script">R</mml:mi></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:mi>G</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>. It corresponds to the initial position of the point belonging to the characteristic line on which the first shock occurs. The breaking time is then obtained as <inline-formula><mml:math id="M336" display="inline"><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:msup><mml:mi>G</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>(</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mo>*</mml:mo></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and the shock position <inline-formula><mml:math id="M337" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> as well by advection of <inline-formula><mml:math id="M338" display="inline"><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> along its characteristic line, <inline-formula><mml:math id="M339" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mo>*</mml:mo></mml:msubsup><mml:mo>+</mml:mo><mml:mi>G</mml:mi><mml:mo>(</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mo>*</mml:mo></mml:msubsup><mml:mo>)</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e8863">The following parameters are chosen: <list list-type="bullet"><list-item>
      <p id="d2e8868">flow properties, <inline-formula><mml:math id="M340" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M341" display="inline"><mml:mrow><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula></p></list-item><list-item>
      <p id="d2e8915">bedload flux, <inline-formula><mml:math id="M342" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M343" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.5</mml:mn></mml:mrow></mml:math></inline-formula></p></list-item><list-item>
      <p id="d2e8948">dune properties, <inline-formula><mml:math id="M344" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn></mml:mrow></mml:math></inline-formula> m, <inline-formula><mml:math id="M345" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.6</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula></p></list-item></list></p>
      <p id="d2e8984">For this configuration, the breaking time is <inline-formula><mml:math id="M346" display="inline"><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">24.67</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and the shock position <inline-formula><mml:math id="M347" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">4.51</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>. A solution to Eq. (<xref ref-type="disp-formula" rid="Ch1.E30"/>) is sought for the time interval between <inline-formula><mml:math id="M348" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> and the breaking time <inline-formula><mml:math id="M349" display="inline"><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>. A second-order <italic>Adams-Bashforth</italic> scheme is used for time integration and a <italic>linear-upwind</italic> scheme for the advective term discretization. A comparison between the model results and the analytical solution is presented in Fig. <xref ref-type="fig" rid="F10"/>.</p>

      <fig id="F10" specific-use="star"><label>Figure 10</label><caption><p id="d2e9061">Bed level evolution of an initially Gaussian dune during an idealized transport scenario, comparing model results (solid lines) with the analytical solution (black dotted lines).</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f10.png"/>

        </fig>

      <p id="d2e9070">Overall, the model fits well with the analytical solution except when the time gets close to the breaking time, where a small instability starts to develop at the dune's crest. Figure <xref ref-type="fig" rid="F11"/> illustrates how the chosen numerical schemes affect the solution stability and precision.</p>

      <fig id="F11" specific-use="star"><label>Figure 11</label><caption><p id="d2e9078">Comparison of bed levels in an idealized dune migration obtained from numerical simulations using three different advective schemes and two temporal integration schemes (<italic>Euler explicit</italic> top, <italic>Adams-Bashforth 2</italic> bottom) with the analytical solution at intermediate (left) and near-breaking (right) times.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f11.png"/>

        </fig>

      <p id="d2e9093">At the dune front, the gradient of <inline-formula><mml:math id="M350" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> becomes significant, and, consequently, the gradient of <inline-formula><mml:math id="M351" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> also increases. Depending on the numerical schemes used, this can trigger oscillations. Using the <italic>Euler explicit</italic> scheme for time integration, the use of a second-order scheme for advection leads to instabilities appearing on the crest of the dune. On the other hand, the low-order <italic>upwind</italic> scheme introduces numerical diffusion, resulting in reduced predictive accuracy, but ensures numerical stability. A better match between the numerical results and the analytical solution is achieved using a second-order scheme for the temporal term (<italic>Adams-Bashforth 2</italic>) as the numerical solution no longer oscillates.</p>
      <p id="d2e9127">As stated in Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>, the interpolation from faces to vertices needed to enforce mesh motion acts as a filter. However, depending on the case, it may not be sufficient to suppress the appearance of numerical instabilities, in particular in regions presenting steep slopes. The use of an avalanche model (Eq. <xref ref-type="disp-formula" rid="Ch1.E15"/>) brings more stability by limiting the maximum bed slopes. However, it is not used in this example as no analytical solution can be derived for this problem if the avalanche mechanism is taken into account.</p>
      <p id="d2e9134">From the results presented in Fig. <xref ref-type="fig" rid="F11"/>, the combination of a second-order <italic>Adams-Bashforth</italic> scheme for the time integration and a <italic>linear</italic> or <italic>linear-upwind</italic> scheme for the bedload flux discretization, both being second-order schemes, seems to offer the best compromise between stability and accuracy. Choosing an <italic>Euler explicit</italic> time scheme tends to trigger instabilities, while the use of an order 1 <italic>upwind</italic> scheme leads to more stability at the cost of accuracy. To further illustrate the different behaviors of the possible scheme combinations and for different mesh refinements, multiple simulations are performed by varying the grid size and the numerical schemes, and the results are compared with the analytical solution.</p>
      <p id="d2e9155">The stability of the numerical solution is related to the mesh refinement through the maximum Courant number, whose evaluation is straightforward as the celerity of bedforms <inline-formula><mml:math id="M352" display="inline"><mml:mi>c</mml:mi></mml:math></inline-formula> is known (Eq. <xref ref-type="disp-formula" rid="Ch1.E30"/>). The maximum Courant number is then <inline-formula><mml:math id="M353" display="inline"><mml:mrow><mml:mo>max⁡</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>/</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> where <inline-formula><mml:math id="M354" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> is the time step value and <inline-formula><mml:math id="M355" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> the width of the mesh faces in the <inline-formula><mml:math id="M356" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-direction, the mesh being uniform. The accuracy of the numerical solution is evaluated using the Root Mean Square Error (RMSE):

            <disp-formula id="Ch1.E33" content-type="numbered"><label>33</label><mml:math id="M357" display="block"><mml:mrow><mml:mtext>RMSE</mml:mtext><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="normal">F</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:munder><mml:mo>(</mml:mo><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:msub><mml:mo>|</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mi>s</mml:mi></mml:msubsup><mml:msub><mml:mo>|</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msqrt><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where the index f stands for the finite area mesh faces, <inline-formula><mml:math id="M358" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="normal">F</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the number of faces of the mesh, <inline-formula><mml:math id="M359" display="inline"><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:msub><mml:mo>|</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the elevation of face f center (numerical solution) and <inline-formula><mml:math id="M360" display="inline"><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mi>s</mml:mi></mml:msubsup><mml:msub><mml:mo>|</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the analytical bed elevation at face f center. Each simulation is represented by a point in Fig. <xref ref-type="fig" rid="F12"/>.</p>

      <fig id="F12"><label>Figure 12</label><caption><p id="d2e9358">Root mean square error for different combinations of numerical schemes and mesh refinements. The time step is constant (<inline-formula><mml:math id="M361" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>) for all simulations, with only the number of faces (<inline-formula><mml:math id="M362" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) in the finite area mesh varying. The maximum Courant number, based on the bedform celerity, is indicated on the top axis.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f12.png"/>

        </fig>

      <p id="d2e9396">The simulations were performed using a constant time step. For low Courant numbers, associated with poor mesh quality, all simulations remain stable and exhibit similar errors. As the mesh quality increases, the RMSE decreases but at a faster rate for second-order schemes for bedload advection until the solution becomes unstable when the maximum Courant number gets close to 1. The sudden rise of RMSE values for high mesh resolution is a sign of those instabilities. The use of an <italic>upwind</italic> scheme allows for the use of a higher Courant number without the simulation failing. This is due to the numerical diffusion that this first-order scheme involves. When using an <italic>Euler explicit</italic> time scheme along with one of the second-order schemes for advection, it is observed that the RMSE no longer depends on the mesh resolution for values of maximum Courant number of 0.1 and higher until the appearance of instabilities. It shall be recalled here that a filtering process is applied on the numerical solution at each time step as the bed elevation increment is interpolated from faces to vertices (discussed in Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>). The results presented support the use of a combination of a second-order <italic>Adams-Bashforth</italic> scheme along with a <italic>linear</italic> or <italic>linear-upwind</italic> scheme to ensure both stability and accuracy.</p>
      <p id="d2e9417">These simulations complete in a few seconds on a single CPU core.</p>
</sec>
<sec id="Ch1.S4.SS4">
  <label>4.4</label><title>Sediment settling</title>
      <p id="d2e9429">A still basin of depth <inline-formula><mml:math id="M363" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> is initially uniformly loaded with a volume fraction <inline-formula><mml:math id="M364" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn></mml:mrow></mml:math></inline-formula> of suspended sediment corresponding to a mass concentration of <inline-formula><mml:math id="M365" display="inline"><mml:mrow><mml:mn mathvariant="normal">132</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>. As the suspended sediment deposit, the bed level rises up and reaches a final elevation <inline-formula><mml:math id="M366" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">bed</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mi>H</mml:mi></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M367" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the porosity of the deposited granular material. The settling velocity being set to <inline-formula><mml:math id="M368" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3.59</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>, the time at which the last sediment deposit on the bed is <inline-formula><mml:math id="M369" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi>H</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">bed</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula>. The variation over time of the sediment mass distribution between suspension and deposited sediments is represented in Fig. <xref ref-type="fig" rid="F13"/>.</p>

      <fig id="F13"><label>Figure 13</label><caption><p id="d2e9593">Time evolution of sediment mass per unit area, divided into suspended and deposited fractions, during deposition in a still basin. Relative error (%) of the total mass is shown by black crosses.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f13.png"/>

        </fig>

      <p id="d2e9602">During each time iteration, the equation for the concentration of suspended sediments is solved, and the erosion/deposition flux is computed, resulting in an updated sediment bed elevation via the Exner equation (see Fig. <xref ref-type="fig" rid="F2"/>). Since the mesh motion is resolved at the beginning of the time iteration, the bed level increment computed at a given step only affects the mesh geometry in the subsequent time step. Consequently, there is a one-time-step delay in the morphological response of the bed, which introduces a temporary error in the total sediment mass. However, this error vanishes once all suspended sediments have settled.</p>
      <p id="d2e9608">Another settling case is presented, this time a 2D case with non-uniform settling. The computational domain is conic-shaped, wider at the bottom (5 cm) and narrower at the top (1 cm).</p>

      <fig id="F14" specific-use="star"><label>Figure 14</label><caption><p id="d2e9613">Sediment distribution in the domain at two times during sand deposition in an hourglass. At 3 s, a deposition mound forms from sediment deposited from suspension; at 10 s, all sediment has settled. Left: colors indicate water (blue); right: computational mesh deformation.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f14.png"/>

        </fig>

      <p id="d2e9622">Initially, only water is present in the domain. The repose angle is taken equal to <inline-formula><mml:math id="M370" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">32</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula>. The particles diameter is <inline-formula><mml:math id="M371" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.29</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and their density <inline-formula><mml:math id="M372" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2600</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>. The sediment settling velocity <inline-formula><mml:math id="M373" display="inline"><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3.5</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> is computed using the formula from <xref ref-type="bibr" rid="bib1.bibx22" id="text.76"/> (see Table <xref ref-type="table" rid="T1"/>) and is considered uniform as the hindrance effect is not taken into account. A constant flux of sediment is injected during 7 s by imposing a constant suspended sediment volume fraction at the top boundary <inline-formula><mml:math id="M374" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn></mml:mrow></mml:math></inline-formula>. The sediment settle under the action of gravity and deposit on the bed. Because the settling is not spatially uniform, pronounced slopes form at the margins of the deposition mound, where avalanching occurs, producing a conical shape similar to that seen in an hourglass. The simulation is then run for 3 more seconds so that all sediment have settled by the end of the simulation (see Fig. <xref ref-type="fig" rid="F14"/>).</p>

      <fig id="F15"><label>Figure 15</label><caption><p id="d2e9741">Temporal evolution of sediment mass per unit area, divided into suspended and deposited components, for sand settling in an hourglass. Relative error in total mass (%) is shown by black crosses. Suspended sediment is injected during the first 7 s and fully deposited before the end of the simulation.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f15.png"/>

        </fig>

      <p id="d2e9750">The mass repartition of sediments between suspension and deposition is represented in Fig. <xref ref-type="fig" rid="F15"/>. At the beginning of the simulation, all the sediments are suspended, and their quantity increases linearly over time until <inline-formula><mml:math id="M375" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.14</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> where the sediments start depositing on the bed. As the domain bottom boundary rises, the space occupied by suspended sediments shrinks, leading to a diminution of the mass of suspended sediments. At 7 s, sediment injection into the domain ceases, and approximately one second later, all sediment has settled, with the simulation completing in a few seconds on a single CPU core. Once again, the mass error is evaluated by comparing the mass of sediment, which has been injected into the domain, to the sum of the suspended mass and the bed mass. Just as in the 1D case, the one-time step delay in the bed morphology response induces an error on the total mass in the domain (see Fig. <xref ref-type="fig" rid="F15"/>). The error subsequently disappears as the sediments settle, thereby verifying mass conservation.</p>
</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Application to dune migration</title>
      <p id="d2e9783">Sediment transport phenomena often involve bedforms of various scales, ranging from ripples to megadunes, which migrate under the influence of fluid flow. Building on the validation of the model components presented in Sect. <xref ref-type="sec" rid="Ch1.S4"/>, this section examines the transport of an isolated dune under a steady current as an illustrative application of <italic>sedExnerFoam</italic>. First, the experiment used for model comparison is presented, followed by a description of a source term introduced to account for lateral wall friction. The numerical simulation of a dune in a stationary migration regime is presented, where incorporating bedload saturation was necessary to reproduce the migration behavior observed in the experiments. The effects of other model parameters on the simulation results are also briefly discussed. In the third subsection, a 3D simulation is presented using the optimized parameters from the 2D simulations. The purpose of these simulations is to illustrate the numerical model's 3D capability and to identify the current model's limitations.</p>
<sec id="Ch1.S5.SS1">
  <label>5.1</label><title>Experimental configuration</title>
      <p id="d2e9798">Different regimes of a lone dune migration over a starved bed have been investigated by <xref ref-type="bibr" rid="bib1.bibx41" id="text.77"/>. The author identified the existence of two regimes: the stationary regime and the mass loss scenario. These regimes depend on the flow conditions and on the initial dune mass. In the present work, the focus is on the stationary regime, which exhibits two stages. During the initial phase, the dune morphology evolves rapidly from an initial conical shape formed by sediment deposition in still water. After this transient phase, the dune reaches a stationary state, migrating at a constant speed in the flow direction with minimal deformation.</p>
      <p id="d2e9804">The experimental facility consists of a hydraulic tunnel working in closed circuit with an experimental section made of a straight channel of length <inline-formula><mml:math id="M376" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">900</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>, of height <inline-formula><mml:math id="M377" display="inline"><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">90</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>, and of width <inline-formula><mml:math id="M378" display="inline"><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">6.03</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>. The flume is closed on the top by a rigid lid. The granular material consists of highly spherical glass beads with a diameter of <inline-formula><mml:math id="M379" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.4</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and a density <inline-formula><mml:math id="M380" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2500</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>. The particle's terminal fall velocity in water is <inline-formula><mml:math id="M381" display="inline"><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">7.67</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>, which is noticeably higher than values obtained with the models presented in Table <xref ref-type="table" rid="T2"/> (<inline-formula><mml:math id="M382" display="inline"><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>). The friction velocity upstream of the dune is <inline-formula><mml:math id="M383" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2.78</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> which corresponds to a Rouse number <inline-formula><mml:math id="M384" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">6.73</mml:mn></mml:mrow></mml:math></inline-formula>. This value indicates that bedload is the main transport mechanism for this problem. The critical Shields number (<inline-formula><mml:math id="M385" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.079</mml:mn></mml:mrow></mml:math></inline-formula>) obtained experimentally is large compared to what is expected from the formulas in Table <xref ref-type="table" rid="T2"/>. This could be due to the confinement of the particles in the flume, the ratio of the channel width to the particle diameter being only equal to 16.</p>
      <p id="d2e10034">In the following, a stationary regime configuration is reproduced numerically. Experimentally, <inline-formula><mml:math id="M386" display="inline"><mml:mrow><mml:mn mathvariant="normal">10</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> of particles is introduced through a hole drilled in the channel cover. They deposit under the influence of gravity, forming a conical-shaped mound with slope angles equal to the angle of repose of the granular material. Once the initial pile has formed, a motor is activated to create a left-to-right flow in the test section with a bulk velocity <inline-formula><mml:math id="M387" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.43</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>. Initially, the particles are loosely packed with a volume fraction of <inline-formula><mml:math id="M388" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">0.54</mml:mn></mml:mrow></mml:math></inline-formula> in the particle's bed. As the dune is migrating downstream, the particle bed is compacting, and the sediment volume fraction in the bed increases, resulting in the apparent dune volume decreasing over time until the volume fraction reaches a constant value of about <inline-formula><mml:math id="M389" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">0.6</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="Ch1.S5.SS2">
  <label>5.2</label><title>2D numerical simulations</title>
      <p id="d2e10115">Section <xref ref-type="sec" rid="Ch1.S5.SS2"/> presents the two-dimensional numerical simulations used to reproduce the stationary dune migration regime. It describes the numerical setup, modeling choices, and boundary conditions, and assesses the model’s ability to match the experimental observations. A sensitivity analysis then highlights the key parameters controlling the simulated dune dynamics.</p>
<sec id="Ch1.S5.SS2.SSS1">
  <label>5.2.1</label><title>Lateral wall friction modeling</title>
      <p id="d2e10127">A particularity of these experiments is the thinness of the flume, which makes the lateral wall friction not negligible. The lateral variation of the flow is neglected, and the specific shear stress on the lateral walls <inline-formula><mml:math id="M390" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">wall</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is computed with the Darcy-Weisbach equation:

              <disp-formula id="Ch1.E34" content-type="numbered"><label>34</label><mml:math id="M391" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">wall</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi>f</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow><mml:mn mathvariant="normal">8</mml:mn></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M392" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> is the Darcy-Weissbach friction factor, which can be computed explicitly with the equation from <xref ref-type="bibr" rid="bib1.bibx69" id="text.78"/>:

              <disp-formula id="Ch1.E35" content-type="numbered"><label>35</label><mml:math id="M393" display="block"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">0.25</mml:mn><mml:mrow><mml:msup><mml:mfenced open="[" close="]"><mml:mrow><mml:msub><mml:mi>log⁡</mml:mi><mml:mn mathvariant="normal">10</mml:mn></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow><mml:mn mathvariant="normal">3.7</mml:mn></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">5.74</mml:mn><mml:mrow><mml:mi>R</mml:mi><mml:msubsup><mml:mi>e</mml:mi><mml:mi mathvariant="normal">W</mml:mi><mml:mn mathvariant="normal">0.9</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M394" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi>H</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the hydraulic diameter, <inline-formula><mml:math id="M395" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the roughness height corresponding to the roughness of the wall, and <inline-formula><mml:math id="M396" display="inline"><mml:mrow><mml:mi>R</mml:mi><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">W</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>|</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow></mml:math></inline-formula> is the Reynolds number defined with the hydraulic diameter. Integrating the momentum conservation equation (Eq. <xref ref-type="disp-formula" rid="Ch1.E1"/>) over the flume width, a new source term <inline-formula><mml:math id="M397" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">walls</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> corresponding to the effect of the lateral wall appears:

              <disp-formula id="Ch1.E36" content-type="numbered"><label>36</label><mml:math id="M398" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mi mathvariant="normal">walls</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mi>f</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi></mml:mrow><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

            More details on the derivation of this source term are provided in Appendix <xref ref-type="sec" rid="App1.Ch1.S3"/>.</p>
      <p id="d2e10390">In order to confirm the capability of the wall friction term to correctly predict the flow velocity in the narrow flume, five simulations corresponding to different discharges as reported in the experiments are performed. Figure <xref ref-type="fig" rid="F16"/> shows a summary of these runs with and without the lateral friction term.</p>

      <fig id="F16"><label>Figure 16</label><caption><p id="d2e10397">Velocity profiles in the channel in the absence of a dune for different bulk velocities (<inline-formula><mml:math id="M399" display="inline"><mml:mn mathvariant="normal">0.169</mml:mn></mml:math></inline-formula>, <inline-formula><mml:math id="M400" display="inline"><mml:mn mathvariant="normal">0.309</mml:mn></mml:math></inline-formula>, <inline-formula><mml:math id="M401" display="inline"><mml:mn mathvariant="normal">0.451</mml:mn></mml:math></inline-formula>, <inline-formula><mml:math id="M402" display="inline"><mml:mn mathvariant="normal">0.549</mml:mn></mml:math></inline-formula> and <inline-formula><mml:math id="M403" display="inline"><mml:mrow><mml:mn mathvariant="normal">0.732</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>). The solid lines represent profiles obtained without friction on the lateral walls, and the dashed lines represent the one obtained taking into account the lateral friction. The markers are experimental results from <xref ref-type="bibr" rid="bib1.bibx41" id="text.79"/>.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f16.png"/>

          </fig>

      <p id="d2e10460">Lateral friction leads to a more uniform velocity field as the distance to the upper and lower walls increases, as well as to higher velocity gradients near the boundaries. The agreement with experimental data is improved except at the top of the domain, where the flow is disturbed by the presence of a screw hole, making the data unreliable in this area. The main advantage of accounting for lateral friction as a source term is that it enables the use of a 2D mesh, which significantly reduces the computational cost of the simulation compared with a 3D simulation.</p>
</sec>
<sec id="Ch1.S5.SS2.SSS2">
  <label>5.2.2</label><title>Numerical set-up and model validation</title>
      <p id="d2e10471">Experimentally, the fluid is initially at rest, and the pump starts to operate at <inline-formula><mml:math id="M404" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> s, accelerating the flow to the selected mean velocity, <inline-formula><mml:math id="M405" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.43</mml:mn></mml:mrow></mml:math></inline-formula> m s<sup>−1</sup> in the present case. Since the time required for the flow to accelerate and reach the target mean velocity is unknown, an alternative initialization was chosen for the problem. A first simulation of the hydrodynamics without morphological evolution is run for 10 s until the flow over the dune reaches a steady state. The morphological evolution is then activated, and the dune begins to move under the influence of an already fully developed flow. Regarding the initial condition, as the variation in particle volume fraction in the bed, observed in the experiments (see Sect. <xref ref-type="sec" rid="Ch1.S5.SS1"/>), cannot be reproduced by the present model (the bed porosity is considered a constant over space and time), it was chosen to initialize the dune with a volume corresponding to the one at the end of the experiment and not the initial one. As a result, the initial dune geometry in the numerical simulations is initially slightly smaller than the experimental one, but their volumes match after a few seconds, once the granular material has compacted in the experiments.</p>
      <p id="d2e10515">The inlet boundary conditions are imposed as follows: a uniform velocity is applied <inline-formula><mml:math id="M407" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.43</mml:mn></mml:mrow></mml:math></inline-formula> m s<sup>−1</sup>; Dirichlet boundary conditions are used for the turbulent quantities: <inline-formula><mml:math id="M409" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.001</mml:mn></mml:mrow></mml:math></inline-formula> m<sup>2</sup> s<sup>−2</sup> and <inline-formula><mml:math id="M412" display="inline"><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">15</mml:mn></mml:mrow></mml:math></inline-formula> s<sup>−1</sup>. It corresponds to a turbulent intensity <inline-formula><mml:math id="M414" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">2</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:mfrac></mml:mstyle><mml:mi>k</mml:mi></mml:mrow></mml:msqrt><mml:mo>/</mml:mo><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.06</mml:mn></mml:mrow></mml:math></inline-formula>. Those values were chosen after simulating the flow in the flume without particles, and it has been verified through a sensitivity analysis of the upstream domain length that the solution does not change when using a longer domain (not shown here). The top boundary is a rigid wall, and a no-slip boundary condition is applied on the velocity field. At the outlet, a zero gradient condition is applied to all fields except the fluid pressure, for which a homogeneous Dirichlet condition is prescribed.  The numerical schemes used to discretize the different terms in the momentum equations (Eq. <xref ref-type="disp-formula" rid="Ch1.E1"/>) are: a backward scheme for the temporal derivative, a second-order <italic>linear-upwind</italic> scheme for the advection term, and a linear scheme for the diffusion terms. The same schemes are used for the advection-diffusion equation of the suspended sediment concentration, except for the advection, for which a first order upwind scheme has been used to ensure the boundedness and positivity of the sediment concentration. The numerical schemes for the Exner equation are: Adams-Bashforth 2nd order in time, upwind first order for the bedload, and a linear scheme for the avalanche. The bedload flux saturation equation has been integrated using an explicit Euler scheme for the time derivative, and discretized using a first-order upwind scheme for the saturation length term. A sensitivity to the saturation length and time values will be presented in Sect. <xref ref-type="sec" rid="Ch1.S5.SS2.SSS3"/>. All the numerical results presented in this subsection have been obtained using a saturation length <inline-formula><mml:math id="M415" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and saturation time <inline-formula><mml:math id="M416" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn></mml:mrow></mml:math></inline-formula> s.</p>
      <p id="d2e10681">A grid convergence study has been performed for the hydrodynamic simulations, and the details are provided in Appendix <xref ref-type="sec" rid="App1.Ch1.S4"/>. The finest grid has been retained for the numerical results presented in this subsection, with the following parameters: <inline-formula><mml:math id="M417" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>×</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1100</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">80</mml:mn></mml:mrow></mml:math></inline-formula>, the first grid cell center distance to the wall in the straight channel region is equal to <inline-formula><mml:math id="M418" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.42</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> m. A visualization of the mesh at two different times during the dune migration process is presented in Fig. <xref ref-type="fig" rid="F17"/>.</p>

      <fig id="F17"><label>Figure 17</label><caption><p id="d2e10742">Representation of the dune mesh at different times during the migration process.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f17.png"/>

          </fig>

      <p id="d2e10751">The numerical simulation results are illustrated in Fig. <xref ref-type="fig" rid="F18"/>, which shows the fluid flow at three different times using an optimized set of parameters that will be described in Sect. <xref ref-type="sec" rid="Ch1.S5.SS2.SSS3"/>.</p>

      <fig id="F18" specific-use="star"><label>Figure 18</label><caption><p id="d2e10760">Representation of the dune at different times (0, 15, and 30 s) during the migration process. The flow streamlines highlight flow detachment near the dune crest and the recirculation cell downstream. Starting from an initial conical shape, the dune evolves into an asymmetric stationary form.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f18.png"/>

          </fig>

      <p id="d2e10769">In order to compare the results more quantitatively, Fig. <xref ref-type="fig" rid="F19"/> shows the numerical and experimental dune profile at four times, 0, 4, 8 and 12 s. As can be seen from this figure, the dune morphology agrees fairly well with the experimental data. The dune shape does not change much between 8 and 12 s, in agreement with the stationary regime observed experimentally.</p>

      <fig id="F19" specific-use="star"><label>Figure 19</label><caption><p id="d2e10776">Sediment bed elevation at different times, 0, 4, 8, and 12 s. Comparison between the results from two simulations and experimental results. The simulations use the same mesh, same parameters, but for one, the suspended load is not taken into account.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f19.png"/>

          </fig>

      <fig id="F20" specific-use="star"><label>Figure 20</label><caption><p id="d2e10788">Dune morphological parameters evolution in time. From top to bottom are plotted the dune position represented by the coordinates <inline-formula><mml:math id="M419" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, which is located halfway up the downstream face of the dune, as well as the dune height <inline-formula><mml:math id="M420" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and the dune length <inline-formula><mml:math id="M421" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. In the top panel, the dashed lines represent the linear fit of the numerical results from which the dune migration speed is estimated as the slope of the linear regression.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f20.png"/>

          </fig>

      <p id="d2e10830">The dune morphological parameters over time, which are the dune position, its height, and length, are presented in Fig. <xref ref-type="fig" rid="F20"/>. The dune position is characterized by the coordinate <inline-formula><mml:math id="M422" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> located at mid-height on the downstream slope of the dune. The dune height and length are estimated from the base of the triangle formed by two straight lines fitted on the dune upstream and downstream slopes (see Appendix <xref ref-type="sec" rid="App1.Ch1.S4"/> for details). Two simulations with and without considering the suspended load transport are shown. As expected, because of the high value of the Rouse number (<inline-formula><mml:math id="M423" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>), the suspension has little effect on the dune evolution. Its height and length in the stationary regime remain unchanged, and regarding the migration velocity, only a small difference is observed, <inline-formula><mml:math id="M424" display="inline"><mml:mn mathvariant="normal">10.37</mml:mn></mml:math></inline-formula> and <inline-formula><mml:math id="M425" display="inline"><mml:mrow><mml:mn mathvariant="normal">8.69</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> for simulations with and without considering the suspended load, respectively. This migration speed difference is also observed in Fig. <xref ref-type="fig" rid="F19"/>, showing the bed elevation profiles at different times. In the configuration with suspended load, part of the suspended sediment passes over the dune and settles within the recirculation zone, creating the artifacts observed downstream of the dune. These deposits are subsequently re-integrated by the dune as it migrates downstream. Overall, the numerical model is able to reproduce the dune migration and evolution correctly, but some discrepancies are still observed. The crest of the dune is sharp in both numerical simulations compared to the experiment, and as a result, the height of the dune is slightly overestimated (see Fig. <xref ref-type="fig" rid="F20"/>). At the same time, the length of the dune seems to be underestimated, but it could also be a consequence of the method used to estimate the dune length (see Appendix <xref ref-type="sec" rid="App1.Ch1.S4"/>). The two stages of the dune migration are clearly observed in the numerical results. During the first 10 s, the dune shape changes rapidly, its height decreases, and its length increases. At 10 s, the dune has reached a stationary stage, and its shape remains unchanged as it migrates at a constant speed. All these results validate <italic>sedExnerFoam</italic> for this 2D vertical application. As mentioned earlier, the simulations presented above have been obtained by optimizing some of the model parameters, and the sensitivity to the most important ones will be described in the following subsection.</p>
</sec>
<sec id="Ch1.S5.SS2.SSS3">
  <label>5.2.3</label><title>Sensitivity analysis and bedload flux saturation effect</title>
      <p id="d2e10909">A first parameter that significantly affects the numerical results is the grid resolution and, in particular, the near-bed resolution in the areas where the flow is highly non-uniform. In the present configuration, it corresponds to the upstream slope of the dune where the flow is accelerated up to the crest. Downstream of the crest, the flow detaches and generates a recirculation cell on the lee side, as illustrated in Fig. <xref ref-type="fig" rid="F18"/>. A poor near-bed mesh resolution leads to an underestimation of the bed shear stress (see Appendix <xref ref-type="sec" rid="App1.Ch1.S4"/>) and, consequently, to a slower dune migration. The distance in wall units between the cell centers of the first layer and the bed boundary is maintained between <inline-formula><mml:math id="M426" display="inline"><mml:mrow><mml:msup><mml:mi>z</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M427" display="inline"><mml:mrow><mml:msup><mml:mi>z</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> in the present simulations. The choice of the numerical scheme used to discretize the advection term in the momentum equation (Eq. <xref ref-type="disp-formula" rid="Ch1.E1"/>) also significantly affects the dune shape. This is mainly due to the influence of this numerical scheme on the recirculation cell on the lee-side and to the position of the detachment point, which is located upstream of the dune crest for high-order advection schemes but downstream of the dune crest when using a low-order <italic>upwind</italic> scheme. When the flow detachment occurs downstream of the dune crest, the dune shape was found to take a rounder shape, not matching the experimental measurements.</p>
      <p id="d2e10952">Another sensitive parameter in this configuration is the critical Shields number <inline-formula><mml:math id="M428" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula>, which is evaluated in the range 0.033–0.046 by the different models presented in Table <xref ref-type="table" rid="T2"/> but was experimentally estimated at a higher value of <inline-formula><mml:math id="M429" display="inline"><mml:mn mathvariant="normal">0.079</mml:mn></mml:math></inline-formula>. Increasing the value of <inline-formula><mml:math id="M430" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> not only slows down the dune but also reduces its height and length in the stationary regime. An intermediate value of <inline-formula><mml:math id="M431" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn></mml:mrow></mml:math></inline-formula> was found to yield good results. In addition, the critical Shields number was corrected with the local slope according to Eq. (<xref ref-type="disp-formula" rid="Ch1.E13"/>). A final key modeling choice is the formula used to calculate bedload transport. It was found that the formulas presented in Table <xref ref-type="table" rid="T2"/> were all predicting dune velocity at least two times slower than the one observed experimentally. Therefore, a custom bedload formula <inline-formula><mml:math id="M432" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">32</mml:mn><mml:msup><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">ϖ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> was used. It corresponds to an intensified version of the formula from <xref ref-type="bibr" rid="bib1.bibx55" id="text.80"/> and can be considered reasonable in view of the significant scatter associated with bedload measurements <xref ref-type="bibr" rid="bib1.bibx58" id="paren.81"/>. Indeed, even if these formulations are commonly used to model sediment transport in a variety of flow conditions, they are empirical relations derived from data of uniform flows in a straight channel. Therefore, they may not precisely describe sediment transport in accelerated flow regions, recirculation cells, and other non-uniform flows. It shall also be recalled that the present configuration corresponds to a very narrow channel, which may also affect the sediment transport fluxes.</p>
      <p id="d2e11058">The most critical and original mechanism that is accounted for in the present model is the bedload flux saturation, which represents the particle's inertia with respect to the fluid flow. To illustrate the sensitivity to the saturation length and time, the results of seven simulations obtained with the same numerical set-up except for <inline-formula><mml:math id="M433" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M434" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are presented in Fig. <xref ref-type="fig" rid="F21"/>, which shows the bed level after 10 s of migration. The saturation length <inline-formula><mml:math id="M435" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> value is varied from <inline-formula><mml:math id="M436" display="inline"><mml:mn mathvariant="normal">1.25</mml:mn></mml:math></inline-formula> to <inline-formula><mml:math id="M437" display="inline"><mml:mrow><mml:mn mathvariant="normal">20</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> while the saturation time <inline-formula><mml:math id="M438" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> value is varied from <inline-formula><mml:math id="M439" display="inline"><mml:mn mathvariant="normal">0.005</mml:mn></mml:math></inline-formula> to <inline-formula><mml:math id="M440" display="inline"><mml:mrow><mml:mn mathvariant="normal">0.2</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>. The green curve corresponds to the optimized configuration shown in Sect. <xref ref-type="sec" rid="Ch1.S5.SS2.SSS2"/>. The pink curve shows the smallest  <inline-formula><mml:math id="M441" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> value that the model could withstand without crashing. The numerical results indicate that introducing a finite saturation length accelerates the migration process up to a value of about <inline-formula><mml:math id="M442" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M443" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.0025</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> here, above this value the dune migration speed is slowed down (see orange and blue dashed lines). For the largest  <inline-formula><mml:math id="M444" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> value tested here, <inline-formula><mml:math id="M445" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.02</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>, the <inline-formula><mml:math id="M446" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> has been increased to <inline-formula><mml:math id="M447" display="inline"><mml:mrow><mml:mn mathvariant="normal">0.02</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> as the simulation crashed with <inline-formula><mml:math id="M448" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn></mml:mrow></mml:math></inline-formula> s. Three simulations have been performed for the same saturation length <inline-formula><mml:math id="M449" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.005</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and for three values of <inline-formula><mml:math id="M450" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.005</mml:mn></mml:mrow></mml:math></inline-formula>, 0.01, and <inline-formula><mml:math id="M451" display="inline"><mml:mn mathvariant="normal">0.02</mml:mn></mml:math></inline-formula> s. In this range, no effect of the saturation time <inline-formula><mml:math id="M452" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> on the dune migration has been observed, and the value of <inline-formula><mml:math id="M453" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn></mml:mrow></mml:math></inline-formula> s has been retained.</p>
      <p id="d2e11321">Saturation acts as a spatial filter, and it smooths out the maximum of <inline-formula><mml:math id="M454" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. For very large values of <inline-formula><mml:math id="M455" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, this results in an underestimation of <inline-formula><mml:math id="M456" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the migration velocity is reduced. For very low values of <inline-formula><mml:math id="M457" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the dune shape is very strange, and the migration speed is too low. In the following, an explanation of what is happening in this limit of very small or even zero saturation length is provided. On the upstream slope of the dune, the flow is accelerated, and the bed shear stress increases downstream (see Fig. <xref ref-type="fig" rid="FD2"/> in Appendix <xref ref-type="sec" rid="App1.Ch1.S4"/>). The bed shear stress exhibits a maximum slightly upstream of the crest, driving the dune growth. At the position where the flow detaches, the shear stress value suddenly drops. If the inertia of the bedload, the bedload flux saturation, is not accounted for, then the sediments accumulate at the crest, and the dune height increases rapidly <xref ref-type="bibr" rid="bib1.bibx11" id="paren.82"/>. At some point, the upstream slope becomes steeper than the angle of repose, and the avalanche flux compensates for the shear-driven bedload flux. The dune then stops moving and stays stuck in a nonphysical state (see pink line in Fig. <xref ref-type="fig" rid="F21"/>). In reality, the sediments arrive at the crest with a certain velocity, and some distance is needed for them to adapt to the sudden change in bed shear stress. They could even “take off” into suspension due to the abrupt change of slope at the crest of the dune. To retrieve a realistic behavior of the dune migration compared with the experiment, our model and simulations suggest using the saturation of the bedload flux (Eq. <xref ref-type="disp-formula" rid="Ch1.E16"/>) as an important physical process to take into account. This is in line with recent improvements made by physicists in the understanding of bedform dynamics <xref ref-type="bibr" rid="bib1.bibx11" id="paren.83"><named-content content-type="pre">e.g.</named-content></xref>. According to <xref ref-type="bibr" rid="bib1.bibx11" id="text.84"/>, for underwater transport, the saturation length is controlled by particle's settling and can be expressed as: <inline-formula><mml:math id="M458" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>∝</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mo>/</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>×</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:math></inline-formula>, and for aeolian transport, the saturation length is dominated by particles' inertia and can be expressed as: <inline-formula><mml:math id="M459" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>∝</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>×</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:math></inline-formula>. The first estimate leads to a value of about <inline-formula><mml:math id="M460" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula> mm while the latter leads to a value of about <inline-formula><mml:math id="M461" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> cm, in agreement with the values tested herein. Nevertheless, some numerical stability issues have been observed that are not yet fully understood and explained, and deserve further work in the near future.</p>

      <fig id="F21" specific-use="star"><label>Figure 21</label><caption><p id="d2e11482">Bed elevation obtained with different saturation length values, ranging from <inline-formula><mml:math id="M462" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.25</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M463" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">20</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M464" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula> with saturation time <inline-formula><mml:math id="M465" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> except for <inline-formula><mml:math id="M466" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">20</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> where <inline-formula><mml:math id="M467" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.02</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> (due to numerical stability condition) and 2 configurations with <inline-formula><mml:math id="M468" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.005</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M469" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.02</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> with <inline-formula><mml:math id="M470" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> are also showed. All these configurations have been performed without suspension to limit potential non-linear interactions between bedload and suspended load on the dune migration. </p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f21.png"/>

          </fig>

</sec>
<sec id="Ch1.S5.SS2.SSS4">
  <label>5.2.4</label><title>Partial conclusion on the 2D simulations</title>
      <p id="d2e11657">The results presented in this section demonstrate the <italic>sedExnerFoam</italic> model's ability to handle complex hydromorphodynamic coupling. It has been shown that grid resolution, particularly in the near-wall region, is important for the quality of simulation results. In particular, predictions of bed shear stress are sensitive to grid resolution. The decision was made to use very refined grids, which resulted in a significant CPU cost. The current implementation takes approximately four hours of wall-clock time on a single CPU core to simulate 15 s of morphodynamics in two dimensions with saturation and without suspension. Saturation of the bedload flux is a novel concept in the context of a 3D computational fluid dynamics solver coupled with an Exner model. The results presented here suggest that further work is required on the physical aspects and numerical implementation. This includes the choice of values for the  <inline-formula><mml:math id="M471" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M472" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> parameters, the choice of numerical schemes, and associated stability issues. In particular, it is worth considering whether the model can simulate three-dimensional problems. This is the topic of the following subsection.</p>
</sec>
</sec>
<sec id="Ch1.S5.SS3">
  <label>5.3</label><title>3D numerical simulations</title>
      <p id="d2e11694">Section <xref ref-type="sec" rid="Ch1.S5.SS3"/> presents three-dimensional numerical simulations of the dune migration problem to assess the model’s performance. The 3D setup is derived from the 2D case and applied under the same physical and numerical assumptions. The results are compared with the 2D simulations to evaluate consistency, robustness, and computational performance.</p>
      <p id="d2e11699">The grid of the 2D case presented in the previous section is just extruded in the <inline-formula><mml:math id="M473" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>-direction to match the experimental channel width (<inline-formula><mml:math id="M474" display="inline"><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula> mm) using 10 cells. This resolution allows us to maintain an aspect ratio close to unity between the streamwise and spanwise grid sizes (<inline-formula><mml:math id="M475" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">0.72</mml:mn></mml:mrow></mml:math></inline-formula> mm, <inline-formula><mml:math id="M476" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">0.6</mml:mn></mml:mrow></mml:math></inline-formula> mm). A grid resolution of <inline-formula><mml:math id="M477" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1100</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M478" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M479" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">80</mml:mn></mml:mrow></mml:math></inline-formula> is employed, corresponding to 880 000 cells. The numerical schemes and empirical parameters used in the sediment transport model for the 3D configuration are identical to those employed in the 2D case. It should be noted that the lateral wall boundary conditions are set as symmetry planes, while the source term accounting for lateral wall friction remains active in the present simulations.</p>
      <p id="d2e11798">The results of the 3D simulations with suspension are shown in Fig. <xref ref-type="fig" rid="F22"/> at three different times during the migration process: <inline-formula><mml:math id="M480" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M481" display="inline"><mml:mn mathvariant="normal">5</mml:mn></mml:math></inline-formula> and <inline-formula><mml:math id="M482" display="inline"><mml:mrow><mml:mn mathvariant="normal">10</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>. In this figure, the flow streamlines are colored according to their velocity magnitude. Also shown is a color plot of the suspended concentration, <inline-formula><mml:math id="M483" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, in a vertical plane at <inline-formula><mml:math id="M484" display="inline"><mml:mrow><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.006</mml:mn></mml:mrow></mml:math></inline-formula> m on a log scale. The color plot on the bed patch represents the <inline-formula><mml:math id="M485" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the bed grid is illustrated by the white lines. As shown in the figure, the flow recirculation cell downstream of the dune is clearly visible. The size of the cell reduces as the dune migrates and its height decreases. The suspended load region encompasses the entire recirculation cell, with a solid volume fraction ranging from <inline-formula><mml:math id="M486" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M487" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>. This seems to be an overestimation compared to the experimental observations made by <xref ref-type="bibr" rid="bib1.bibx41" id="text.85"/>. Not much oscillation is observed at the bed, except perhaps at the downstream toe of the dune, where suspended particles accumulate due to the recirculation cell. This confirms the robustness of the numerical implementation for two-dimensional bathymetry. One final observation is the repartition of the <inline-formula><mml:math id="M488" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, which shows a clear maximum near the crest of the dune. It may be difficult to discern from this figure, but the maximum actually occurs at the crest at <inline-formula><mml:math id="M489" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> s and <inline-formula><mml:math id="M490" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> s in the stationary migration regime. This is consistent with the physical arguments presented, for example, in <xref ref-type="bibr" rid="bib1.bibx11" id="text.86"/>, who argue that saturation of the bedload flux constitutes the stabilizing mechanism for bedform growth. A bedform's maximum amplitude is reached when the maximum occurs at the crest.</p>

      <fig id="F22" specific-use="star"><label>Figure 22</label><caption><p id="d2e11942">Representation of the dune and the flow streamlines of the 3D configuration at different times, <inline-formula><mml:math id="M491" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M492" display="inline"><mml:mn mathvariant="normal">5</mml:mn></mml:math></inline-formula> and <inline-formula><mml:math id="M493" display="inline"><mml:mrow><mml:mn mathvariant="normal">10</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> from top to bottom, during the migration process. The colorplot at the bed represents the saturated bedload flux <inline-formula><mml:math id="M494" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M495" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.005</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M496" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>), and the colorplot in a vertical plane represents the suspended concentration <inline-formula><mml:math id="M497" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> in log scale. The streamlines are colored by the flow velocity.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f22.jpg"/>

        </fig>

      <p id="d2e12042">Figure <xref ref-type="fig" rid="F23"/> shows a comparison of the bed profiles at different times during the migration process (<inline-formula><mml:math id="M498" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M499" display="inline"><mml:mn mathvariant="normal">4</mml:mn></mml:math></inline-formula>, <inline-formula><mml:math id="M500" display="inline"><mml:mn mathvariant="normal">8</mml:mn></mml:math></inline-formula>, and <inline-formula><mml:math id="M501" display="inline"><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>). The results are compared with the 2D case shown in the Fig. <xref ref-type="fig" rid="F19"/>. The differences between the two configurations are very small, demonstrating the reliability of the 3D implementation of the numerical model. The 3D simulation results without suspension exhibit small oscillations of the bed elevation on the stoss side of the migrating dune at <inline-formula><mml:math id="M502" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">12</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>. These oscillations do not degenerate into numerical instabilities. This is likely due to the use of an upwind scheme for the divergence of the bedload flux in the solution of the Exner equation. The model also has a centered scheme for this term; it runs smoothly in the 2D case but crashes in the 3D case, as illustrated in Fig. <xref ref-type="fig" rid="FD3"/> in Appendix <xref ref-type="sec" rid="App1.Ch1.S4"/>. Further work is needed to improve the accuracy and the stability of the coupling between hydrodynamics, sediment transport (including bedload flux saturation), and the morphological evolution. This includes developing a filter for the bed evolution increment <xref ref-type="bibr" rid="bib1.bibx35" id="paren.87"><named-content content-type="pre">e.g.</named-content></xref>, developing high-order, non-oscillating schemes, such as WENO or NOCS <xref ref-type="bibr" rid="bib1.bibx28 bib1.bibx47" id="paren.88"><named-content content-type="pre">e.g.</named-content></xref>, and/or using a predictor-corrector algorithm for the Exner equation solution.</p>

      <fig id="F23" specific-use="star"><label>Figure 23</label><caption><p id="d2e12120">Sediment bed elevation at different times, 0, 4, 8, and 12 s. Comparison between the results from 2D and 3D simulations with and without suspension and experimental results.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f23.png"/>

        </fig>

      <p id="d2e12129">The hydrodynamic part of the model benefits from the native parallelization available in <italic>OpenFOAM</italic>. However, the Exner solver is currently only available sequentially.  One workaround for running parallel simulations is to decompose the numerical domain while ensuring that all the bed cells remain on a single CPU core. While not optimal, this method enables 3D simulations to be performed in a reasonable amount of time. To demonstrate the performance of <italic>sedExnerFoam</italic>, the 3D simulation without suspension presented in this subsection took 1 h and 53 min on 32 CPU cores to simulate 5 s of physical time. This performance is acceptable compared to the 2D case run on a single CPU core. Nevertheless, parallelizing the Exner solver will be necessary to take full advantage of the <italic>OpenFOAM</italic> parallelization capabilities.</p>
</sec>
</sec>
<sec id="Ch1.S6">
  <label>6</label><title>Discussion</title>
      <p id="d2e12150">The newly developed solver, <italic>sedExnerFoam</italic>, shares several characteristics with existing three-dimensional morphodynamic models <xref ref-type="bibr" rid="bib1.bibx44 bib1.bibx38 bib1.bibx37 bib1.bibx3" id="paren.89"><named-content content-type="pre">e.g.</named-content></xref>, while incorporating a number of methodological and numerical developments. These include the use of a single deforming mesh for both hydrodynamics and suspended sediment transport, enabled by a near-wall diffusivity formulation, as well as the introduction of a saturation length in the bedload flux formulation to account for sediment inertia. Within the range of models considered by the authors, the inclusion of bedload flux saturation is not commonly implemented in three-dimensional subaqueous morphodynamic solvers and is shown to be essential for accurately reproducing observed dune migration and crest dynamics in the configurations examined.</p>
      <p id="d2e12161">A further strength of <italic>sedExnerFoam</italic> is its modular, object-oriented structure, which allows users to select and modify closures for settling velocity, bedload transport, the critical Shields number, and avalanching processes. This flexibility is supported by the solver’s open-source availability and the adoption of continuous integration testing, which contribute to transparency, reproducibility, and long-term maintainability. In addition, the avalanche model implemented here avoids the iterative procedures commonly employed in existing three-dimensional morphodynamic models, while the near-wall diffusivity formulation enables the use of a single computational mesh for both flow and suspended sediment transport.</p>
      <p id="d2e12167">Despite these advantages, several limitations remain. The current bed boundary condition for erosion and deposition may lack robustness for large-scale flows, and further development is required to extend the model scope to engineering-scale applications. Moreover, the feedback of suspended sediment on flow hydrodynamics is neglected. Accurate estimation of bed shear stress requires very fine mesh resolution in regions of strongly non-uniform flow, while the mesh deformation solver and the sensitivity of the Exner equation to spurious bed oscillations impose additional constraints on numerical robustness.</p>
      <p id="d2e12170">In comparison with existing morphodynamic models, <italic>sedExnerFoam</italic> occupies an intermediate position between large-scale three-dimensional morphodynamic models – such as <italic>openTELEMAC</italic> <xref ref-type="bibr" rid="bib1.bibx23" id="paren.90"/> and <italic>Delft3D</italic> <xref ref-type="bibr" rid="bib1.bibx43" id="paren.91"/> – and fully resolved two-phase flow approaches, including Eulerian–Eulerian <xref ref-type="bibr" rid="bib1.bibx13" id="paren.92"><named-content content-type="pre">e.g.</named-content></xref> and Eulerian–Lagrangian <xref ref-type="bibr" rid="bib1.bibx14" id="paren.93"><named-content content-type="pre">e.g.</named-content></xref> formulations. Large-scale models are well-suited for reach-scale river simulations but generally lack the spatial resolution required to represent fine-scale interactions with obstacles such as bridge piers, and often rely on simplified turbulence closures and near-wall modelling compared to CFD-based frameworks such as <italic>OpenFOAM</italic>. These limitations must be considered alongside the increased computational cost associated with the finer grids and smaller time steps typically required by <italic>sedExnerFoam</italic>. Within this context, the solver is designed to resolve coupled flow–structure–bed interactions that are relevant to scour processes and bedform dynamics.</p>
      <p id="d2e12206">At the opposite end of the modelling spectrum, two-phase flow approaches provide a more detailed representation of sediment transport physics but at a substantially higher computational cost. For instance, <xref ref-type="bibr" rid="bib1.bibx54" id="text.94"/> reported that three-dimensional two-phase RANS scour simulations using <italic>sedFoam</italic> required approximately 108 000 CPU hours to simulate 600 <inline-formula><mml:math id="M503" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> of physical time. The combined use of two-phase flow models and <italic>sedExnerFoam</italic> may therefore support the development and assessment of sediment transport closures, for instance, through the Exner diagnosis method proposed by <xref ref-type="bibr" rid="bib1.bibx25" id="text.95"/>. More generally, each modelling approach is suited to a specific range of spatial and temporal scales, and the availability of open-source tools spanning this range is expected to benefit the scientific community by facilitating cross-comparisons and reducing uncertainty in morphodynamic simulations. In this context, <italic>sedExnerFoam</italic> is intended to contribute as an intermediate-scale modelling tool and to support upscaling approaches such as those presented previously.</p>
</sec>
<sec id="Ch1.S7">
  <label>7</label><title>Summary and outlook</title>
      <p id="d2e12241">This study presents a new numerical solver, <italic>sedExnerFoam</italic>, designed to investigate sediment transport and morphological evolution. Developed within <italic>OpenFOAM</italic><sup>®</sup> (v2412) and based on the <italic>pimpleFoam</italic> framework, the solver incorporates a wide range of closures for particle settling velocity, bedload transport, and the critical Shields number. These closures can be readily modified by the user, taking full advantage of the object-oriented architecture of <italic>OpenFOAM</italic>.</p>
      <p id="d2e12258">The model has been extensively validated against analytical solutions and experimental data through a series of benchmark tests spanning a wide range of applications, including turbulent suspensions in open-channel flows, idealized dune migration, sand deposition, and mass conservation in hourglass configurations. These benchmarks were deliberately selected to isolate and evaluate individual model components. Finally, the application to the migration of an isolated dune under steady flow conditions demonstrates the solver’s capability to handle complex coupled processes involving flow separation, avalanching, and significant mesh deformation.</p>
      <p id="d2e12261">The major innovations in <italic>sedExnerFoam</italic> are: (i) the avalanche model that eliminates the need for non-physical and computationally expensive iterative procedures commonly used in existing three-dimensional morphodynamic solvers; (ii) the introduction of near-wall turbulent diffusivity for suspended sediment transport, which enables the use of a single mesh for both hydrodynamics and sediment concentration and (iii) the incorporation of bedload flux saturation which is unique among subaqueous sediment transport models to the best of the authors’ knowledge. The main strengths of <italic>sedExnerFoam</italic> lie in its open-source availability, extensive validation on idealized benchmarks, and robust software development practices. Continuous integration testing within the GitHub repository supports long-term maintenance and backward compatibility.  Future work will focus on improving the robustness of the bed boundary condition for erosion and deposition and enhancing computational efficiency, particularly through improved parallelization of the Exner equation. The implementation of filtering techniques and/or high-order non-oscillatory schemes for bed evolution may further reduce numerical instabilities while preserving morphological accuracy. Additional developments could include the treatment of free-surface effects, multiple grain-size classes, and cohesive sediments.</p>
      <p id="d2e12272">In the longer term, <italic>sedExnerFoam</italic> is intended to be used in conjunction with <italic>sedFoam</italic> <xref ref-type="bibr" rid="bib1.bibx13" id="paren.96"/>, a two-phase flow sediment transport model. This combined approach aims to derive more accurate and robust sediment transport closures through systematic upscaling from two-phase flow simulations.</p>
</sec>

      
      </body>
    <back><app-group>

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>Abbreviations and notations</title>
      <p id="d2e12295"><table-wrap position="anchor"><oasis:table><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="justify" colwidth="7cm"/>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry namest="col1" nameend="col2"><bold>Abbreviations</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ALE</oasis:entry>
         <oasis:entry colname="col2">Arbitrary Lagrangian Eulerian</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CFD</oasis:entry>
         <oasis:entry colname="col2">Computational Fluid Dynamics</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">DNS</oasis:entry>
         <oasis:entry colname="col2">Direct Numerical Simulation</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">FAM</oasis:entry>
         <oasis:entry colname="col2">Finite Area Method</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">FVM</oasis:entry>
         <oasis:entry colname="col2">Finite Volume Method</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">IBM</oasis:entry>
         <oasis:entry colname="col2">Immersed Boundary Method</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">LES</oasis:entry>
         <oasis:entry colname="col2">Large Eddy Simulation</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RAS</oasis:entry>
         <oasis:entry colname="col2">Reynolds-Averaged Simulation</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RMSE</oasis:entry>
         <oasis:entry colname="col2">Root Mean Square Error</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">SMAPE</oasis:entry>
         <oasis:entry colname="col2">Symmetric Mean Absolute Percentage Error</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">SST</oasis:entry>
         <oasis:entry colname="col2">Shear Stress Transport</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">TKE</oasis:entry>
         <oasis:entry colname="col2">Turbulent Kinetic Energy</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry namest="col1" nameend="col2"><bold>Notations</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M504" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Suspended sediment volume fraction</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M505" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Maximum sediment volume fraction</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M506" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Reference concentration</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M507" display="inline"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">max</mml:mi></mml:mrow><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Maximum reference concentration</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M508" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Drag coefficient</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M509" display="inline"><mml:mi>d</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Diameter of the sediment [<inline-formula><mml:math id="M510" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M511" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Deposition rate [<inline-formula><mml:math id="M512" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M513" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Hydraulic diameter, 4 times the ratio of the wet area to the wet perimeter [<inline-formula><mml:math id="M514" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M515" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Dimensionless sediment diameter</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M516" display="inline"><mml:mi>E</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Erosion rate [<inline-formula><mml:math id="M517" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M518" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Unit vector oriented with gravity</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M519" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Darcy-Weissback friction factor</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M520" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Hindrance function</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M521" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">F</mml:mi><mml:mi mathvariant="normal">walls</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Side walls friction source term [<inline-formula><mml:math id="M522" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M523" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">First blending function of the <inline-formula><mml:math id="M524" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">SST</mml:mi></mml:mrow></mml:math></inline-formula> model</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M525" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Second blending function of the <inline-formula><mml:math id="M526" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">SST</mml:mi></mml:mrow></mml:math></inline-formula> model</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M527" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Third blending function of the <inline-formula><mml:math id="M528" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">SST</mml:mi></mml:mrow></mml:math></inline-formula> model</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M529" display="inline"><mml:mi mathvariant="bold-italic">g</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Gravity acceleration [<inline-formula><mml:math id="M530" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M531" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Dune height [<inline-formula><mml:math id="M532" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M533" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Specific turbulent kinetic energy [<inline-formula><mml:math id="M534" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M535" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Nikuradse equivalent roughness height [<inline-formula><mml:math id="M536" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M537" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mo>+</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Roughness Reynolds number</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M538" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Wall equivalent roughness height [<inline-formula><mml:math id="M539" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M540" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Dune length [<inline-formula><mml:math id="M541" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M542" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Saturation length [<inline-formula><mml:math id="M543" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M544" display="inline"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi mathvariant="normal">sb</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Distance to the sediment bed boundary [<inline-formula><mml:math id="M545" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M546" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Pressure of the fluid [<inline-formula><mml:math id="M547" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M548" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Specific turbulent kinetic energy production rate [<inline-formula><mml:math id="M549" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M550" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">av</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Avalanche related bedload flux [<inline-formula><mml:math id="M551" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M552" display="inline"><mml:mrow><mml:msubsup><mml:mi>q</mml:mi><mml:mi mathvariant="normal">av</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Maximum avalanche related bedload flux [<inline-formula><mml:math id="M553" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M554" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Bedload flux [<inline-formula><mml:math id="M555" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M556" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Saturated bedload flux [<inline-formula><mml:math id="M557" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M558" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>o</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Rouse number, ratio of the settling velocity to the upwards velocity of the grains</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap></p>
      <p id="d2e13338"><table-wrap position="anchor"><oasis:table><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="justify" colwidth="7cm"/>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M559" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Ratio of sediment density to fluid density</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M560" display="inline"><mml:mi mathvariant="bold">S</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Strain rate tensor [<inline-formula><mml:math id="M561" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M562" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Roughness coefficient in rough wall functions for <inline-formula><mml:math id="M563" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M564" display="inline"><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Breaking time [<inline-formula><mml:math id="M565" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M566" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Saturation time [<inline-formula><mml:math id="M567" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M568" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Fluid velocity field [<inline-formula><mml:math id="M569" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M570" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo mathvariant="bold">′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Fluctuating velocity field [<inline-formula><mml:math id="M571" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M572" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mo>*</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Friction velocity [<inline-formula><mml:math id="M573" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M574" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Volume of fluid [<inline-formula><mml:math id="M575" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M576" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Volume of sediment [<inline-formula><mml:math id="M577" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M578" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Settling velocity of suspended sediment [<inline-formula><mml:math id="M579" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M580" display="inline"><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Terminal settling velocity of a lone particle in a quiescent fluid [<inline-formula><mml:math id="M581" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M582" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Sediment bed elevation [<inline-formula><mml:math id="M583" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M584" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Angle between the steepest slope direction and the shear direction</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M585" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Repose angle of the granular material</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M586" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Bed slope angle</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M587" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Γ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Mesh diffusivity [<inline-formula><mml:math id="M588" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M589" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Bed elevation increment [<inline-formula><mml:math id="M590" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M591" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Reference level [<inline-formula><mml:math id="M592" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M593" display="inline"><mml:mrow><mml:mi mathvariant="bold">Δ</mml:mi><mml:msub><mml:mi>X</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Cell center displacements [<inline-formula><mml:math id="M594" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M595" display="inline"><mml:mi mathvariant="italic">ϵ</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Dissipation rate of turbulent kinetic energy [<inline-formula><mml:math id="M596" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M597" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Turbulent diffusivity for suspended sediment [<inline-formula><mml:math id="M598" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M599" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Additional near bed diffusivity for suspended sediment [<inline-formula><mml:math id="M600" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M601" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mi>w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Constant in the near bed diffusivity definition</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M602" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Shields number, dimensionless bed shear stress</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M603" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Critical Shields number with slope correction</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M604" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Critical Shields number on a flat bed</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M605" display="inline"><mml:mi mathvariant="italic">κ</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Von Kármán constant</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M606" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Porosity of the granular material</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M607" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Static friction coefficient</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M608" display="inline"><mml:mi mathvariant="italic">ν</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Kinematic viscosity of the fluid [<inline-formula><mml:math id="M609" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M610" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Turbulent eddy viscosity [<inline-formula><mml:math id="M611" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M612" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ξ</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Constant in the near bed diffusivity definition</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M613" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Density of the fluid [<inline-formula><mml:math id="M614" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M615" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Density of the sediment [<inline-formula><mml:math id="M616" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M617" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Schmidt number, ratio of eddy viscosity to turbulent diffusivity of suspended sediment</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M618" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Shear stress exerted on the bed [<inline-formula><mml:math id="M619" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M620" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Filtering tensor in Navier-Stokes equation [<inline-formula><mml:math id="M621" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M622" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mi mathvariant="normal">wall</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Lateral wall friction [<inline-formula><mml:math id="M623" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M624" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Einstein number, dimensionless bedload flux</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M625" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Specific dissipation rate of turbulent kinetic energy [<inline-formula><mml:math id="M626" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap></p>
</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>RANS <inline-formula><mml:math id="M627" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo mathvariant="bold">-</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mtext>SST</mml:mtext></mml:mrow></mml:math></inline-formula> model</title>
      <p id="d2e14507">The blending function <inline-formula><mml:math id="M628" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is defined as follows:

          <disp-formula id="App1.Ch1.S2.E37" content-type="numbered"><label>B1</label><mml:math id="M629" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mi>tanh⁡</mml:mi><mml:mfenced open="[" close=""><mml:mrow><mml:mo movablelimits="false">min⁡</mml:mo><mml:mfenced open="(" close=""><mml:mrow><mml:mo movablelimits="false">min⁡</mml:mo><mml:mfenced close="" open="("><mml:mrow><mml:mo movablelimits="false">max⁡</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:msqrt><mml:mi>k</mml:mi></mml:msqrt><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">500</mml:mn><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:msup><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced close="]" open=""><mml:mrow><mml:msup><mml:mfenced close=")" open=""><mml:mrow><mml:mfenced open="" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">CD</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo>+</mml:mo></mml:msubsup><mml:msup><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mo>,</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">4</mml:mn></mml:msup></mml:mrow></mml:mfenced><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

        <inline-formula><mml:math id="M630" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">CD</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo>+</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> stands for the positive portion of the cross-diffusion term and is defined as:

          <disp-formula id="App1.Ch1.S2.E38" content-type="numbered"><label>B2</label><mml:math id="M631" display="block"><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">CD</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo>+</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:mo movablelimits="false">max⁡</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>k</mml:mi><mml:mo>.</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mi mathvariant="italic">ω</mml:mi></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e14714">The blending function appearing in the eddy viscosity definition (Eq. <xref ref-type="disp-formula" rid="Ch1.E3"/>) is defined as <inline-formula><mml:math id="M632" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">23</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> where <inline-formula><mml:math id="M633" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is defined as follows:

          <disp-formula id="App1.Ch1.S2.E39" content-type="numbered"><label>B3</label><mml:math id="M634" display="block"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mi>tanh⁡</mml:mi><mml:mfenced open="[" close="]"><mml:mrow><mml:mo movablelimits="false">min⁡</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mo movablelimits="false">max⁡</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:msqrt><mml:mi>k</mml:mi></mml:msqrt></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">500</mml:mn><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:msup><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>,</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfenced><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e14822">Finally, the function <inline-formula><mml:math id="M635" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> aims at preventing the limitation of the eddy viscosity for rough wall flows. This extension was developed by <xref ref-type="bibr" rid="bib1.bibx29" id="text.97"/> and is written as:

          <disp-formula id="App1.Ch1.S2.E40" content-type="numbered"><label>B4</label><mml:math id="M636" display="block"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>tanh⁡</mml:mi><mml:mfenced close="]" open="["><mml:mrow><mml:mo movablelimits="false">min⁡</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">150</mml:mn><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:msup><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">4</mml:mn></mml:msup></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        By default, <inline-formula><mml:math id="M637" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is deactivated and equal to 1.</p>
      <p id="d2e14901">The model constants <inline-formula><mml:math id="M638" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is obtained from two other constants <inline-formula><mml:math id="M639" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M640" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> using the blending function <inline-formula><mml:math id="M641" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> as:

          <disp-formula id="App1.Ch1.S2.E41" content-type="numbered"><label>B5</label><mml:math id="M642" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        The same applies for <inline-formula><mml:math id="M643" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> with the constants <inline-formula><mml:math id="M644" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M645" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, for <inline-formula><mml:math id="M646" display="inline"><mml:mi mathvariant="italic">β</mml:mi></mml:math></inline-formula> with <inline-formula><mml:math id="M647" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M648" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and for <inline-formula><mml:math id="M649" display="inline"><mml:mi mathvariant="italic">γ</mml:mi></mml:math></inline-formula> with <inline-formula><mml:math id="M650" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">γ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M651" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">γ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. It means than <inline-formula><mml:math id="M652" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M653" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M654" display="inline"><mml:mi mathvariant="italic">β</mml:mi></mml:math></inline-formula> are not really constants as their values vary in space depending on the distance to the nearest wall. The different constant of the model are <inline-formula><mml:math id="M655" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mo>*</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.09</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M656" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.85</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M657" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M658" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M659" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.856</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M660" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.075</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M661" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.0828</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M662" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">γ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">9</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M663" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">γ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.44</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M664" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.31</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M665" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M666" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
</app>

<app id="App1.Ch1.S3">
  <label>Appendix C</label><title>Derivation of Darcy-Weissbach source term</title>
      <p id="d2e15342">This appendix provides more detail on the source term used in Sect. <xref ref-type="sec" rid="Ch1.S5"/> to take into account the friction due to the presence of the lateral walls. For the simplification of the notation and the demonstration, the flow is supposed to be uniform and unidirectional in the <inline-formula><mml:math id="M667" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-direction, the transverse direction is the <inline-formula><mml:math id="M668" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>-direction, and there is no pressure gradient. The velocity field simplifies to <inline-formula><mml:math id="M669" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>=</mml:mo><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and the momentum equations is written as follows:

          <disp-formula id="App1.Ch1.S3.E42" content-type="numbered"><label>C1</label><mml:math id="M670" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M671" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>∂</mml:mo><mml:mi>u</mml:mi><mml:mo>/</mml:mo><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula> is the total stress due to viscous effect and turbulence. Integrating this equations over the flume width <inline-formula><mml:math id="M672" display="inline"><mml:mrow><mml:mi>y</mml:mi><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> yields the following equation:

          <disp-formula id="App1.Ch1.S3.E43" content-type="numbered"><label>C2</label><mml:math id="M673" display="block"><mml:mrow><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">d</mml:mi><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">d</mml:mi><mml:mi>y</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        and then,

          <disp-formula id="App1.Ch1.S3.E44" content-type="numbered"><label>C3</label><mml:math id="M674" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>y</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo>|</mml:mo><mml:mrow><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo>|</mml:mo><mml:mrow><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        with <inline-formula><mml:math id="M675" display="inline"><mml:mrow><mml:msup><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>y</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>∫</mml:mo><mml:mi>u</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M676" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo>|</mml:mo><mml:mrow><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo>|</mml:mo><mml:mrow><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">wall</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Dividing this Eq. (<xref ref-type="disp-formula" rid="App1.Ch1.S3.E44"/>) by <inline-formula><mml:math id="M677" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> yields:

          <disp-formula id="App1.Ch1.S3.E45" content-type="numbered"><label>C4</label><mml:math id="M678" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mover accent="true"><mml:mi>u</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>y</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">wall</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        Now, replacing <inline-formula><mml:math id="M679" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">wall</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> with the Darcy-Weissbach equation (Eq. <xref ref-type="disp-formula" rid="Ch1.E34"/>), the source term from Eq. (<xref ref-type="disp-formula" rid="Ch1.E36"/>) is retrieved <inline-formula><mml:math id="M680" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">walls</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mi>f</mml:mi><mml:mo>|</mml:mo><mml:mi>u</mml:mi><mml:mo>|</mml:mo><mml:mi>u</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:msub><mml:mi>W</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
</app>

<app id="App1.Ch1.S4">
  <label>Appendix D</label><title>Dune migration, supplementary material</title>
      <p id="d2e15875">The position of the dune, height, and length were estimated as in the work of <xref ref-type="bibr" rid="bib1.bibx41" id="text.98"/>. When the dune does not have a sharp crest, it is found difficult experimentally to identify the precise <inline-formula><mml:math id="M681" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-location corresponding to the top of the dune. Instead, it was chosen to track the dune migration using the coordinate <inline-formula><mml:math id="M682" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, defined from the abscissa of the mid-height of the downstream face. For the length of the dune, it was chosen to estimate it from the base of the triangle formed by the two lines approximating the downstream and upstream faces. This method allows to avoid artifacts in the profile that can occur at the foot of the upstream or downstream face. The definitions of <inline-formula><mml:math id="M683" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and the dune height and length are summarized in the schematic shown in Fig. <xref ref-type="fig" rid="FD1"/>.</p>

      <fig id="FD1"><label>Figure D1</label><caption><p id="d2e15914">Schematic showing how the dune's characteristics are defined. The dune's position is tracked using the coordinate <inline-formula><mml:math id="M684" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> corresponding to the abscissa of the mid-height of the downstream side of the dune. The dune's length is the base of the triangle formed by the lines approximating the downstream and upstream slopes and the rigid bed.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f24.png"/>

      </fig>

<table-wrap id="TD1"><label>Table D1</label><caption><p id="d2e15940">Characteristics of the four meshes used in the numerical study of dune migration. Ranging from coarse mesh M0 to fine mesh M3. The domain length is 800 mm, and the domain height is 90 mm for all meshes. <inline-formula><mml:math id="M685" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M686" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the number of cells in the <inline-formula><mml:math id="M687" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-direction and <inline-formula><mml:math id="M688" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>-direction, respectively, and <inline-formula><mml:math id="M689" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the distance from the first cell center to the wall boundary.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">meshes</oasis:entry>
         <oasis:entry colname="col2">M0</oasis:entry>
         <oasis:entry colname="col3">M1</oasis:entry>
         <oasis:entry colname="col4">M2</oasis:entry>
         <oasis:entry colname="col5">M3</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M690" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">300</oasis:entry>
         <oasis:entry colname="col3">500</oasis:entry>
         <oasis:entry colname="col4">1000</oasis:entry>
         <oasis:entry colname="col5">1100</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M691" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">30</oasis:entry>
         <oasis:entry colname="col3">50</oasis:entry>
         <oasis:entry colname="col4">70</oasis:entry>
         <oasis:entry colname="col5">80</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M692" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> in mm</oasis:entry>
         <oasis:entry colname="col2">1.037</oasis:entry>
         <oasis:entry colname="col3">0.359</oasis:entry>
         <oasis:entry colname="col4">0.257</oasis:entry>
         <oasis:entry colname="col5">0.142</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e16113">As stated in Sect. <xref ref-type="sec" rid="Ch1.S5"/>, the migration of the dune is affected by various parameters of the model. A first important parameter is the mesh resolution and, in particular, the near-bed resolution. A poor resolution leads to an underestimate of the bed shear stress. Table <xref ref-type="table" rid="TD1"/> summarizes the characteristics of four different meshes used in a sensitivity analysis.</p>
      <p id="d2e16120">The bed motion is deactivated to study the effect of mesh resolution on the bed shear stress without morphodynamics, and each simulation is run for 10 s in order to reach a stationary state. Figure <xref ref-type="fig" rid="FD2"/> shows the stream-wise component of the bed shear stress obtained with the four meshes presented in Table <xref ref-type="table" rid="TD1"/>.</p>
      <p id="d2e16127">The maximum friction velocity consistently occurs slightly upstream of the crest. Its position is sensitive to mesh resolution, shifting farther upstream as the mesh is refined. Poor mesh resolution leads to an underestimation of the maximum friction velocity near the dune crest, which can slow the migration process in morphodynamics simulations. Using a fine mesh also reveals additional flow features near the dune extremities. For instance, a small recirculation develops at the upstream foot of the dune, and the friction velocity decreases at the transition between the downstream slope and the flat bed.</p>

      <fig id="FD2"><label>Figure D2</label><caption><p id="d2e16132">Comparison of the streamwise component of the friction velocity for four mesh resolutions (M0, M1, M2, and M3) in simulations of flow over the initial dune geometry without morphodynamic evolution.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f25.png"/>

      </fig>

<fig id="FD3"><label>Figure D3</label><caption><p id="d2e16147">Bed elevation obtained with different advection schemes for the divergence of bedload flux in the Exner equation: Upwind and Linear (Centered) schemes, coupled with a second order Adams-Bashforth scheme for the time derivative. The saturation length value is fixed to <inline-formula><mml:math id="M693" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> mm and the saturation time is fixed to <inline-formula><mml:math id="M694" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn></mml:mrow></mml:math></inline-formula> s.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f26.png"/>

      </fig>

</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e16192"><italic>sedExnerFoam</italic> <xref ref-type="bibr" rid="bib1.bibx59" id="text.99"/> model code, associated libraries, tests and tutorials are all available via Zenodo at <ext-link xlink:href="https://doi.org/10.5281/zenodo.15535485" ext-link-type="DOI">10.5281/zenodo.15535485</ext-link> or directly via GitHub at <uri>https://github.com/SedFoam/sedExnerFoam</uri> (last access: 17 March 2026). Instructions for installation and explanations on the repository organization are provided in a README file.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e16209">JC, CB, and OB designed the project. MR developed the source code, ran simulations, and wrote the paper. JC edited the manuscript. Supervision: CB, OB, JC. All authors discussed the results and contributed to the final paper.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e16215">The contact author has declared that none of the authors has any competing interests.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e16221">Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. The authors bear the ultimate responsibility for providing appropriate place names. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.</p>
  </notes><ack><title>Acknowledgements</title><p id="d2e16228">Various graphics presented in this work were produced using the Python package <italic>fluidfoam</italic> <xref ref-type="bibr" rid="bib1.bibx5" id="paren.100"/>. The authors also gratefully acknowledge the developers of ParaView <xref ref-type="bibr" rid="bib1.bibx1" id="paren.101"/>, which was used to visualize the simulation results.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e16242">This work was carried out in the framework of the OXALIA chair, supported by the Fondation Grenoble INP, thanks to the patronage of Artelia, and is affiliated with LEGI.</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e16248">This paper was edited by Di Tian and reviewed by Gabriel Barajas, Jennifer Keenahan, and Sem Geerts.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Ahrens et al.(2005)Ahrens, Geveci, and Law</label><mixed-citation> Ahrens, J., Geveci, B., and Law, C.: ParaView: An End-User Tool for Large Data Visualization, in: Visualization Handbook, Elsevier, ISBN 978-0123875822, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Amoudry et al.(2005)Amoudry, Hsu, and Liu</label><mixed-citation>Amoudry, L., Hsu, T.-J., and Liu, P. L.-F.: Schmidt number and near-bed boundary condition effects on a two-phase dilute sediment transport model, J. Geophys. Res.-Oceans, 110, <ext-link xlink:href="https://doi.org/10.1029/2004JC002798" ext-link-type="DOI">10.1029/2004JC002798</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Baykal et al.(2015)Baykal, Sumer, Fuhrman, Jacobsen, and Fredsøe</label><mixed-citation>Baykal, C., Sumer, B. M., Fuhrman, D. R., Jacobsen, N. G., and Fredsøe, J.: Numerical investigation of flow and scour around a vertical circular cylinder, Philos. T. R. Soc. Lond. Ser. A, 373, 20140104, <ext-link xlink:href="https://doi.org/10.1098/rsta.2014.0104" ext-link-type="DOI">10.1098/rsta.2014.0104</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Benoit et al.(2002)Benoit, Aelbrecht, Bellue, Luck, and Violeau</label><mixed-citation>Benoit, M., Aelbrecht, D., Bellue, G., Luck, M., and Violeau, D.: Propagation des houles et des surcotes extrêmes vers les côtes et estuaires Apports de la modélisation numérique, La Houille Blanche, 88, 86–89, <ext-link xlink:href="https://doi.org/10.1051/lhb/2002029" ext-link-type="DOI">10.1051/lhb/2002029</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Bonamy et al.(2025)Bonamy, Chauchat, Clemencot, Puig Montellà, Mathieu, Chassagne, Renaud, Höhn, Bernard, Gonçalves, Skorlic, and Nikiteas</label><mixed-citation>Bonamy, C., Chauchat, J., Clemencot, Q., Puig Montellà, E., Mathieu, A., Chassagne, R., Renaud, M., Höhn, P., Bernard, A., Gonçalves, G., Skorlic, M., and Nikiteas, I.: fluiddyn/fluidfoam: v0.2.9, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.14893673" ext-link-type="DOI">10.5281/zenodo.14893673</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Brownlie(1983)</label><mixed-citation>Brownlie, W. R.: Prediction of flow depth and sediment discharge in open channels, <ext-link xlink:href="https://doi.org/10.7907/Z9KP803R" ext-link-type="DOI">10.7907/Z9KP803R</ext-link>, 1983.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Camenen(2008)</label><mixed-citation>Camenen, B.: Settling velocity of sediments at high concentrations, in: Sediment and Ecohydraulics, vol. 9 of Proceedings in Marine Science, 211–226, <ext-link xlink:href="https://doi.org/10.1016/S1568-2692(08)80017-4" ext-link-type="DOI">10.1016/S1568-2692(08)80017-4</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Camenen and Larson(2005)</label><mixed-citation>Camenen, B. and Larson, M.: A general formula for non-cohesive bed load sediment transport, Estuar. Coast. Shelf Sci., 63, 249–260, <ext-link xlink:href="https://doi.org/10.1016/j.ecss.2004.10.019" ext-link-type="DOI">10.1016/j.ecss.2004.10.019</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Celik and Rodi(1988)</label><mixed-citation>Celik, I. and Rodi, W.: Modeling suspended sediment transport in nonequilibrium situations, J. Hydraul. Eng., 114, 1157–1191, <ext-link xlink:href="https://doi.org/10.1061/(ASCE)0733-9429(1988)114:10(1157)" ext-link-type="DOI">10.1061/(ASCE)0733-9429(1988)114:10(1157)</ext-link>, 1988.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Charru(2006)</label><mixed-citation>Charru, F.: Selection of the ripple length on a granular bed sheared by a liquid flow, Phys. Fluids, 18, <ext-link xlink:href="https://doi.org/10.1063/1.2397005" ext-link-type="DOI">10.1063/1.2397005</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Charru et al.(2013)Charru, Andreotti, and Claudin</label><mixed-citation>Charru, F., Andreotti, B., and Claudin, P.: Sand ripples and dunes, Annu. Rev. Fluid Mech., 45, 469–493, <ext-link xlink:href="https://doi.org/10.1146/annurev-fluid-011212-140806" ext-link-type="DOI">10.1146/annurev-fluid-011212-140806</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Chatterjee et al.(1994)Chatterjee, Ghosh, and Chatterjee</label><mixed-citation>Chatterjee, S., Ghosh, S., and Chatterjee, M.: Local scour due to submerged horizontal jet, J. Hydraul. Eng., 120, 973–992, <ext-link xlink:href="https://doi.org/10.1061/(ASCE)0733-9429(1994)120:8(973)" ext-link-type="DOI">10.1061/(ASCE)0733-9429(1994)120:8(973)</ext-link>, 1994.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Chauchat et al.(2017)Chauchat, Cheng, Nagel, Bonamy, and Hsu</label><mixed-citation>Chauchat, J., Cheng, Z., Nagel, T., Bonamy, C., and Hsu, T.-J.: SedFoam-2.0: a 3-D two-phase flow numerical model for sediment transport, Geosci. Model Dev., 10, 4367–4392, <ext-link xlink:href="https://doi.org/10.5194/gmd-10-4367-2017" ext-link-type="DOI">10.5194/gmd-10-4367-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Cheng et al.(2018)Cheng, Chauchat, Hsu, and Calantoni</label><mixed-citation>Cheng, Z., Chauchat, J., Hsu, T.-J., and Calantoni, J.: Eddy interaction model for turbulent suspension in Reynolds-averaged Euler–Lagrange simulations of steady sheet flow, Adv. Water Resour., 111, 435–451, <ext-link xlink:href="https://doi.org/10.1016/j.advwatres.2017.11.019" ext-link-type="DOI">10.1016/j.advwatres.2017.11.019</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Chiew and Melville(1987)</label><mixed-citation>Chiew, Y.-M. and Melville, B. W.: Local scour around bridge piers, J. Hydraul. Res., 25, 15–26, <ext-link xlink:href="https://doi.org/10.1080/00221688709499285" ext-link-type="DOI">10.1080/00221688709499285</ext-link>, 1987.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Cunge et al.(1980)Cunge, M, and Verwey</label><mixed-citation> Cunge, J. A., M, H. F., and Verwey, A.: Practical aspects of computational river hydraulics, [Monographs and surveys in water resources engineering] 3, Pitman Advanced Pub. Program, ISBN 0-273-08442-9, 1980.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Duran Vinent et al.(2019)Duran Vinent, Andreotti, Claudin, and Winter</label><mixed-citation>Duran Vinent, O., Andreotti, B., Claudin, P., and Winter, C.: A unified model of ripples and dunes in water and planetary environments, Nat. Geosci., 12, 345–350, <ext-link xlink:href="https://doi.org/10.1038/s41561-019-0336-4" ext-link-type="DOI">10.1038/s41561-019-0336-4</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Einstein(1942)</label><mixed-citation>Einstein, H. A.: Formulas for the transportation of bed load, Trans. Am. Soc. Civil Eng., 107, 561–577, <ext-link xlink:href="https://doi.org/10.1061/TACEAT.0005468" ext-link-type="DOI">10.1061/TACEAT.0005468</ext-link>, 1942.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Engelund and Fredsøe(1976)</label><mixed-citation> Engelund, F. and Fredsøe, J.: A sediment transport model for straight alluvial channels, Hydrol. Res., 7, 293–306, 1976.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Exner(1920)</label><mixed-citation> Exner, F. M.: Zur physik der dünen, Hölder Sitzber Akad. Wiss Wien., urn:nbn:at:at-ubw:g-149112, 1920.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Fang and Rodi(2003)</label><mixed-citation>Fang, H.-W. and Rodi, W.: Three-dimensional calculations of flow and suspended sediment transport in the neighborhood of the dam for the Three Gorges Project (TGP) reservoir in the Yangtze River, J. Hydraul. Res., 41, 379–394, <ext-link xlink:href="https://doi.org/10.1080/00221680309499983" ext-link-type="DOI">10.1080/00221680309499983</ext-link>, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Fredsoe and Deigaard(1992)</label><mixed-citation>Fredsoe, J. and Deigaard, R.: Mechanics of coastal sediment transport, vol. 3, World scientific publishing company, <ext-link xlink:href="https://doi.org/10.1142/1546" ext-link-type="DOI">10.1142/1546</ext-link>, 1992.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Galland et al.(1991)Galland, Goutal, and Hervouet</label><mixed-citation>Galland, J.-C., Goutal, N., and Hervouet, J.-M.: TELEMAC: A new numerical model for solving shallow water equations, Adv. Water Resour., 14, 138–148, <ext-link xlink:href="https://doi.org/10.1016/0309-1708(91)90006-A" ext-link-type="DOI">10.1016/0309-1708(91)90006-A</ext-link>, 1991.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Gilletta et al.(2024)Gilletta, Chauchat, Bonamy, Robert, and Hsu</label><mixed-citation>Gilletta, A., Chauchat, J., Bonamy, C., Robert, M., and Hsu, T.-J.: Scour around a wind turbine pile using a two-phase flow turbulence-resolving model, in: 2024 Ocean Sciences Meeting, AGU, <uri>https://ui.adsabs.harvard.edu/abs/2024AGUOSCP33C..11G</uri> (last access: 17 March 2026), 2024.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Gilletta et al.(2026)Gilletta, Bonamy, and Chauchat</label><mixed-citation>Gilletta, A., Bonamy, C., and Chauchat, J.: Exner diagnosis method for two-fluid morphodynamics simulations, Int. J. Multiph. Flow, 194, 105457, <ext-link xlink:href="https://doi.org/10.1016/j.ijmultiphaseflow.2025.105457" ext-link-type="DOI">10.1016/j.ijmultiphaseflow.2025.105457</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Goutal and Maurel(2002)</label><mixed-citation>Goutal, N. and Maurel, F.: A finite volume solver for 1D shallow-water equations applied to an actual river, Int. J. Numer. Meth. Fl., 38, 1–19, <ext-link xlink:href="https://doi.org/10.1002/fld.201" ext-link-type="DOI">10.1002/fld.201</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Greenshields and Weller(2022)</label><mixed-citation> Greenshields, C. and Weller, H.: Notes on Computational Fluid Dynamics: General Principles, CFD Direct Ltd, Reading, UK,  ISBN 978-1-3999-2078-0, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Guerin et al.(2016)Guerin, Bertin, and Dodet</label><mixed-citation>Guerin, T., Bertin, X., and Dodet, G.: A numerical scheme for coastal morphodynamic modelling on unstructured grids, Ocean Model., 104, 45–53, <ext-link xlink:href="https://doi.org/10.1016/j.ocemod.2016.04.009" ext-link-type="DOI">10.1016/j.ocemod.2016.04.009</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Hellsten et al.(1997)Hellsten, Laine, Hellsten, and Laine</label><mixed-citation>Hellsten, A., Laine, S., Hellsten, A., and Laine, S.: Extension of the k-omega-SST turbulence model for flows over rough surfaces, in: 22nd atmospheric flight mechanics conference, p. 3577, <ext-link xlink:href="https://doi.org/10.2514/6.1997-3577" ext-link-type="DOI">10.2514/6.1997-3577</ext-link>, 1997.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Hervouet(1999)</label><mixed-citation>Hervouet, J.-M.: TELEMAC, a hydroinformatic system, La Houille Blanche, 21–28, <ext-link xlink:href="https://doi.org/10.1051/lhb/1999029" ext-link-type="DOI">10.1051/lhb/1999029</ext-link>, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Hervouet(2007)</label><mixed-citation>Hervouet, J.-M.: Hydrodynamics of free surface flows: modelling with the finite element method, John Wiley &amp; Sons, <ext-link xlink:href="https://doi.org/10.1002/9780470319628" ext-link-type="DOI">10.1002/9780470319628</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Hjelmfelt and Lenau(1970)</label><mixed-citation> Hjelmfelt, A. T. and Lenau, C. W.: Nonequilibrium transport of suspended sediment, J. Hydraul. Div., 96, 1567–1586, 1970.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Hu et al.(2024)Hu, Li, Deng, Yue, Zhou, Yang, Zheng, and Li</label><mixed-citation>Hu, Y., Li, D., Deng, J., Yue, Y., Zhou, J., Yang, C., Zheng, N., and Li, Y.: Dune development dominates flow resistance increase in a large dammed river, Water Resour. Res., 60, e2023WR036660, <ext-link xlink:href="https://doi.org/10.1029/2023WR036660" ext-link-type="DOI">10.1029/2023WR036660</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Issa(1986)</label><mixed-citation>Issa, R. I.: Solution of the implicitly discretised fluid flow equations by operator-splitting, J. Comput. Phys., 62, 40–65, <ext-link xlink:href="https://doi.org/10.1016/0021-9991(86)90099-9" ext-link-type="DOI">10.1016/0021-9991(86)90099-9</ext-link>, 1986.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Jacobsen(2011)</label><mixed-citation> Jacobsen, N. G.: A full hydro-and morphodynamic description of breaker bar development, Ph.D. thesis, ISBN 978-87-90416-64-5, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Jacobsen(2015)</label><mixed-citation>Jacobsen, N. G.: Mass conservation in computational morphodynamics: uniform sediment and infinite availability, Int. J. Numer. Meth. Fl., 78, 233–256, <ext-link xlink:href="https://doi.org/10.1002/fld.4015" ext-link-type="DOI">10.1002/fld.4015</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Jacobsen and Fredsoe(2014)</label><mixed-citation>Jacobsen, N. G. and Fredsoe, J.: Formation and development of a breaker bar under regular waves. Part 2: Sediment transport and morphology, Coast. Eng., 88, 55–68, <ext-link xlink:href="https://doi.org/10.1016/j.coastaleng.2014.01.015" ext-link-type="DOI">10.1016/j.coastaleng.2014.01.015</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Jacobsen et al.(2014)Jacobsen, Fredsoe, and Jensen</label><mixed-citation>Jacobsen, N. G., Fredsoe, J., and Jensen, J. H.: Formation and development of a breaker bar under regular waves. Part 1: Model description and hydrodynamics, Coast. Eng., 88, 182–193, <ext-link xlink:href="https://doi.org/10.1016/j.coastaleng.2013.12.008" ext-link-type="DOI">10.1016/j.coastaleng.2013.12.008</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Jasak et al.(2007)Jasak, Jemcov, Tukovic et al.</label><mixed-citation> Jasak, H., Jemcov, A., and Tukovic, Z.: OpenFOAM: A C++ library for complex physics simulations, in: International workshop on coupled methods in numerical dynamics,  Dubrovnik, Croatia, vol. 1000, 1–20, ISBN 9789536313884, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Kennedy(1963)</label><mixed-citation>Kennedy, J. F.: The mechanics of dunes and antidunes in erodible-bed channels, J. Fluid Mech., 16, 521–544, <ext-link xlink:href="https://doi.org/10.1017/S0022112063000975" ext-link-type="DOI">10.1017/S0022112063000975</ext-link>, 1963.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Kiki Sandoungout(2019)</label><mixed-citation>Kiki Sandoungout, S.: Caractérisation de la morphologie des dunes dans des écoulements unidirectionnels et alternatifs, Ph.D. thesis, Université de Bretagne occidentale – Brest, <uri>https://theses.hal.science/tel-02453140</uri> (last access: 17 March 2026), 2019.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Launder and Spalding(1983)</label><mixed-citation>Launder, B. E. and Spalding, D. B.: The numerical computation of turbulent flows, in: Numerical prediction of flow, heat transfer, turbulence and combustion, Elsevier, 96–116, <ext-link xlink:href="https://doi.org/10.1016/B978-0-08-030937-8.50016-7" ext-link-type="DOI">10.1016/B978-0-08-030937-8.50016-7</ext-link>, 1983.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Lesser et al.(2004)Lesser, Roelvink, van Kester, and Stelling</label><mixed-citation>Lesser, G. R., Roelvink, J. V., van Kester, J. T. M., and Stelling, G.: Development and validation of a three-dimensional morphological model, Coast. Eng., 51, 883–915, <ext-link xlink:href="https://doi.org/10.1016/j.coastaleng.2004.07.014" ext-link-type="DOI">10.1016/j.coastaleng.2004.07.014</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>Liu and García(2008)</label><mixed-citation>Liu, X. and García, M. H.: Three-dimensional numerical model with free water surface and mesh deformation for local sediment scour, J. Waterw. Port. Coast., 134, 203–217, <ext-link xlink:href="https://doi.org/10.1061/(ASCE)0733-950X(2008)134:4(203)" ext-link-type="DOI">10.1061/(ASCE)0733-950X(2008)134:4(203)</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>Lyn(1988)</label><mixed-citation>Lyn, D. A.: A similarity approach to turbulent sediment-laden flows in open channels, J. Fluid Mech., 193, 1–26, <ext-link xlink:href="https://doi.org/10.1017/S0022112088002034" ext-link-type="DOI">10.1017/S0022112088002034</ext-link>, 1988.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>Marchesiello et al.(2015)Marchesiello, Benshila, Almar, Uchiyama, McWilliams, and Shchepetkin</label><mixed-citation>Marchesiello, P., Benshila, R., Almar, R., Uchiyama, Y., McWilliams, J. C., and Shchepetkin, A.: On tridimensional rip current modeling, Ocean Model., 96, 36–48, <ext-link xlink:href="https://doi.org/10.1016/j.ocemod.2015.07.003" ext-link-type="DOI">10.1016/j.ocemod.2015.07.003</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Marieu et al.(2008)Marieu, Bonneton, Foster, and Ardhuin</label><mixed-citation>Marieu, V., Bonneton, P., Foster, D. L., and Ardhuin, F.: Modeling of vortex ripple morphodynamics, J. Geophys. Res., 113, 2007JC004659, <ext-link xlink:href="https://doi.org/10.1029/2007JC004659" ext-link-type="DOI">10.1029/2007JC004659</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Martino et al.(2019)Martino, Ciani, Paterson, and Piva</label><mixed-citation>Martino, R. G., Ciani, F. G., Paterson, A., and Piva, M. F.: Experimental study on the scour due to a water jet subjected to lateral confinement, Eur. J. Mech. B-Fluid, 75, 219–227, <ext-link xlink:href="https://doi.org/10.1016/j.euromechflu.2018.10.009" ext-link-type="DOI">10.1016/j.euromechflu.2018.10.009</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx49"><label>McOwen(1996)</label><mixed-citation> McOwen, R. C.: Partial differential equations : methods and applications, Upper Saddle River, N. J., Prentice Hall, ISBN  978-0131218802, 1996.</mixed-citation></ref>
      <ref id="bib1.bibx50"><label>Menter(1994)</label><mixed-citation>Menter, F. R.: Two-equation eddy-viscosity turbulence models for engineering applications, AIAA J., 32, 1598–1605, <ext-link xlink:href="https://doi.org/10.2514/3.12149" ext-link-type="DOI">10.2514/3.12149</ext-link>, 1994.</mixed-citation></ref>
      <ref id="bib1.bibx51"><label>Meyer-Peter and Müller(1948)</label><mixed-citation>Meyer-Peter, E. and Müller, R.: Formulas for bed-load transport, in: IAHSR 2nd meeting, Stockholm, appendix 2, IAHR, <uri>https://repository.tudelft.nl/record/uuid:4fda9b61-be28-4703-ab06-43cdc2a21bd7</uri> (last access: 17 March 2026), 1948.</mixed-citation></ref>
      <ref id="bib1.bibx52"><label>Miedema(2008)</label><mixed-citation>Miedema, S.: An analytical method to determine scour, WEDA XXVIII &amp; Texas A&amp;M, 39, 8–11, <uri>https://www.westerndredging.org/phocadownload/ConferencePresentations/2008_StLouis/Session1B-DredgingResearch/1%20-%20Miedema%20-%20An%20Analytical%20Method%20to%20Determine%20Scour.pdf</uri> (last access: 17 March 2026), 2008.</mixed-citation></ref>
      <ref id="bib1.bibx53"><label>Muste et al.(2005)Muste, Yu, Fujita, and Ettema</label><mixed-citation>Muste, M., Yu, K., Fujita, I., and Ettema, R.: Two-phase versus mixed-flow perspective on suspended sediment transport in turbulent channel flows, Water Resour. Res., 41, <ext-link xlink:href="https://doi.org/10.1029/2004WR003595" ext-link-type="DOI">10.1029/2004WR003595</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx54"><label>Nagel et al.(2020)Nagel, Chauchat, Bonamy, Liu, Cheng, and Hsu</label><mixed-citation>Nagel, T., Chauchat, J., Bonamy, C., Liu, X., Cheng, Z., and Hsu, T.-J.: Three-dimensional scour simulations with a two-phase flow model, Adv. Water Resour., 138, 103544, <ext-link xlink:href="https://doi.org/10.1016/j.advwatres.2020.103544" ext-link-type="DOI">10.1016/j.advwatres.2020.103544</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx55"><label>Nielsen(1992)</label><mixed-citation>Nielsen, P.: Coastal bottom boundary layers and sediment transport, vol. 4, World scientific, <ext-link xlink:href="https://doi.org/10.1142/1269" ext-link-type="DOI">10.1142/1269</ext-link>, 1992.</mixed-citation></ref>
      <ref id="bib1.bibx56"><label>Patankar and Spalding(1983)</label><mixed-citation>Patankar, S. V. and Spalding, D. B.: A calculation procedure for heat, mass and momentum transfer in three-dimensional parabolic flows, in: Numerical prediction of flow, heat transfer, turbulence and combustion, Elsevier, 54–73, <ext-link xlink:href="https://doi.org/10.1016/B978-0-08-030937-8.50013-1" ext-link-type="DOI">10.1016/B978-0-08-030937-8.50013-1</ext-link>, 1983.</mixed-citation></ref>
      <ref id="bib1.bibx57"><label>Rauter and Kowalski(2024)</label><mixed-citation>Rauter, M. and Kowalski, J.: OpenFOAM-avalanche 2312: depth-integrated models beyond dense-flow avalanches, Geosci. Model Dev., 17, 6545–6569, <ext-link xlink:href="https://doi.org/10.5194/gmd-17-6545-2024" ext-link-type="DOI">10.5194/gmd-17-6545-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx58"><label>Recking(2010)</label><mixed-citation>Recking, A.: A comparison between flume and field bed load transport data and consequences for surface-based bed load transport prediction, Water Resour. Res., 46, <ext-link xlink:href="https://doi.org/10.1029/2009WR008007" ext-link-type="DOI">10.1029/2009WR008007</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx59"><label>Renaud et al.(2025)Renaud, Bonamy, Chauchat, and Bertrand</label><mixed-citation>Renaud, M., Bonamy, C., Chauchat, J., and Bertrand, O.: SedFoam/sedExnerFoam: Release 2412, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.15535486" ext-link-type="DOI">10.5281/zenodo.15535486</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx60"><label>Ribberink(1998)</label><mixed-citation>Ribberink, J. S.: Bed-load transport for steady flows and unsteady oscillatory flows, Coast. Eng., 34, 59–82, <ext-link xlink:href="https://doi.org/10.1016/S0378-3839(98)00013-1" ext-link-type="DOI">10.1016/S0378-3839(98)00013-1</ext-link>, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx61"><label>Richardson and Zaki(1954)</label><mixed-citation>Richardson, J. and Zaki, W.: The sedimentation of a suspension of uniform spheres under conditions of viscous flow, Chem. Eng. Sci., 3, 65–73, <ext-link xlink:href="https://doi.org/10.1016/0009-2509(54)85015-9" ext-link-type="DOI">10.1016/0009-2509(54)85015-9</ext-link>, 1954.</mixed-citation></ref>
      <ref id="bib1.bibx62"><label>Roulund et al.(2005)Roulund, Sumer, Fredsøe, and Michelsen</label><mixed-citation>Roulund, A., Sumer, B. M., Fredsøe, J., and Michelsen, J.: Numerical and experimental investigation of flow and scour around a circular pile, J. Fluid Mech., 534, 351–401, <ext-link xlink:href="https://doi.org/10.1017/S0022112005004507" ext-link-type="DOI">10.1017/S0022112005004507</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx63"><label>Rubey(1933)</label><mixed-citation>Rubey, W.: Equilibrium-conditions in debris-laden streams, EOS Trans. Am. Geophys. Union, 14, 497–505, <ext-link xlink:href="https://doi.org/10.1029/TR014i001p00497" ext-link-type="DOI">10.1029/TR014i001p00497</ext-link>, 1933.</mixed-citation></ref>
      <ref id="bib1.bibx64"><label>Shields(1936)</label><mixed-citation>Shields, A. F.: Anwendung der Ähnlichkeitsmechanik und der Turbulenzforschung auf die Geschiebebewegung, Ph.D. thesis, <uri>https://d-nb.info/571552609/04</uri> (last access: 17 March 2026), 1936.</mixed-citation></ref>
      <ref id="bib1.bibx65"><label>Song et al.(2022)Song, Xu, Ismail, and Liu</label><mixed-citation>Song, Y., Xu, Y., Ismail, H., and Liu, X.: Scour modeling based on immersed boundary method: A pathway to practical use of three-dimensional scour models, Coast. Eng., 171, 104037, <ext-link xlink:href="https://doi.org/10.1016/j.coastaleng.2021.104037" ext-link-type="DOI">10.1016/j.coastaleng.2021.104037</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx66"><label>Soulsby(1997)</label><mixed-citation> Soulsby, R.: Dynamics of marine sands, T. Telford London, UK, ISBN 978-0-7277-2584-4, 1997.</mixed-citation></ref>
      <ref id="bib1.bibx67"><label>Soulsby and Whitehouse(1997)</label><mixed-citation> Soulsby, R. and Whitehouse: Threshold of Sediment Motion in Coastal Environments, in: Proceedings of the 13th Australasian Coastal and Ocean Engineering Conference and the 6th Australasian Port and Harbour Conference, Christchurch, N.Z., vol. 1,   145–150, ISBN 978-0-908993-15-4, 1997.</mixed-citation></ref>
      <ref id="bib1.bibx68"><label>Stokes(1901)</label><mixed-citation>Stokes, G. G.: Mathematical and physical papers, vol. 3, Cambridge University Press, <ext-link xlink:href="https://doi.org/10.1017/CBO9780511702297" ext-link-type="DOI">10.1017/CBO9780511702297</ext-link>, 1901.</mixed-citation></ref>
      <ref id="bib1.bibx69"><label>Swamee and Jain(1976)</label><mixed-citation>Swamee, P. K. and Jain, A. K.: Explicit equations for pipe-flow problems, J. Hydraul. Div., 102, 657–664, <ext-link xlink:href="https://doi.org/10.1061/JYCEAJ.0004542" ext-link-type="DOI">10.1061/JYCEAJ.0004542</ext-link>, 1976.</mixed-citation></ref>
      <ref id="bib1.bibx70"><label>Tukovic and Jasak(2008)</label><mixed-citation> Tukovic, Z. and Jasak, H.: Simulation of free-rising bubble with soluble surfactant using moving mesh finite volume/area method, in: Proceedings of 6th International Conference on CFD in Oil &amp; Gas, Metallurgical and Process Industries, no. CFD08-072, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx71"><label>van der Sande et al.(2025)van der Sande, Roos, Gerkema, and Hulscher</label><mixed-citation>van der Sande, W., Roos, P., Gerkema, T., and Hulscher, S.: Nonlinear modeling of river dunes: Insights in long-term evolution of dune dimensions and form roughness, Geomorphology,   109649, <ext-link xlink:href="https://doi.org/10.1016/j.geomorph.2025.109649" ext-link-type="DOI">10.1016/j.geomorph.2025.109649</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx72"><label>Van Rijn(1984)</label><mixed-citation>Van Rijn, L. C.: Sediment transport, Part I: bed load transport, J. Hydraul. Eng., 110, 1431–1456, <ext-link xlink:href="https://doi.org/10.1061/(ASCE)0733-9429(1984)110:10(1431)" ext-link-type="DOI">10.1061/(ASCE)0733-9429(1984)110:10(1431)</ext-link>, 1984.</mixed-citation></ref>
      <ref id="bib1.bibx73"><label>van Rijn(1984)</label><mixed-citation>van Rijn, L. C.: Sediment Transport, Part II: Suspended Load Transport, 110, 1613–1641, <ext-link xlink:href="https://doi.org/10.1061/(ASCE)0733-9429(1984)110:11(1613)" ext-link-type="DOI">10.1061/(ASCE)0733-9429(1984)110:11(1613)</ext-link>, 1984.</mixed-citation></ref>
      <ref id="bib1.bibx74"><label>Warner et al.(2008)Warner, Sherwood, Signell, Harris, and Arango</label><mixed-citation>Warner, J. C., Sherwood, C. R., Signell, R. P., Harris, C. K., and Arango, H. G.: Development of a three-dimensional, regional, coupled wave, current, and sediment-transport model, Comput. Geosci., 34, 1284–1306, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2008.02.012" ext-link-type="DOI">10.1016/j.cageo.2008.02.012</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx75"><label>Warren and Bach(1992)</label><mixed-citation>Warren, I. and Bach, H.: MIKE 21: a modelling system for estuaries, coastal waters and seas, Environ. Softw., 7, 229–240, <ext-link xlink:href="https://doi.org/10.1016/0266-9838(92)90006-P" ext-link-type="DOI">10.1016/0266-9838(92)90006-P</ext-link>, 1992.</mixed-citation></ref>
      <ref id="bib1.bibx76"><label>Wilcox(1998)</label><mixed-citation> Wilcox, D. C.: Turbulence modeling for CFD, vol. 2, DCW industries La Canada, CA, ISBN 0963605100, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx77"><label>Zanke(2003)</label><mixed-citation>Zanke, U.: On the influence of turbulence on the initiation of sediment motion, Int. J. Sediment Res., 18, 17–31, 2003.  </mixed-citation></ref>
      <ref id="bib1.bibx78"><label>Zhou(2017)</label><mixed-citation>Zhou, L.: Numerical modelling of scour in steady flows, Ph.D. thesis, <uri>http://www.theses.fr/2017LYSEC015/document</uri> (last access: 17 March 2026), 2017.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>sedExnerFoam 2412: a 3D Exner-based sediment transport and morphodynamics model</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Ahrens et al.(2005)Ahrens, Geveci, and Law</label><mixed-citation>
      
Ahrens, J., Geveci, B., and Law, C.: ParaView: An End-User Tool for Large Data
Visualization, in: Visualization Handbook, Elsevier, ISBN 978-0123875822,
2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Amoudry et al.(2005)Amoudry, Hsu, and Liu</label><mixed-citation>
      
Amoudry, L., Hsu, T.-J., and Liu, P. L.-F.: Schmidt number and near-bed
boundary condition effects on a two-phase dilute sediment transport model, J.
Geophys. Res.-Oceans, 110, <a href="https://doi.org/10.1029/2004JC002798" target="_blank">https://doi.org/10.1029/2004JC002798</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Baykal et al.(2015)Baykal, Sumer, Fuhrman, Jacobsen, and
Fredsøe</label><mixed-citation>
      
Baykal, C., Sumer, B. M., Fuhrman, D. R., Jacobsen, N. G., and Fredsøe, J.:
Numerical investigation of flow and scour around a vertical circular
cylinder, Philos. T. R. Soc. Lond. Ser. A, 373, 20140104,
<a href="https://doi.org/10.1098/rsta.2014.0104" target="_blank">https://doi.org/10.1098/rsta.2014.0104</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Benoit et al.(2002)Benoit, Aelbrecht, Bellue, Luck, and
Violeau</label><mixed-citation>
      
Benoit, M., Aelbrecht, D., Bellue, G., Luck, M., and Violeau, D.: Propagation
des houles et des surcotes extrêmes vers les côtes et estuaires
Apports de la modélisation numérique, La Houille Blanche, 88, 86–89,
<a href="https://doi.org/10.1051/lhb/2002029" target="_blank">https://doi.org/10.1051/lhb/2002029</a>, 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Bonamy et al.(2025)Bonamy, Chauchat, Clemencot, Puig Montellà,
Mathieu, Chassagne, Renaud, Höhn, Bernard, Gonçalves, Skorlic, and
Nikiteas</label><mixed-citation>
      
Bonamy, C., Chauchat, J., Clemencot, Q., Puig Montellà, E., Mathieu, A.,
Chassagne, R., Renaud, M., Höhn, P., Bernard, A., Gonçalves, G., Skorlic,
M., and Nikiteas, I.: fluiddyn/fluidfoam: v0.2.9, Zenodo [code],
<a href="https://doi.org/10.5281/zenodo.14893673" target="_blank">https://doi.org/10.5281/zenodo.14893673</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Brownlie(1983)</label><mixed-citation>
      
Brownlie, W. R.: Prediction of flow depth and sediment discharge in open
channels,
<a href="https://doi.org/10.7907/Z9KP803R" target="_blank">https://doi.org/10.7907/Z9KP803R</a>, 1983.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Camenen(2008)</label><mixed-citation>
      
Camenen, B.: Settling velocity of sediments at high concentrations, in:
Sediment and Ecohydraulics, vol. 9 of Proceedings in Marine Science,
211–226, <a href="https://doi.org/10.1016/S1568-2692(08)80017-4" target="_blank">https://doi.org/10.1016/S1568-2692(08)80017-4</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Camenen and Larson(2005)</label><mixed-citation>
      
Camenen, B. and Larson, M.: A general formula for non-cohesive bed load
sediment transport, Estuar. Coast. Shelf Sci., 63, 249–260,
<a href="https://doi.org/10.1016/j.ecss.2004.10.019" target="_blank">https://doi.org/10.1016/j.ecss.2004.10.019</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Celik and Rodi(1988)</label><mixed-citation>
      
Celik, I. and Rodi, W.: Modeling suspended sediment transport in nonequilibrium
situations, J. Hydraul. Eng., 114, 1157–1191,
<a href="https://doi.org/10.1061/(ASCE)0733-9429(1988)114:10(1157)" target="_blank">https://doi.org/10.1061/(ASCE)0733-9429(1988)114:10(1157)</a>, 1988.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Charru(2006)</label><mixed-citation>
      
Charru, F.: Selection of the ripple length on a granular bed sheared by a
liquid flow, Phys. Fluids, 18, <a href="https://doi.org/10.1063/1.2397005" target="_blank">https://doi.org/10.1063/1.2397005</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Charru et al.(2013)Charru, Andreotti, and
Claudin</label><mixed-citation>
      
Charru, F., Andreotti, B., and Claudin, P.: Sand ripples and dunes, Annu. Rev.
Fluid Mech., 45, 469–493,
<a href="https://doi.org/10.1146/annurev-fluid-011212-140806" target="_blank">https://doi.org/10.1146/annurev-fluid-011212-140806</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Chatterjee et al.(1994)Chatterjee, Ghosh, and
Chatterjee</label><mixed-citation>
      
Chatterjee, S., Ghosh, S., and Chatterjee, M.: Local scour due to submerged
horizontal jet, J. Hydraul. Eng., 120, 973–992,
<a href="https://doi.org/10.1061/(ASCE)0733-9429(1994)120:8(973)" target="_blank">https://doi.org/10.1061/(ASCE)0733-9429(1994)120:8(973)</a>, 1994.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Chauchat et al.(2017)Chauchat, Cheng, Nagel, Bonamy, and
Hsu</label><mixed-citation>
      
Chauchat, J., Cheng, Z., Nagel, T., Bonamy, C., and Hsu, T.-J.: SedFoam-2.0: a 3-D two-phase flow numerical model for sediment transport, Geosci. Model Dev., 10, 4367–4392, <a href="https://doi.org/10.5194/gmd-10-4367-2017" target="_blank">https://doi.org/10.5194/gmd-10-4367-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Cheng et al.(2018)Cheng, Chauchat, Hsu, and Calantoni</label><mixed-citation>
      
Cheng, Z., Chauchat, J., Hsu, T.-J., and Calantoni, J.: Eddy interaction model
for turbulent suspension in Reynolds-averaged Euler–Lagrange simulations of
steady sheet flow, Adv. Water Resour., 111, 435–451,
<a href="https://doi.org/10.1016/j.advwatres.2017.11.019" target="_blank">https://doi.org/10.1016/j.advwatres.2017.11.019</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Chiew and Melville(1987)</label><mixed-citation>
      
Chiew, Y.-M. and Melville, B. W.: Local scour around bridge piers, J. Hydraul.
Res., 25, 15–26, <a href="https://doi.org/10.1080/00221688709499285" target="_blank">https://doi.org/10.1080/00221688709499285</a>, 1987.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Cunge et al.(1980)Cunge, M, and Verwey</label><mixed-citation>
      
Cunge, J. A., M, H. F., and Verwey, A.: Practical aspects of computational
river hydraulics, [Monographs and surveys in water resources engineering] 3,
Pitman Advanced Pub. Program, ISBN 0-273-08442-9, 1980.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Duran Vinent et al.(2019)Duran Vinent, Andreotti, Claudin, and
Winter</label><mixed-citation>
      
Duran Vinent, O., Andreotti, B., Claudin, P., and Winter, C.: A unified model
of ripples and dunes in water and planetary environments, Nat. Geosci., 12,
345–350, <a href="https://doi.org/10.1038/s41561-019-0336-4" target="_blank">https://doi.org/10.1038/s41561-019-0336-4</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Einstein(1942)</label><mixed-citation>
      
Einstein, H. A.: Formulas for the transportation of bed load, Trans. Am. Soc.
Civil Eng., 107, 561–577, <a href="https://doi.org/10.1061/TACEAT.0005468" target="_blank">https://doi.org/10.1061/TACEAT.0005468</a>, 1942.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Engelund and Fredsøe(1976)</label><mixed-citation>
      
Engelund, F. and Fredsøe, J.: A sediment transport model for straight
alluvial channels, Hydrol. Res., 7, 293–306, 1976.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Exner(1920)</label><mixed-citation>
      
Exner, F. M.: Zur physik der dünen, Hölder Sitzber Akad. Wiss Wien.,
urn:nbn:at:at-ubw:g-149112, 1920.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Fang and Rodi(2003)</label><mixed-citation>
      
Fang, H.-W. and Rodi, W.: Three-dimensional calculations of flow and suspended
sediment transport in the neighborhood of the dam for the Three Gorges
Project (TGP) reservoir in the Yangtze River, J. Hydraul. Res., 41, 379–394,
<a href="https://doi.org/10.1080/00221680309499983" target="_blank">https://doi.org/10.1080/00221680309499983</a>, 2003.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Fredsoe and Deigaard(1992)</label><mixed-citation>
      
Fredsoe, J. and Deigaard, R.: Mechanics of coastal sediment transport, vol. 3,
World scientific publishing company, <a href="https://doi.org/10.1142/1546" target="_blank">https://doi.org/10.1142/1546</a>,
1992.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Galland et al.(1991)Galland, Goutal, and Hervouet</label><mixed-citation>
      
Galland, J.-C., Goutal, N., and Hervouet, J.-M.: TELEMAC: A new numerical model
for solving shallow water equations, Adv. Water Resour., 14, 138–148,
<a href="https://doi.org/10.1016/0309-1708(91)90006-A" target="_blank">https://doi.org/10.1016/0309-1708(91)90006-A</a>, 1991.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Gilletta et al.(2024)Gilletta, Chauchat, Bonamy, Robert, and
Hsu</label><mixed-citation>
      
Gilletta, A., Chauchat, J., Bonamy, C., Robert, M., and Hsu, T.-J.: Scour
around a wind turbine pile using a two-phase flow turbulence-resolving model,
in: 2024 Ocean Sciences Meeting, AGU, <a href="https://ui.adsabs.harvard.edu/abs/2024AGUOSCP33C..11G" target="_blank"/> (last access: 17 March 2026), 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Gilletta et al.(2026)Gilletta, Bonamy, and
Chauchat</label><mixed-citation>
      
Gilletta, A., Bonamy, C., and Chauchat, J.: Exner diagnosis method for
two-fluid morphodynamics simulations, Int. J. Multiph. Flow, 194, 105457,
<a href="https://doi.org/10.1016/j.ijmultiphaseflow.2025.105457" target="_blank">https://doi.org/10.1016/j.ijmultiphaseflow.2025.105457</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Goutal and Maurel(2002)</label><mixed-citation>
      
Goutal, N. and Maurel, F.: A finite volume solver for 1D shallow-water
equations applied to an actual river, Int. J. Numer. Meth. Fl., 38,
1–19, <a href="https://doi.org/10.1002/fld.201" target="_blank">https://doi.org/10.1002/fld.201</a>, 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Greenshields and Weller(2022)</label><mixed-citation>
      
Greenshields, C. and Weller, H.: Notes on Computational Fluid Dynamics: General
Principles, CFD Direct Ltd, Reading, UK,  ISBN 978-1-3999-2078-0, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Guerin et al.(2016)Guerin, Bertin, and Dodet</label><mixed-citation>
      
Guerin, T., Bertin, X., and Dodet, G.: A numerical scheme for coastal
morphodynamic modelling on unstructured grids, Ocean Model., 104, 45–53,
<a href="https://doi.org/10.1016/j.ocemod.2016.04.009" target="_blank">https://doi.org/10.1016/j.ocemod.2016.04.009</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Hellsten et al.(1997)Hellsten, Laine, Hellsten, and
Laine</label><mixed-citation>
      
Hellsten, A., Laine, S., Hellsten, A., and Laine, S.: Extension of the
k-omega-SST turbulence model for flows over rough surfaces, in: 22nd
atmospheric flight mechanics conference, p. 3577, <a href="https://doi.org/10.2514/6.1997-3577" target="_blank">https://doi.org/10.2514/6.1997-3577</a>,
1997.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Hervouet(1999)</label><mixed-citation>
      
Hervouet, J.-M.: TELEMAC, a hydroinformatic system, La Houille Blanche,
21–28, <a href="https://doi.org/10.1051/lhb/1999029" target="_blank">https://doi.org/10.1051/lhb/1999029</a>, 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Hervouet(2007)</label><mixed-citation>
      
Hervouet, J.-M.: Hydrodynamics of free surface flows: modelling with the finite
element method, John Wiley &amp; Sons, <a href="https://doi.org/10.1002/9780470319628" target="_blank">https://doi.org/10.1002/9780470319628</a>, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Hjelmfelt and Lenau(1970)</label><mixed-citation>
      
Hjelmfelt, A. T. and Lenau, C. W.: Nonequilibrium transport of suspended
sediment, J. Hydraul. Div., 96, 1567–1586, 1970.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Hu et al.(2024)Hu, Li, Deng, Yue, Zhou, Yang, Zheng, and
Li</label><mixed-citation>
      
Hu, Y., Li, D., Deng, J., Yue, Y., Zhou, J., Yang, C., Zheng, N., and Li, Y.:
Dune development dominates flow resistance increase in a large dammed river,
Water Resour. Res., 60, e2023WR036660, <a href="https://doi.org/10.1029/2023WR036660" target="_blank">https://doi.org/10.1029/2023WR036660</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Issa(1986)</label><mixed-citation>
      
Issa, R. I.: Solution of the implicitly discretised fluid flow equations by
operator-splitting, J. Comput. Phys., 62, 40–65,
<a href="https://doi.org/10.1016/0021-9991(86)90099-9" target="_blank">https://doi.org/10.1016/0021-9991(86)90099-9</a>, 1986.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Jacobsen(2011)</label><mixed-citation>
      
Jacobsen, N. G.: A full hydro-and morphodynamic description of breaker bar
development, Ph.D. thesis, ISBN 978-87-90416-64-5, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Jacobsen(2015)</label><mixed-citation>
      
Jacobsen, N. G.: Mass conservation in computational morphodynamics: uniform
sediment and infinite availability, Int. J. Numer. Meth. Fl., 78,
233–256, <a href="https://doi.org/10.1002/fld.4015" target="_blank">https://doi.org/10.1002/fld.4015</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Jacobsen and Fredsoe(2014)</label><mixed-citation>
      
Jacobsen, N. G. and Fredsoe, J.: Formation and development of a breaker bar
under regular waves. Part 2: Sediment transport and morphology, Coast. Eng.,
88, 55–68, <a href="https://doi.org/10.1016/j.coastaleng.2014.01.015" target="_blank">https://doi.org/10.1016/j.coastaleng.2014.01.015</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Jacobsen et al.(2014)Jacobsen, Fredsoe, and Jensen</label><mixed-citation>
      
Jacobsen, N. G., Fredsoe, J., and Jensen, J. H.: Formation and development of a
breaker bar under regular waves. Part 1: Model description and hydrodynamics,
Coast. Eng., 88, 182–193, <a href="https://doi.org/10.1016/j.coastaleng.2013.12.008" target="_blank">https://doi.org/10.1016/j.coastaleng.2013.12.008</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Jasak et al.(2007)Jasak, Jemcov, Tukovic et al.</label><mixed-citation>
      
Jasak, H., Jemcov, A., and Tukovic, Z.: OpenFOAM: A C++ library for complex
physics simulations, in: International workshop on coupled methods in
numerical dynamics,  Dubrovnik, Croatia, vol. 1000, 1–20, ISBN 9789536313884, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Kennedy(1963)</label><mixed-citation>
      
Kennedy, J. F.: The mechanics of dunes and antidunes in erodible-bed channels,
J. Fluid Mech., 16, 521–544, <a href="https://doi.org/10.1017/S0022112063000975" target="_blank">https://doi.org/10.1017/S0022112063000975</a>, 1963.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Kiki Sandoungout(2019)</label><mixed-citation>
      
Kiki Sandoungout, S.: Caractérisation de la morphologie des dunes dans des
écoulements unidirectionnels et alternatifs, Ph.D. thesis, Université de
Bretagne occidentale – Brest,
<a href="https://theses.hal.science/tel-02453140" target="_blank"/> (last access: 17 March 2026), 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Launder and Spalding(1983)</label><mixed-citation>
      
Launder, B. E. and Spalding, D. B.: The numerical computation of turbulent
flows, in: Numerical prediction of flow, heat transfer, turbulence and
combustion, Elsevier, 96–116,
<a href="https://doi.org/10.1016/B978-0-08-030937-8.50016-7" target="_blank">https://doi.org/10.1016/B978-0-08-030937-8.50016-7</a>, 1983.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Lesser et al.(2004)Lesser, Roelvink, van Kester, and
Stelling</label><mixed-citation>
      
Lesser, G. R., Roelvink, J. V., van Kester, J. T. M., and Stelling, G.:
Development and validation of a three-dimensional morphological model, Coast.
Eng., 51, 883–915, <a href="https://doi.org/10.1016/j.coastaleng.2004.07.014" target="_blank">https://doi.org/10.1016/j.coastaleng.2004.07.014</a>, 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>Liu and García(2008)</label><mixed-citation>
      
Liu, X. and García, M. H.: Three-dimensional numerical model with free
water surface and mesh deformation for local sediment scour, J. Waterw. Port.
Coast., 134, 203–217, <a href="https://doi.org/10.1061/(ASCE)0733-950X(2008)134:4(203)" target="_blank">https://doi.org/10.1061/(ASCE)0733-950X(2008)134:4(203)</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>Lyn(1988)</label><mixed-citation>
      
Lyn, D. A.: A similarity approach to turbulent sediment-laden flows in open
channels, J. Fluid Mech., 193, 1–26, <a href="https://doi.org/10.1017/S0022112088002034" target="_blank">https://doi.org/10.1017/S0022112088002034</a>, 1988.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>Marchesiello et al.(2015)Marchesiello, Benshila, Almar, Uchiyama,
McWilliams, and Shchepetkin</label><mixed-citation>
      
Marchesiello, P., Benshila, R., Almar, R., Uchiyama, Y., McWilliams, J. C., and
Shchepetkin, A.: On tridimensional rip current modeling, Ocean Model., 96,
36–48, <a href="https://doi.org/10.1016/j.ocemod.2015.07.003" target="_blank">https://doi.org/10.1016/j.ocemod.2015.07.003</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Marieu et al.(2008)Marieu, Bonneton, Foster, and
Ardhuin</label><mixed-citation>
      
Marieu, V., Bonneton, P., Foster, D. L., and Ardhuin, F.: Modeling of vortex
ripple morphodynamics, J. Geophys. Res., 113, 2007JC004659,
<a href="https://doi.org/10.1029/2007JC004659" target="_blank">https://doi.org/10.1029/2007JC004659</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Martino et al.(2019)Martino, Ciani, Paterson, and
Piva</label><mixed-citation>
      
Martino, R. G., Ciani, F. G., Paterson, A., and Piva, M. F.: Experimental study
on the scour due to a water jet subjected to lateral confinement, Eur. J.
Mech. B-Fluid, 75, 219–227,
<a href="https://doi.org/10.1016/j.euromechflu.2018.10.009" target="_blank">https://doi.org/10.1016/j.euromechflu.2018.10.009</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>McOwen(1996)</label><mixed-citation>
      
McOwen, R. C.: Partial differential equations : methods and applications, Upper
Saddle River, N. J., Prentice Hall, ISBN  978-0131218802, 1996.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>Menter(1994)</label><mixed-citation>
      
Menter, F. R.: Two-equation eddy-viscosity turbulence models for engineering
applications, AIAA J., 32, 1598–1605, <a href="https://doi.org/10.2514/3.12149" target="_blank">https://doi.org/10.2514/3.12149</a>, 1994.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>Meyer-Peter and Müller(1948)</label><mixed-citation>
      
Meyer-Peter, E. and Müller, R.: Formulas for bed-load transport, in: IAHSR
2nd meeting, Stockholm, appendix 2, IAHR, <a href="https://repository.tudelft.nl/record/uuid:4fda9b61-be28-4703-ab06-43cdc2a21bd7" target="_blank"/> (last access: 17 March 2026), 1948.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib52"><label>Miedema(2008)</label><mixed-citation>
      
Miedema, S.: An analytical method to determine scour, WEDA XXVIII &amp; Texas
A&amp;M, 39, 8–11, <a href="https://www.westerndredging.org/phocadownload/ConferencePresentations/2008_StLouis/Session1B-DredgingResearch/1%20-%20Miedema%20-%20An%20Analytical%20Method%20to%20Determine%20Scour.pdf" target="_blank"/> (last access: 17 March 2026), 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib53"><label>Muste et al.(2005)Muste, Yu, Fujita, and
Ettema</label><mixed-citation>
      
Muste, M., Yu, K., Fujita, I., and Ettema, R.: Two-phase versus mixed-flow
perspective on suspended sediment transport in turbulent channel flows, Water
Resour. Res., 41, <a href="https://doi.org/10.1029/2004WR003595" target="_blank">https://doi.org/10.1029/2004WR003595</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib54"><label>Nagel et al.(2020)Nagel, Chauchat, Bonamy, Liu, Cheng, and
Hsu</label><mixed-citation>
      
Nagel, T., Chauchat, J., Bonamy, C., Liu, X., Cheng, Z., and Hsu, T.-J.:
Three-dimensional scour simulations with a two-phase flow model, Adv. Water
Resour., 138, 103544,
<a href="https://doi.org/10.1016/j.advwatres.2020.103544" target="_blank">https://doi.org/10.1016/j.advwatres.2020.103544</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib55"><label>Nielsen(1992)</label><mixed-citation>
      
Nielsen, P.: Coastal bottom boundary layers and sediment transport, vol. 4,
World scientific, <a href="https://doi.org/10.1142/1269" target="_blank">https://doi.org/10.1142/1269</a>, 1992.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib56"><label>Patankar and Spalding(1983)</label><mixed-citation>
      
Patankar, S. V. and Spalding, D. B.: A calculation procedure for heat, mass and
momentum transfer in three-dimensional parabolic flows, in: Numerical
prediction of flow, heat transfer, turbulence and combustion,
Elsevier, 54–73, <a href="https://doi.org/10.1016/B978-0-08-030937-8.50013-1" target="_blank">https://doi.org/10.1016/B978-0-08-030937-8.50013-1</a>, 1983.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib57"><label>Rauter and Kowalski(2024)</label><mixed-citation>
      
Rauter, M. and Kowalski, J.: OpenFOAM-avalanche 2312: depth-integrated models beyond dense-flow avalanches, Geosci. Model Dev., 17, 6545–6569, <a href="https://doi.org/10.5194/gmd-17-6545-2024" target="_blank">https://doi.org/10.5194/gmd-17-6545-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib58"><label>Recking(2010)</label><mixed-citation>
      
Recking, A.: A comparison between flume and field bed load transport data and
consequences for surface-based bed load transport prediction, Water Resour.
Res., 46, <a href="https://doi.org/10.1029/2009WR008007" target="_blank">https://doi.org/10.1029/2009WR008007</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib59"><label>Renaud et al.(2025)Renaud, Bonamy, Chauchat, and
Bertrand</label><mixed-citation>
      
Renaud, M., Bonamy, C., Chauchat, J., and Bertrand, O.: SedFoam/sedExnerFoam:
Release 2412, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.15535486" target="_blank">https://doi.org/10.5281/zenodo.15535486</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib60"><label>Ribberink(1998)</label><mixed-citation>
      
Ribberink, J. S.: Bed-load transport for steady flows and unsteady oscillatory
flows, Coast. Eng., 34, 59–82, <a href="https://doi.org/10.1016/S0378-3839(98)00013-1" target="_blank">https://doi.org/10.1016/S0378-3839(98)00013-1</a>, 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib61"><label>Richardson and Zaki(1954)</label><mixed-citation>
      
Richardson, J. and Zaki, W.: The sedimentation of a suspension of uniform
spheres under conditions of viscous flow, Chem. Eng. Sci., 3, 65–73,
<a href="https://doi.org/10.1016/0009-2509(54)85015-9" target="_blank">https://doi.org/10.1016/0009-2509(54)85015-9</a>, 1954.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib62"><label>Roulund et al.(2005)Roulund, Sumer, Fredsøe, and
Michelsen</label><mixed-citation>
      
Roulund, A., Sumer, B. M., Fredsøe, J., and Michelsen, J.: Numerical and
experimental investigation of flow and scour around a circular pile, J. Fluid
Mech., 534, 351–401, <a href="https://doi.org/10.1017/S0022112005004507" target="_blank">https://doi.org/10.1017/S0022112005004507</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib63"><label>Rubey(1933)</label><mixed-citation>
      
Rubey, W.: Equilibrium-conditions in debris-laden streams, EOS Trans. Am.
Geophys. Union, 14, 497–505, <a href="https://doi.org/10.1029/TR014i001p00497" target="_blank">https://doi.org/10.1029/TR014i001p00497</a>,
1933.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib64"><label>Shields(1936)</label><mixed-citation>
      
Shields, A. F.: Anwendung der Ähnlichkeitsmechanik und der Turbulenzforschung
auf die Geschiebebewegung, Ph.D. thesis, <a href="https://d-nb.info/571552609/04" target="_blank"/> (last access: 17 March 2026), 1936.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib65"><label>Song et al.(2022)Song, Xu, Ismail, and Liu</label><mixed-citation>
      
Song, Y., Xu, Y., Ismail, H., and Liu, X.: Scour modeling based on immersed
boundary method: A pathway to practical use of three-dimensional scour
models, Coast. Eng., 171, 104037, <a href="https://doi.org/10.1016/j.coastaleng.2021.104037" target="_blank">https://doi.org/10.1016/j.coastaleng.2021.104037</a>,
2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib66"><label>Soulsby(1997)</label><mixed-citation>
      
Soulsby, R.: Dynamics of marine sands, T. Telford London, UK, ISBN 978-0-7277-2584-4, 1997.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib67"><label>Soulsby and Whitehouse(1997)</label><mixed-citation>
      
Soulsby, R. and Whitehouse: Threshold of Sediment Motion in Coastal
Environments, in: Proceedings of the 13th Australasian Coastal and Ocean
Engineering Conference and the 6th Australasian Port and Harbour Conference,
Christchurch, N.Z., vol. 1,   145–150, ISBN 978-0-908993-15-4, 1997.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib68"><label>Stokes(1901)</label><mixed-citation>
      
Stokes, G. G.: Mathematical and physical papers, vol. 3, Cambridge University
Press, <a href="https://doi.org/10.1017/CBO9780511702297" target="_blank">https://doi.org/10.1017/CBO9780511702297</a>, 1901.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib69"><label>Swamee and Jain(1976)</label><mixed-citation>
      
Swamee, P. K. and Jain, A. K.: Explicit equations for pipe-flow problems, J.
Hydraul. Div., 102, 657–664, <a href="https://doi.org/10.1061/JYCEAJ.0004542" target="_blank">https://doi.org/10.1061/JYCEAJ.0004542</a>, 1976.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib70"><label>Tukovic and Jasak(2008)</label><mixed-citation>
      
Tukovic, Z. and Jasak, H.: Simulation of free-rising bubble with soluble
surfactant using moving mesh finite volume/area method, in: Proceedings of
6th International Conference on CFD in Oil &amp; Gas, Metallurgical and Process
Industries, no. CFD08-072, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib71"><label>van der Sande et al.(2025)van der Sande, Roos, Gerkema, and
Hulscher</label><mixed-citation>
      
van der Sande, W., Roos, P., Gerkema, T., and Hulscher, S.: Nonlinear modeling
of river dunes: Insights in long-term evolution of dune dimensions and form
roughness, Geomorphology,   109649, <a href="https://doi.org/10.1016/j.geomorph.2025.109649" target="_blank">https://doi.org/10.1016/j.geomorph.2025.109649</a>,
2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib72"><label>Van Rijn(1984)</label><mixed-citation>
      
Van Rijn, L. C.: Sediment transport, Part I: bed load transport, J. Hydraul.
Eng., 110, 1431–1456, <a href="https://doi.org/10.1061/(ASCE)0733-9429(1984)110:10(1431)" target="_blank">https://doi.org/10.1061/(ASCE)0733-9429(1984)110:10(1431)</a>, 1984.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib73"><label>van Rijn(1984)</label><mixed-citation>
      
van Rijn, L. C.: Sediment Transport, Part II: Suspended Load Transport, 110,
1613–1641, <a href="https://doi.org/10.1061/(ASCE)0733-9429(1984)110:11(1613)" target="_blank">https://doi.org/10.1061/(ASCE)0733-9429(1984)110:11(1613)</a>, 1984.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib74"><label>Warner et al.(2008)Warner, Sherwood, Signell, Harris, and
Arango</label><mixed-citation>
      
Warner, J. C., Sherwood, C. R., Signell, R. P., Harris, C. K., and Arango,
H. G.: Development of a three-dimensional, regional, coupled wave, current,
and sediment-transport model, Comput. Geosci., 34, 1284–1306,
<a href="https://doi.org/10.1016/j.cageo.2008.02.012" target="_blank">https://doi.org/10.1016/j.cageo.2008.02.012</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib75"><label>Warren and Bach(1992)</label><mixed-citation>
      
Warren, I. and Bach, H.: MIKE 21: a modelling system for estuaries, coastal
waters and seas, Environ. Softw., 7, 229–240,
<a href="https://doi.org/10.1016/0266-9838(92)90006-P" target="_blank">https://doi.org/10.1016/0266-9838(92)90006-P</a>, 1992.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib76"><label>Wilcox(1998)</label><mixed-citation>
      
Wilcox, D. C.: Turbulence modeling for CFD, vol. 2, DCW industries La
Canada, CA, ISBN 0963605100, 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib77"><label>Zanke(2003)</label><mixed-citation>
      
Zanke, U.: On the influence of turbulence on the initiation of sediment motion,
Int. J. Sediment Res., 18, 17–31, 2003.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib78"><label>Zhou(2017)</label><mixed-citation>
      
Zhou, L.: Numerical modelling of scour in steady flows, Ph.D. thesis,
<a href="http://www.theses.fr/2017LYSEC015/document" target="_blank"/> (last access: 17 March 2026), 2017.

    </mixed-citation></ref-html>--></article>
