Articles | Volume 19, issue 6
https://doi.org/10.5194/gmd-19-2299-2026
https://doi.org/10.5194/gmd-19-2299-2026
Model description paper
 | 
20 Mar 2026
Model description paper |  | 20 Mar 2026

sedExnerFoam 2412: a 3D Exner-based sediment transport and morphodynamics model

Matthias Renaud, Cyrille Bonamy, Olivier Bertrand, and Julien Chauchat
Abstract

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 sedExnerFoam. Implemented in the C++ multi-physics simulation toolkit OpenFOAM, 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.

Share
1 Introduction

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 (Kennedy1963; Charru et al.2013). 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 (van der Sande et al.2025; Hu et al.2024). 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).

The twentieth century saw the development of analytical models (Hjelmfelt and Lenau1970) and one-dimensional (1D) numerical models (Cunge et al.1980; Goutal and Maurel2002) 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 (Hervouet1999). Since the early 2000s, several three-dimensional (3D) models have been developed, including for coastal areas. Some are open-source, such as openTELEMAC (Benoit et al.2002), ROMS/CROCO (Warner et al.2008; Marchesiello et al.2015), and DELFT3D (Lesser et al.2004), while others are proprietary, such as MIKE (Warren and Bach1992). 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 (Hervouet2007; Lesser et al.2004). 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.

A new generation of 3D models based on emergent computational fluid dynamics (CFD) (Liu and García2008; Jacobsen2011; Baykal et al.2015), 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) (Song et al.2022) or multiphase approaches (Chauchat et al.2017; Nagel et al.2020; Gilletta et al.2024), 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 OpenFOAM® (v2412) (Jasak et al.2007). This model, named sedExnerFoam (Renaud et al.2025), 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.

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 (van der Sande et al.2025) (see Fig. 1), or scour around a bridge pile and the horseshoe vortex which is the driving mechanism causing erosion upstream of the pile (Chiew and Melville1987; Roulund et al.2005), or jet driven scour downstream of a sluice gate (Chatterjee et al.1994; Martino et al.2019).

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f01

Figure 1Schematic representation of the flow above a riverbed and the main sediment transport processes involved.

Download

After presenting the mathematical formulation of sedExnerFoam in Sect. 2 and the modeling approaches for hydrodynamics, turbulence, and sediment transport closures, several key numerical aspects are discussed in Sect. 3, with particular emphasis on the treatment of the Exner equation. It is followed, in Sect. 4, 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. 5, 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.

2 Mathematical description

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. 2.1, turbulence modeling in Sect. 2.2, and suspended-sediment transport in Sect. 2.3. 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.

2.1 Hydrodynamics

The fluid motion is governed by the incompressible, filtered Navier–Stokes equations:

(1) u t + . ( u u ) = - 1 ρ f p + g + . ( 2 ν S + τ f ) , . u = 0 ,

where the operator is the dyadic product, u the fluid velocity, p the fluid pressure, g the gravitational acceleration, ρf the fluid density, ν the fluid kinematic viscosity, and S=12[u+(u)T] is the strain rate tensor. τf 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 OpenFOAM, and the type of filtering applied to Eq. (1) 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.

At this stage of model development, no feedback of the suspended load on the hydrodynamics is considered, i.e. the fluid density ρf is assumed to be constant, an assumption appropriate for dilute suspensions where density effects and particle drag are negligible.

2.2 Turbulence modeling

As stated previously, in the case of RAS filtering, the tensor τf in Eq. (1) is equal to the opposite of the specific Reynolds stress tensor τf=-uu, with 〈〉 the Reynolds operator and u 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 νt and k=12u.u, the turbulent kinetic energy (TKE):

(2) τ f = 2 ν t S - 2 3 k I 3 ,

where I3 is the identity matrix. Then, a turbulence model is used to compute νt. OpenFOAM offers multiple turbulence models to users, many of which are two-equation models based on k and either ϵ or ω, the rate of dissipation of TKE, and the specific rate of dissipation of TKE, respectively. A transport equation is then solved for each variable.

Of the various turbulence models available for the RAS approach in OpenFOAM (kϵ, kω, RNGkϵ …), only the well-known kω Shear Stress Transport (SST) model introduced by Menter (1994) is employed in this study, although the other turbulence models available in OpenFOAM 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 kω SST consists of a combination of two other classical turbulence models, the kϵ (Launder and Spalding1983) and the kω (Wilcox1998) models. The aim is to take the best out of those two models. Indeed, the kϵ 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 kω model is better suited for capturing flows with adverse pressure gradients and boundary layers, but it is less efficient than the kϵ for simulating free shear flows in regions outside the range of influence of the solid boundaries (e.g., rigid walls, sediment bed). The kω 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 OpenFOAM, the eddy viscosity νt is expressed as follows:

(3) ν t = a 1 k max ( a 1 ω , b 1 F 23 S ) ,

where F23=F2F3 is the product of two blending functions (F2 and F3) and S=2S:S is a scalar measure of the strain rate tensor, with : the double inner product defined as S:S=tr(SST), where tr is the trace operator. The temporal evolutions of k and ω are described by two transport equations:

(4)kt+u.k=P̃-β*kω+.((ν+αkνt)k),(5)ωt+u.ω=γνtP-βω2+((ν+αωνt)ω)+2(1-F1)αω21ωk.ω

where F1 is another blending function. The production term P is defined as P=νtu:[u+(u)T]. In the equation for k (Eq. 4), a limiter is applied on the production rate:

(6) P ̃ = min P , c 1 β * k ω .

The different blending functions and constants of the model are detailed in Appendix B.

2.3 Suspended sediment transport

In sedExnerFoam, the suspended load is described by the suspended sediment volume fraction cs=Vs/(Vs+Vf) where Vs and Vf stand for the volume of sediment and the volume of fluid, respectively. The evolution of cs in space and time is governed by an advection-diffusion equation:

(7) c s t + . [ ( u + w s ) c s ] = . ( ϵ s c s ) ,

where ws is the sediment settling velocity and ϵs is the turbulent diffusivity for the suspended sediment. It is expressed as the ratio of the turbulent eddy viscosity and the Schmidt number σc as ϵs=νt/σc. The possibility of using an additional diffusivity ϵw in near-bed areas is discussed in Sect. 2.4.3. 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:

(8) w s = w s 0 F h ( c s ) e g ,

where ws0 is the terminal sediment settling velocity of a single particle in a quiescent fluid, eg=g/|g| is a unit vector oriented with gravity, and Fh is a hindrance function that takes values between 0 and 1 and is a decreasing function of cs. It represents the effect of particles hindering each other as they fall, leading to a drop in their settling velocity when cs increases (Richardson and Zaki1954). 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 CD and solving the force balance between drag, buoyancy, and weight. In the present model, all available formulations take the dimensionless diameter D* (van Rijn1984) as an input, defined as follows:

(9) D * = d ( ( s - 1 ) g ν 2 ) 1 / 3 ,

where d is the grain size, s=ρs/ρf the density ratio, and ρs and ρf are the density of the sediment and the fluid, respectively.

The values adopted for the Schmidt σc number have remained a topic of debate to this day, with no consensus yet reached. van Rijn (1984) proposed a formula to estimate σc from the sediment settling velocity and the friction velocity u*:

(10) σ c = 1 1 + 2 w s u * 2 , for 0.1 < w s u * < 1 .

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. 10) serving as a useful guideline for choosing its value.

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. 2.4.3, which addresses erosion and deposition rates.

2.4 Bedload and Morphodynamics

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.

2.4.1 Exner equation

The morphological evolution of a granular bed in a wide range of sediment transport problems is modeled by the so-called Exner equation (Exner1920):

(11) ( 1 - λ s ) z b t + H . q b = D - E ,

where zb is the bed elevation, λs is the porosity of the granular material, which is linked to the maximum possible sediment volume fraction csmax=1-λs. The bedload flux qb 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. D and E 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 H stands for the divergence operator on this projected plane.

2.4.2 Bedload modeling

Sediment transport initiates when the bed shear stress τb exceeds a critical value, referred to as the motion threshold and expressed in dimensionless form by the Shields number θ=|τb|/(ρs-ρf)gd (Shields1936). The corresponding critical value is known as the critical Shields number θc. 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 θc0, can be estimated using empirical formulations, many of which are based on the dimensionless sediment particle diameter D*, such as the one proposed by Soulsby and Whitehouse (1997):

(12) θ c 0 = 0.3 1 + 1.2 D * + 0.055 ( 1 - e - 0.02 D * ) .

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 Fredsoe and Deigaard (1992):

(13) θ c θ c 0 = cos ( β s ) 1 - sin 2 ( α s ) tan 2 ( β s ) μ s 2 - cos ( α s ) sin ( β s ) μ s ,

where βs is the angle of the bed slope and αs the angle between the steepest slope direction and the direction of the shear. The coefficient of static friction μs is linked to the angle of repose of the granular material βr through tan (βr)=μs.

Relationships between the Shields number and the dimensionless bedload flux ϕb=|qb|/(s-1)gd3 have been widely investigated (Einstein1942; Meyer-Peter and Müller1948; Van Rijn1984), leading to the development of numerous empirical formulations. Many commonly used expressions (Meyer-Peter and Müller1948; Nielsen1992; Ribberink1998) take the following form:

(14) ϕ b θ a ϖ ( θ - θ c ) b ,

with a and b, two real positive coefficients and ϖ the threshold function so that ϖ(θ-θc)=θ-θc if θ>θc and 0 else. In this work, the bedload flux qb is aligned with the bed shear stress.

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. Marieu et al. (2008) 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 (Zhou2017). In sedExnerFoam, however, the avalanche is modeled with an additional bedload term qav inspired from Duran Vinent et al. (2019):

(15) | q av | = q av 0 ϖ [ tanh ( tan ( β s ) ) - tanh ( tan ( β r ) ) ] 1 - tanh ( tan ( β r ) ) .

with qav0 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.

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 qb toward its saturated value qsat is commonly expressed in 1D (Charru2006; Charru et al.2013), however, in this work, the following 2D formulation is proposed:

(16) T sat q b t + L sat H . q sat q sat q b = q sat - q b

where qsat is the saturated flux, Tsat the saturation time, and Lsat the saturation length. When taking the saturation into account, the saturated flux qsat is computed from the bed shear stress (see Eq. 14) and the bedload flux qb is the solution of Eq. (16). Similar to the Exner equation, the saturation equation is solved on a horizontal plane after projection.

2.4.3 Erosion and deposition rates

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, van Rijn (1984) studied the case of sediment transport in a straight channel under equilibrium conditions and proposed an empirical formula to compute a reference concentration cb* at a certain reference distance from the bed, the so-called reference level δzb*:

(17) c b * = 0.015 d δ z b * ( θ / θ c - 1 ) 3 / 2 ( D * ) 0.3 .

The reference concentration corresponds to the concentration observed at a distance δzb* from the bed under equilibrium conditions.

This development has been adopted in many sediment transport models, which define the boundary condition cs(δzb*)=cb* 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 Celik and Rodi (1988) to accommodate non-equilibrium conditions. The erosion rate is written E=wscb* and the deposition rate D=wscb, with cb, 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 cb>cb*, then suspended sediment gets deposited on the bed, and when cb<cb*, sediment gets eroded from the bed and suspended in the water column. The equilibrium occurs when cb=cb*.

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, Jacobsen (2011) 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 sedExnerFoam, 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.

As stated previously, the deposition and erosion fluxes are computed as suggested by Celik and Rodi (1988). The erosion E is computed at the reference level δzb*=ks, the Nikuradse equivalent roughness height (ks=2.5 d), using Eq. (17) and a limiter so that cb* is not exceeding a value cb,max*, typically equal to half the maximum possible sediment volume fraction. The limiter ensures that cb* remains physically realistic when the bed shear stress is high (see Eq. 17). Amoudry et al. (2005) used a maximum possible reference concentration cb,max*=0.3 which is close to the value of 0.32 suggested by Engelund and Fredsøe (1976). The computed reference concentration is then extrapolated at the height of the first cell center above the sediment bed boundary z1, using the formula suggested by Fang and Rodi (2003):

(18) c b 1 * = min c b * e - w s 1 ϵ s 1 z 1 - δ z b * , c b , max * ,

where cb1* is the reference concentration extrapolated at the height z1. ws1 and ϵs1 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 z1. The expression of cb1* is obtained by considering a local equilibrium in a small region above the bed and assuming ϵs and ws to be uniform between the reference level δzb* 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 D=wsc1. The total erosion/deposition rate is then estimated as:

(19) D - E = w s 1 ( c 1 - c b 1 * ) .

This flux is prescribed as a boundary condition for the suspended-load transport (Eq. 7). 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 cb* 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.

To address difficulties in suspending material from the bed to the water column under fine grid resolution and low roughness Reynolds number conditions ks+=ksu*ν, an additional near-bed diffusivity for suspended sediment ϵw 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:

(20) ϵ w ν = ϵ w 0 2 1 - tanh ξ w z - k s k s .

It can be interpreted as the dispersion resulting from particle collisions, which is not accounted for in Eq. (7) 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 (ks+90), turbulence penetrates down to the bed, and the use of ϵw is no longer necessary. The coefficients ϵw0 and ξw are both set to 5 by default.

3 Numerical implementation

The numerical implementation of sedExnerFoam is based on the finite volume method (FVM) and developed within the OpenFOAM® (v2412) framework. The development originated from the existing solver pimpleFoam, 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.

3.1 Code implementation

The Navier-Stokes equations (Eq. 1) and the transport equation for suspended load (Eq. 7) 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 Tukovic and Jasak (2008) 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 (Rauter and Kowalski2024). 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 g.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f02

Figure 2Flow chart of sedExnerFoam, illustrating the operations performed by the model during each time iteration.

Download

The sequence of operations performed during a time iteration and their sequence are represented in Fig. 2. After solving the mesh deformation, the differential equations for the velocity field u, the pressure p (Eq. 1) as well as transport equations for fields related to turbulence modeling (Eqs. 4, 5) are first solved through the PIMPLE algorithm for transient solution which is detailed in Greenshields and Weller (2022). It consists of a mix of the SIMPLE (Semi-Implicit Method for Pressure-Linked Equations) from Patankar and Spalding (1983) and the PISO (Pressure Implicit with Splitting of Operators) from Issa (1986). 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 (Co>1). 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.

3.2 Exner equation resolution

Let us integrate the Exner equation (Eq. 11) over the projection of a face f:

(21) z b t | f = - 1 S fp e ( q b , ep . n ep ) l ep + ( D - E ) f ,

where Sfp=Sf(nf.eg) is the projected area of face f with Sf face f area, and nf is the face normal unit vector oriented outward of the computational domain. lep is the length of the projected edge, qb,ep the projected bedload flux at edge e, and nep 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 Adams-Bashforth 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).

From Eq. (21), at each time step, an increment of bed elevation δzb is computed for each face center. In OpenFOAM, 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 zb 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. Jacobsen (2015) 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.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f03

Figure 3Construction 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.

Download

A dual mesh is constructed as depicted in Fig. 3. 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 fi 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 mf=ρsSfpδzb|f, where δzb|f 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 δzb|v 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. 3). Let us note the area of this quadrilateral Sdf, the value of the elevation increment δzb|v associated to a vertex v is computed:

(22) δ z b | v = 1 S v f S df δ z b | f ,

where Sv 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: Sv=fSdf. 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.

3.3 Mesh motion

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:

(23) . ( Γ c Δ X c ) = 0 ,

where Γc is the mesh diffusivity and ΔXc is the displacement of the cell centers. Solving Eq. (23), new positions of the mesh cell centers are obtained. The mesh vertices' new coordinates are then interpolated from ΔXc. The motion solver is defined in the file constant/dynamicMeshDict, and this study utilizes the displacementLaplacian solver.

Using a spatially non-uniform mesh diffusivity (Γc) makes it possible to prioritize mesh quality and control cell sizes in specific regions. Areas with lower Γc 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 Γc, 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 constant/dynamicMeshDict, ensure this behavior:

  • inverseDistance: Γc=1/lsb

  • quadratic inverseDistance: Γc=1/lsb2

  • exponential: Γc=e-lsb

where lsb is the distance to the sediment bed boundary.

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. (23). 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.

3.4 File structure of a case

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 sedExnerFoam simulation – is shown in Fig. 4. It is organized into three main folders, further explained below.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f04

Figure 4Case directory structure for a sedExnerFoam simulation, organized into three folders: 0 for initial conditions, constant for modeling options and physical properties, and system for time control and numerical settings.

Download

3.4.1 Initial and boundary conditions

The initial time directory, usually named “0”, contains the initial conditions for all fields required by sedExnerFoam. 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 (U), pressure (p), and, depending on the turbulence model employed, the relevant turbulent quantities. In Fig. 4, the setup illustrates the use of the kω SST turbulence model and consequently, the additional turbulent fields required are νt (nut), k (k), and ω (omega). The suspended sediment volume fraction (Cs) and settling velocity (Ws) must also be specified. The finite-area 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.

3.4.2 Constant directory

The constant directory contains the model configuration and physical properties, as well as the finite-volume and finite-area meshes stored in the polyMesh and finite-area subdirectories, respectively. The turbulence modeling approach (LES, RAS), and the specific model used is defined in the turbulenceProperties file. Additionally, the dynamicMeshDict 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 transportProperties file. Modeling options related to sediment transport are separated into two files, suspensionProperties and bedloadProperties, each corresponding to one mode of sediment transport.

In suspensionProperties, the user can enable or disable suspended load, select both a formulation for the terminal settling velocity ws0 and a hindrance model from those summarized in Table 1, apply an additional wall diffusivity (see Eq. 20), and adjust the coefficients ϵw0 and ξw, as well as the limiter on the reference concentration cb,max* (see Eq. 18).

Stokes (1901)Fredsoe and Deigaard (1992)Soulsby (1997)Rubey (1933)Richardson and Zaki (1954)Camenen (2008)

Table 1Available options in sedExnerFoam for computing the terminal settling velocity ws0 and hindrance functions Fh. Models are selected in suspensionProperties using the entries fallModel and hindranceModel.

Download Print Version | Download XLSX

In bedloadProperties, 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 2), activate the critical Shields number slope correction (Eq. 13), set the avalanche coefficient qav0, 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.

Brownlie (1983)Miedema (2008)Soulsby and Whitehouse (1997)Zanke (2003)Camenen and Larson (2005)Meyer-Peter and Müller (1948)Nielsen (1992)Van Rijn (1984)

Table 2Available formulas in sedExnerFoam to compute the critical Shields number on a flat bed θc0 from fluid and sediment properties, and the dimensionless bedload flux ϕb from the Shields number θ. Models are selected in bedloadProperties using the entries criticalShieldsModel and bedloadModel.

Download Print Version | Download XLSX

3.4.3 Case run control

The system directory in OpenFOAM contains files that control how simulations are executed. Among them, the controlDict 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 fvSchemes file, which specifies the numerical discretization schemes, and the fvSolution file, which sets the linear solvers and algorithmic controls. Depending on the case setup, additional configuration files may appear in this directory. The finite-area subdirectory contains all files related to the finite-area method, including the finite-area mesh definition in faMeshDefinition and the numerical schemes and linear solvers in faSchemes and faSolution, respectively. Together, these files govern the computational parameters, numerical methods and overall runtime behavior of the simulation.

4 Model validation

A series of tests is presented both to illustrate the model behavior of sedExnerFoam 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.

4.1 Suspension under equilibrium condition

A classical test is the suspension of sediment in a straight flume under equilibrium conditions, which has been extensively studied (van Rijn1984; Lyn1988; Muste et al.2005). 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 ws, and the mixing induced by turbulence. Let ws denote the magnitude of ws, the transport equation for the suspended load (Eq.  7) reduces to:

(24) d d z w s c s + ϵ s d c s d z = 0 .

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, νt(z)=u*κz(H-z), where κ=0.41 is the von Kármán constant, the solution of Eq. (24) between the reference level δzb*, where the concentration is the reference concentration cb*, and the top of the water column H is the so-called Rouse profile:

(25) c s ( z ) = c b * ( H - z z δ z b * H - δ z b * ) R o ,

where Ro=σcws/κu* is the Rouse number.

To validate the suspended load component of the model, numerical results are compared with experimental data from Lyn (1988). 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 3.

Table 3Parameters of four tests from Lyn (1988) experiment. Particles diameter d, settling velocity ws, mean water velocity u, water depth, friction velocity u* and Rouse number Ro.

Download Print Version | Download XLSX

For the four tests, measurements of the velocity field, the velocity correlation, and the suspended sediment concentration profiles are available.

The four equilibrium bed experiments are reproduced numerically. A 1D mesh is employed, consisting of a column of 120 cells oriented along the vertical z-direction. Cyclic boundary conditions are applied in the stream-wise x-direction, and the mesh is refined near the bed. Only the x-component u of the velocity field is non-zero. For all four simulations, the kω SST turbulence model is employed, and the mesh resolution near the bed is maintained at z+1 to ensure adequate resolution and an accurate estimation of the bed shear stress. Here, z+=u*z1/ν denotes the distance of the first cell center from the bed boundary in wall units, where z1 is the distance to the sediment bed boundary.

The free surface is not considered, and a rigid lid is applied at the top, with zero gradient condition for the turbulent kinetic energy k, a Dirichlet condition for ω, and a slip boundary condition for the velocity u. To take into account the bed roughness effect on the hydrodynamics, the boundary condition for ω proposed by Wilcox (1998) is used:

(26) ω = u * 2 ν S R ,

where SR is defined as a function of the roughness Reynolds number ks+=u*ks/ν as follows:

(27)SR=200ks+2for ks+5,(28)SR=100ks++200ks+-100ks+e5-ks+for ks+>5.

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 Lyn (1988) in Fig. 5.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f05

Figure 5Velocity and suspended sediment concentration profiles from numerical simulations and comparison with experimental data from Lyn (1988).

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:

(29) SMAPE = 2 N | log 10 ( c s num ) - log 10 ( c s exp ) | | log 10 ( c s num ) | + | log 10 ( c s exp ) | ,

where N is the number of measurements available in the experimental test considered, csexp is the experimental sediment volume fraction, and csnum 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 σc, the near-bed diffusivity coefficients ϵw0 and ξw (Eq. 20), or the equivalent sand roughness height ks.

4.2 Suspension development

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 Hjelmfelt and Lenau (1970). In order to obtain this solution, some assumptions are made.

  1. The sediment is uniformly advected at the mean flow velocity u.

  2. The turbulent viscosity vertical profile is assumed parabolic, νt=κu*z(1-z/H) for z[δzb*,H] where δzb* is the reference level and H, the water depth.

  3. The concentration at z=δzb* is supposed to be constant along the flume and equal to cb*, the reference concentration.

  4. The horizontal turbulent diffusion is neglected.

Based on those assumptions, Hjelmfelt and Lenau (1970) 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 H=0.1 m is considered, the mean velocity is u=0.9ms-1, 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. 6.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f06

Figure 6Isolines of cs/cb* for a Rouse number of 0.5 with assumptions from Hjelmfelt and Lenau (1970) enforced except the null horizontal turbulent diffusion. Solid blue curves represent the model results and the dotted red ones the pseudo-analytical solution.

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 Hjelmfelt and Lenau (1970) 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.

The particle diameter was set to d=0.12 mm, corresponding to a settling velocity of ws=0.773cms-1 and a Rouse number of Ro=0.5. Although tests were conducted with different Rouse numbers, only the case Ro=0.5 is presented in this work. The same mean flow velocity u=0.9ms-1 is taken, and the resulting shear stress exerted on the bed corresponds to the bed friction velocity u*=3.77cms-1. The kω SST turbulence model and the rough wall boundary from Wilcox (1998) (Eq. 26) condition is used for ω with a roughness height ks=2.5 d.

A first 1D simulation is performed without sediment to obtain vertical profiles for u, k, and ω corresponding to a fully developed channel flow. The fields u, k and ω 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 cs varies with the x-position. The mesh consists of a 2D structured mesh, more refined close to the bed to ensure the condition z+1 (nx=2000, nz=100). The results are extracted after 50 s of simulation, requiring 10 h of wall-clock time on 5 CPU cores. Isolines of cs/cb* values from the model and the pseudo-analytical solution are presented in Fig. 7. To compute the pseudo-analytical solution, the reference level was chosen equal to δzb*=0.05H as in the work of Hjelmfelt and Lenau (1970), and the reference concentration is taken equal to cb*=0.025 and applied as a boundary condition at the elevation z=δzb*.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f07

Figure 7Isolines of cs/cb*. Comparison between pseudo-analytical solution from Hjelmfelt and Lenau (1970) (red dotted lines) and the model solution (solid blue lines) without enforcement of the assumptions used to derive the pseudo-analytical solution.

Compared with the situation where the assumptions on the flow is enforced (see Fig. 6), 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 8 shows the vertical suspended sediment volume fraction cs profiles at different positions along the channel and shows the convergence toward an equilibrium solution close to a Rouse profile.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f08

Figure 8On 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 cs at different x-positions in the channel. For comparison, the Rouse profile corresponding to the pseudo-analytical solution in Fig. 7 is also plotted (black dashed line).

Download

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 ω at the top and bottom boundaries, which would affect the shape of νt profile. Another calibration parameter is the reference concentration at the reference level, which is the bottom boundary condition of the pseudo-analytical solution.

4.3 Idealized dune migration

As a first benchmark for the Exner equation (Eq. 11), 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. 9). The fluid is topped by a rigid lid placed at an elevation H from the bottom. The flow is assumed vertically uniform with a constant discharge per unit width Q. The depth-averaged velocity is obtained by conservation of mass, U=Q/(H-zb).

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f09

Figure 9Schematic of the idealized dune migration case showing the main parameters and illustrating the relationship between bed elevation and depth-averaged velocity.

Download

In this simplified case, only bedload transport is considered. To be able to derive an analytical solution of the Exner equation, the bedload qb must be expressed as a function of the bed elevation zb. This is done by assuming that the bedload is a power law of the depth-averaged velocity U, qb=αdUβd, where αd and βd are two positive constants. The Exner equation (Eq. 11) simplifies to:

(30)zbt+c(zb)zbx=0,(31)c(zb)=qbzb=αdβdQβd(H-zb)βd+1,

where c(zb), is the celerity of the bedform. Starting with a given initial bedform zb(x,t=0)=F0(x), the solution to Eq. (30) is obtained with the method of characteristics (McOwen1996) leading to zb(x,t)=F0(x-ct). Depending on F0, shocks may develop as the bedform migrates. A shock occurs if, over at least one interval ℐ∈ℝ, the function G:xc(F0(x)) is decreasing. The dune celerity c being an increasing function of zb, shocks will arise if the initial bedform F0 exhibits at least one negative slope. In this idealized dune migration case, the initial dune profile is Gaussian:

(32) F 0 ( x , t ) = h d e - x - x d 0 σ d 2 ,

with hd the height of the dune, xd0 the initial position of the dune's crest and σd a parameter linked to the dune width such that F0(xd±ln(2)σd)=0.5hd.

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 x0* defined as follows: G(x0*)=minxRG(x). 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 t*=-1/G(x0*) and the shock position x* as well by advection of x0* along its characteristic line, x*=x0*+G(x0*)t*.

The following parameters are chosen:

  • flow properties, H=1 m and Q=1m2s-1

  • bedload flux, αd=0.05 and βd=1.5

  • dune properties, hd=0.1 m, σd=0.6 m

For this configuration, the breaking time is t*=24.67s and the shock position x*=4.51m. A solution to Eq. (30) is sought for the time interval between t=0 and the breaking time t*. A second-order Adams-Bashforth scheme is used for time integration and a linear-upwind scheme for the advective term discretization. A comparison between the model results and the analytical solution is presented in Fig. 10.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f10

Figure 10Bed level evolution of an initially Gaussian dune during an idealized transport scenario, comparing model results (solid lines) with the analytical solution (black dotted lines).

Download

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 11 illustrates how the chosen numerical schemes affect the solution stability and precision.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f11

Figure 11Comparison of bed levels in an idealized dune migration obtained from numerical simulations using three different advective schemes and two temporal integration schemes (Euler explicit top, Adams-Bashforth 2 bottom) with the analytical solution at intermediate (left) and near-breaking (right) times.

Download

At the dune front, the gradient of zb becomes significant, and, consequently, the gradient of zb also increases. Depending on the numerical schemes used, this can trigger oscillations. Using the Euler explicit 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 upwind 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 (Adams-Bashforth 2) as the numerical solution no longer oscillates.

As stated in Sect. 3.2, 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. 15) 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.

From the results presented in Fig. 11, the combination of a second-order Adams-Bashforth scheme for the time integration and a linear or linear-upwind scheme for the bedload flux discretization, both being second-order schemes, seems to offer the best compromise between stability and accuracy. Choosing an Euler explicit time scheme tends to trigger instabilities, while the use of an order 1 upwind 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.

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 c is known (Eq. 30). The maximum Courant number is then max(Co)=c(zb=hd)δt/δx where δt is the time step value and δx the width of the mesh faces in the x-direction, the mesh being uniform. The accuracy of the numerical solution is evaluated using the Root Mean Square Error (RMSE):

(33) RMSE = 1 N F f ( z b n | f - z b s | f ) 2 ,

where the index f stands for the finite area mesh faces, NF the number of faces of the mesh, zbn|f is the elevation of face f center (numerical solution) and zbs|f is the analytical bed elevation at face f center. Each simulation is represented by a point in Fig. 12.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f12

Figure 12Root mean square error for different combinations of numerical schemes and mesh refinements. The time step is constant (δt=0.05 s) for all simulations, with only the number of faces (nx) in the finite area mesh varying. The maximum Courant number, based on the bedform celerity, is indicated on the top axis.

Download

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 upwind 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 Euler explicit 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. 3.2). The results presented support the use of a combination of a second-order Adams-Bashforth scheme along with a linear or linear-upwind scheme to ensure both stability and accuracy.

These simulations complete in a few seconds on a single CPU core.

4.4 Sediment settling

A still basin of depth H=1 m is initially uniformly loaded with a volume fraction cs0=0.05 of suspended sediment corresponding to a mass concentration of 132 kg m−3. As the suspended sediment deposit, the bed level rises up and reaches a final elevation zbed=cs01-λsH, where λs is the porosity of the deposited granular material. The settling velocity being set to ws=3.59cms-1, the time at which the last sediment deposit on the bed is t=H-zbedws. The variation over time of the sediment mass distribution between suspension and deposited sediments is represented in Fig. 13.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f13

Figure 13Time 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.

Download

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. 2). 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.

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).

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f14

Figure 14Sediment 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.

Download

Initially, only water is present in the domain. The repose angle is taken equal to βr=32°. The particles diameter is d=0.29 mm and their density ρs=2600kgm-3. The sediment settling velocity ws0=3.5cms-1 is computed using the formula from Fredsoe and Deigaard (1992) (see Table 1) 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 cs=0.05. 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. 14).

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f15

Figure 15Temporal 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.

Download

The mass repartition of sediments between suspension and deposition is represented in Fig. 15. At the beginning of the simulation, all the sediments are suspended, and their quantity increases linearly over time until t=1.14 s 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. 15). The error subsequently disappears as the sediments settle, thereby verifying mass conservation.

5 Application to dune migration

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. 4, this section examines the transport of an isolated dune under a steady current as an illustrative application of sedExnerFoam. 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.

5.1 Experimental configuration

Different regimes of a lone dune migration over a starved bed have been investigated by Kiki Sandoungout (2019). 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.

The experimental facility consists of a hydraulic tunnel working in closed circuit with an experimental section made of a straight channel of length Lc=900 mm, of height Hc=90 mm, and of width Wc=6.03 mm. The flume is closed on the top by a rigid lid. The granular material consists of highly spherical glass beads with a diameter of d=0.4 mm and a density ρs=2500kgm-3. The particle's terminal fall velocity in water is ws0=7.67cms-1, which is noticeably higher than values obtained with the models presented in Table 2 (ws05cms-1). The friction velocity upstream of the dune is u*=2.78cms-1 which corresponds to a Rouse number Ro=6.73. This value indicates that bedload is the main transport mechanism for this problem. The critical Shields number (θc0=0.079) obtained experimentally is large compared to what is expected from the formulas in Table 2. 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.

In the following, a stationary regime configuration is reproduced numerically. Experimentally, 10 g 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 u=0.43ms-1. Initially, the particles are loosely packed with a volume fraction of cs≈0.54 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 cs≈0.6.

5.2 2D numerical simulations

Section 5.2 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.

5.2.1 Lateral wall friction modeling

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 τwall is computed with the Darcy-Weisbach equation:

(34) τ wall = ρ f f | u | u 8 ,

where f is the Darcy-Weissbach friction factor, which can be computed explicitly with the equation from Swamee and Jain (1976):

(35) f = 0.25 log 10 k w / D h 3.7 - 5.74 R e W 0.9 2 ,

where Dh=2HcWc/(Hc+Wc) is the hydraulic diameter, kw the roughness height corresponding to the roughness of the wall, and ReW=|u|Dh/ν is the Reynolds number defined with the hydraulic diameter. Integrating the momentum conservation equation (Eq. 1) over the flume width, a new source term Fwalls corresponding to the effect of the lateral wall appears:

(36) F walls = - f | u | u 4 W c .

More details on the derivation of this source term are provided in Appendix C.

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 16 shows a summary of these runs with and without the lateral friction term.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f16

Figure 16Velocity profiles in the channel in the absence of a dune for different bulk velocities (0.169, 0.309, 0.451, 0.549 and 0.732 m s−1). 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 Kiki Sandoungout (2019).

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.

5.2.2 Numerical set-up and model validation

Experimentally, the fluid is initially at rest, and the pump starts to operate at t=0 s, accelerating the flow to the selected mean velocity, u=0.43 m s−1 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. 5.1), 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.

The inlet boundary conditions are imposed as follows: a uniform velocity is applied u=0.43 m s−1; Dirichlet boundary conditions are used for the turbulent quantities: k=0.001 m2 s−2 and ω=15 s−1. It corresponds to a turbulent intensity It=23k/u=0.06. 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. 1) are: a backward scheme for the temporal derivative, a second-order linear-upwind 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. 5.2.3. All the numerical results presented in this subsection have been obtained using a saturation length Lsat=5 mm and saturation time Tsat=0.01 s.

A grid convergence study has been performed for the hydrodynamic simulations, and the details are provided in Appendix D. The finest grid has been retained for the numerical results presented in this subsection, with the following parameters: nx×nz=1100×80, the first grid cell center distance to the wall in the straight channel region is equal to z1=1.42×10-4 m. A visualization of the mesh at two different times during the dune migration process is presented in Fig. 17.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f17

Figure 17Representation of the dune mesh at different times during the migration process.

Download

The numerical simulation results are illustrated in Fig. 18, which shows the fluid flow at three different times using an optimized set of parameters that will be described in Sect. 5.2.3.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f18

Figure 18Representation 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.

Download

In order to compare the results more quantitatively, Fig. 19 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.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f19

Figure 19Sediment 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.

Download

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f20

Figure 20Dune morphological parameters evolution in time. From top to bottom are plotted the dune position represented by the coordinates xh, which is located halfway up the downstream face of the dune, as well as the dune height hd and the dune length Ld. 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.

Download

The dune morphological parameters over time, which are the dune position, its height, and length, are presented in Fig. 20. The dune position is characterized by the coordinate xh 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 D 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 (Ro>6), 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, 10.37 and 8.69 mm s−1 for simulations with and without considering the suspended load, respectively. This migration speed difference is also observed in Fig. 19, 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. 20). 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 D). 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 sedExnerFoam 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.

5.2.3 Sensitivity analysis and bedload flux saturation effect

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. 18. A poor near-bed mesh resolution leads to an underestimation of the bed shear stress (see Appendix D) 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 z+=1 and z+=5 in the present simulations. The choice of the numerical scheme used to discretize the advection term in the momentum equation (Eq. 1) 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 upwind 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.

Another sensitive parameter in this configuration is the critical Shields number θc0, which is evaluated in the range 0.033–0.046 by the different models presented in Table 2 but was experimentally estimated at a higher value of 0.079. Increasing the value of θc0 not only slows down the dune but also reduces its height and length in the stationary regime. An intermediate value of θc0=0.05 was found to yield good results. In addition, the critical Shields number was corrected with the local slope according to Eq. (13). A final key modeling choice is the formula used to calculate bedload transport. It was found that the formulas presented in Table 2 were all predicting dune velocity at least two times slower than the one observed experimentally. Therefore, a custom bedload formula ϕb=32θ1/2ϖ(θ-θc) was used. It corresponds to an intensified version of the formula from Nielsen (1992) and can be considered reasonable in view of the significant scatter associated with bedload measurements (Recking2010). 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.

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 Lsat and Tsat are presented in Fig. 21, which shows the bed level after 10 s of migration. The saturation length Lsat value is varied from 1.25 to 20 mm while the saturation time Tsat value is varied from 0.005 to 0.2 s. The green curve corresponds to the optimized configuration shown in Sect. 5.2.2. The pink curve shows the smallest Lsat 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 Lsat =0.0025 m here, above this value the dune migration speed is slowed down (see orange and blue dashed lines). For the largest Lsat value tested here, Lsat=0.02 m, the Tsat has been increased to 0.02 s as the simulation crashed with Tsat=0.01 s. Three simulations have been performed for the same saturation length Lsat=0.005 m and for three values of Tsat=0.005, 0.01, and 0.02 s. In this range, no effect of the saturation time Tsat on the dune migration has been observed, and the value of Tsat=0.01 s has been retained.

Saturation acts as a spatial filter, and it smooths out the maximum of qsat. For very large values of Lsat, this results in an underestimation of qb, and the migration velocity is reduced. For very low values of Lsat, 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. D2 in Appendix D). 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 (Charru et al.2013). 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. 21). 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. 16) 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 (e.g. Charru et al.2013). According to Charru et al. (2013), for underwater transport, the saturation length is controlled by particle's settling and can be expressed as: Lsatu*/ws0×d, and for aeolian transport, the saturation length is dominated by particles' inertia and can be expressed as: Lsatρs/ρf×d. The first estimate leads to a value of about Lsat≈3 mm while the latter leads to a value of about Lsat≈1 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.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f21

Figure 21Bed elevation obtained with different saturation length values, ranging from Lsat=1.25 mm to Lsat=20mm with saturation time Tsat=0.01 s except for Lsat=20 mm where Tsat=0.02 s (due to numerical stability condition) and 2 configurations with Tsat=0.005 s and Tsat=0.02 s with Lsat=5 mm 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.

Download

5.2.4 Partial conclusion on the 2D simulations

The results presented in this section demonstrate the sedExnerFoam 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 Lsat and Tsat 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.

5.3 3D numerical simulations

Section 5.3 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.

The grid of the 2D case presented in the previous section is just extruded in the y-direction to match the experimental channel width (Wc=6 mm) using 10 cells. This resolution allows us to maintain an aspect ratio close to unity between the streamwise and spanwise grid sizes (Δx≈0.72 mm, Δy≈0.6 mm). A grid resolution of nx=1100, ny=10, and nz=80 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.

The results of the 3D simulations with suspension are shown in Fig. 22 at three different times during the migration process: t=0, 5 and 10 s. In this figure, the flow streamlines are colored according to their velocity magnitude. Also shown is a color plot of the suspended concentration, cs, in a vertical plane at y=0.006 m on a log scale. The color plot on the bed patch represents the qsat, 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 10−3 to 10−2. This seems to be an overestimation compared to the experimental observations made by Kiki Sandoungout (2019). 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 qsat, 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 t=5 s and t=10 s in the stationary migration regime. This is consistent with the physical arguments presented, for example, in Charru et al. (2013), 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.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f22

Figure 22Representation of the dune and the flow streamlines of the 3D configuration at different times, t=0, 5 and 10 s from top to bottom, during the migration process. The colorplot at the bed represents the saturated bedload flux qsat (Lsat=0.005 m and Tsat=0.01s), and the colorplot in a vertical plane represents the suspended concentration cs in log scale. The streamlines are colored by the flow velocity.

Download

Figure 23 shows a comparison of the bed profiles at different times during the migration process (t=0, 4, 8, and 12 s). The results are compared with the 2D case shown in the Fig. 19. 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 t=12 s. 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. D3 in Appendix D. 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 (e.g. Jacobsen2011), developing high-order, non-oscillating schemes, such as WENO or NOCS (e.g. Guerin et al.2016; Marieu et al.2008), and/or using a predictor-corrector algorithm for the Exner equation solution.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f23

Figure 23Sediment 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.

Download

The hydrodynamic part of the model benefits from the native parallelization available in OpenFOAM. 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 sedExnerFoam, 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 OpenFOAM parallelization capabilities.

6 Discussion

The newly developed solver, sedExnerFoam, shares several characteristics with existing three-dimensional morphodynamic models (e.g. Liu and García2008; Jacobsen et al.2014; Jacobsen and Fredsoe2014; Baykal et al.2015), 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.

A further strength of sedExnerFoam 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.

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.

In comparison with existing morphodynamic models, sedExnerFoam occupies an intermediate position between large-scale three-dimensional morphodynamic models – such as openTELEMAC (Galland et al.1991) and Delft3D (Lesser et al.2004) – and fully resolved two-phase flow approaches, including Eulerian–Eulerian (e.g. Chauchat et al.2017) and Eulerian–Lagrangian (e.g. Cheng et al.2018) 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 OpenFOAM. These limitations must be considered alongside the increased computational cost associated with the finer grids and smaller time steps typically required by sedExnerFoam. Within this context, the solver is designed to resolve coupled flow–structure–bed interactions that are relevant to scour processes and bedform dynamics.

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, Nagel et al. (2020) reported that three-dimensional two-phase RANS scour simulations using sedFoam required approximately 108 000 CPU hours to simulate 600 s of physical time. The combined use of two-phase flow models and sedExnerFoam may therefore support the development and assessment of sediment transport closures, for instance, through the Exner diagnosis method proposed by Gilletta et al. (2026). 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, sedExnerFoam is intended to contribute as an intermediate-scale modelling tool and to support upscaling approaches such as those presented previously.

7 Summary and outlook

This study presents a new numerical solver, sedExnerFoam, designed to investigate sediment transport and morphological evolution. Developed within OpenFOAM® (v2412) and based on the pimpleFoam 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 OpenFOAM.

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.

The major innovations in sedExnerFoam 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 sedExnerFoam 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.

In the longer term, sedExnerFoam is intended to be used in conjunction with sedFoam (Chauchat et al.2017), 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.

Appendix A: Abbreviations and notations
Abbreviations
ALE Arbitrary Lagrangian Eulerian
CFD Computational Fluid Dynamics
DNS Direct Numerical Simulation
FAM Finite Area Method
FVM Finite Volume Method
IBM Immersed Boundary Method
LES Large Eddy Simulation
RAS Reynolds-Averaged Simulation
RMSE Root Mean Square Error
SMAPE Symmetric Mean Absolute Percentage Error
SST Shear Stress Transport
TKE Turbulent Kinetic Energy
Notations
cs Suspended sediment volume fraction
csmax Maximum sediment volume fraction
cb* Reference concentration
cb,max* Maximum reference concentration
CD Drag coefficient
d Diameter of the sediment [m]
D Deposition rate [m s−1]
Dh Hydraulic diameter, 4 times the ratio of the wet area to the wet perimeter [m]
D* Dimensionless sediment diameter
E Erosion rate [m s−1]
eg Unit vector oriented with gravity
f Darcy-Weissback friction factor
Fh Hindrance function
Fwalls Side walls friction source term [m s−2]
F1 First blending function of the kω SST model
F2 Second blending function of the kω SST model
F3 Third blending function of the kω SST model
g Gravity acceleration [m s−2]
hd Dune height [m]
k Specific turbulent kinetic energy [m2 s−2]
ks Nikuradse equivalent roughness height [m]
ks+ Roughness Reynolds number
kw Wall equivalent roughness height [m]
Ld Dune length [m]
Lsat Saturation length [m]
lsb Distance to the sediment bed boundary [m]
p Pressure of the fluid [kgm-1s-2]
P Specific turbulent kinetic energy production rate [m2 s−3]
qav Avalanche related bedload flux [m2 s−1]
qav0 Maximum avalanche related bedload flux [m2 s−1]
qb Bedload flux [m2 s−1]
qsat Saturated bedload flux [m2 s−1]
Ro Rouse number, ratio of the settling velocity to the upwards velocity of the grains
s Ratio of sediment density to fluid density
S Strain rate tensor [s−1]
SR Roughness coefficient in rough wall functions for ω
t* Breaking time [s]
Tsat Saturation time [s]
u Fluid velocity field [m s−1]
u Fluctuating velocity field [m s−1]
u* Friction velocity [m s−1]
Vf Volume of fluid [m3]
Vs Volume of sediment [m3]
ws Settling velocity of suspended sediment [m s−1]
ws0 Terminal settling velocity of a lone particle in a quiescent fluid [m s−1]
zb Sediment bed elevation [m]
αs Angle between the steepest slope direction and the shear direction
βr Repose angle of the granular material
βs Bed slope angle
Γc Mesh diffusivity [m2]
δzb Bed elevation increment [m]
δzb* Reference level [m]
ΔXc Cell center displacements [m]
ϵ Dissipation rate of turbulent kinetic energy [m2 s−3]
ϵs Turbulent diffusivity for suspended sediment [m2 s−1]
ϵw Additional near bed diffusivity for suspended sediment [m2 s−1]
ϵw0 Constant in the near bed diffusivity definition
θ Shields number, dimensionless bed shear stress
θc Critical Shields number with slope correction
θc0 Critical Shields number on a flat bed
κ Von Kármán constant
λs Porosity of the granular material
μs Static friction coefficient
ν Kinematic viscosity of the fluid [m2 s−1]
νt Turbulent eddy viscosity [m2 s−1]
ξw Constant in the near bed diffusivity definition
ρf Density of the fluid [kg m−3]
ρs Density of the sediment [kg m−3]
σc Schmidt number, ratio of eddy viscosity to turbulent diffusivity of suspended sediment
τb Shear stress exerted on the bed [kgm-1s-2]
τf Filtering tensor in Navier-Stokes equation [m2 s−2]
τwall Lateral wall friction [kgm-1s-2]
ϕb Einstein number, dimensionless bedload flux
ω Specific dissipation rate of turbulent kinetic energy [s−1]
Appendix B: RANS k-ω SST model

The blending function F1 is defined as follows:

(B1) F 1 = tanh min min max k β * ω y , 500 ν ω y 2 , 4 α ω 2 k CD k ω + y 2 , 10 4 ,

CDkω+ stands for the positive portion of the cross-diffusion term and is defined as:

(B2) CD k ω + = max 2 α ω 2 k . ω ω , 10 - 10 .

The blending function appearing in the eddy viscosity definition (Eq. 3) is defined as F23=F2F3 where F2 is defined as follows:

(B3) F 2 = tanh min max 2 k β * ω y , 500 ν ω y 2 , 100 2 .

Finally, the function F3 aims at preventing the limitation of the eddy viscosity for rough wall flows. This extension was developed by Hellsten et al. (1997) and is written as:

(B4) F 3 = 1 - tanh min 150 ν ω y 2 , 10 4 .

By default, F3 is deactivated and equal to 1.

The model constants αk is obtained from two other constants αk1 and αk2 using the blending function F1 as:

(B5) α k = F 1 ( α k 1 - α k 2 ) + α k 2 .

The same applies for αω with the constants αω1 and αω2, for β with β1 and β2 and for γ with γ1 and γ2. It means than αk, αω and β 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 β*=0.09, αk1=0.85, αk2=1, αω1=0.5, αω2=0.856, β1=0.075, β2=0.0828, γ1=5/9, γ2=0.44 a1=0.31, b1=1, c1=10.

Appendix C: Derivation of Darcy-Weissbach source term

This appendix provides more detail on the source term used in Sect. 5 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 x-direction, the transverse direction is the y-direction, and there is no pressure gradient. The velocity field simplifies to u=u(x,y)ex and the momentum equations is written as follows:

(C1) ρ f u t = τ x y y ,

where τxy=(ν+νt)u/y is the total stress due to viscous effect and turbulence. Integrating this equations over the flume width y[0,Wc] yields the following equation:

(C2) 0 W c ρ f u t d y = 0 W c τ x y y d y ,

and then,

(C3) ρ f W c u y t = τ x y | y = W c - τ x y | y = 0 ,

with uy=1/Wcudy and τxy|y=Wc=-τxy|y=0=-τwall. Dividing this Eq. (C3) by ρfWc yields:

(C4) u y t = - 2 τ wall ρ f W c .

Now, replacing τwall with the Darcy-Weissbach equation (Eq. 34), the source term from Eq. (36) is retrieved Fwalls=-f|u|u/4Wc.

Appendix D: Dune migration, supplementary material

The position of the dune, height, and length were estimated as in the work of Kiki Sandoungout (2019). When the dune does not have a sharp crest, it is found difficult experimentally to identify the precise x-location corresponding to the top of the dune. Instead, it was chosen to track the dune migration using the coordinate xh, 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 xh and the dune height and length are summarized in the schematic shown in Fig. D1.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f24

Figure D1Schematic showing how the dune's characteristics are defined. The dune's position is tracked using the coordinate xh 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.

Download

Table D1Characteristics 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. nx and nz are the number of cells in the x-direction and z-direction, respectively, and z1 is the distance from the first cell center to the wall boundary.

Download Print Version | Download XLSX

As stated in Sect. 5, 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 D1 summarizes the characteristics of four different meshes used in a sensitivity analysis.

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 D2 shows the stream-wise component of the bed shear stress obtained with the four meshes presented in Table D1.

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.

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f25

Figure D2Comparison 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.

Download

https://gmd.copernicus.org/articles/19/2299/2026/gmd-19-2299-2026-f26

Figure D3Bed 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 Lsat=5 mm and the saturation time is fixed to Tsat=0.01 s.

Download

Code and data availability

sedExnerFoam Renaud et al. (2025) model code, associated libraries, tests and tutorials are all available via Zenodo at https://doi.org/10.5281/zenodo.15535485 or directly via GitHub at https://github.com/SedFoam/sedExnerFoam (last access: 17 March 2026). Instructions for installation and explanations on the repository organization are provided in a README file.

Author contributions

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.

Competing interests

The contact author has declared that none of the authors has any competing interests.

Disclaimer

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.

Acknowledgements

Various graphics presented in this work were produced using the Python package fluidfoam (Bonamy et al.2025). The authors also gratefully acknowledge the developers of ParaView (Ahrens et al.2005), which was used to visualize the simulation results.

Financial support

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.

Review statement

This paper was edited by Di Tian and reviewed by Gabriel Barajas, Jennifer Keenahan, and Sem Geerts.

References

Ahrens, J., Geveci, B., and Law, C.: ParaView: An End-User Tool for Large Data Visualization, in: Visualization Handbook, Elsevier, ISBN 978-0123875822, 2005. a

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, https://doi.org/10.1029/2004JC002798, 2005. a

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, https://doi.org/10.1098/rsta.2014.0104, 2015. a, b

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, https://doi.org/10.1051/lhb/2002029, 2002. a

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], https://doi.org/10.5281/zenodo.14893673, 2025. a

Brownlie, W. R.: Prediction of flow depth and sediment discharge in open channels, https://doi.org/10.7907/Z9KP803R, 1983. a

Camenen, B.: Settling velocity of sediments at high concentrations, in: Sediment and Ecohydraulics, vol. 9 of Proceedings in Marine Science, 211–226, https://doi.org/10.1016/S1568-2692(08)80017-4, 2008. a

Camenen, B. and Larson, M.: A general formula for non-cohesive bed load sediment transport, Estuar. Coast. Shelf Sci., 63, 249–260, https://doi.org/10.1016/j.ecss.2004.10.019, 2005. a

Celik, I. and Rodi, W.: Modeling suspended sediment transport in nonequilibrium situations, J. Hydraul. Eng., 114, 1157–1191, https://doi.org/10.1061/(ASCE)0733-9429(1988)114:10(1157), 1988. a, b

Charru, F.: Selection of the ripple length on a granular bed sheared by a liquid flow, Phys. Fluids, 18, https://doi.org/10.1063/1.2397005, 2006. a

Charru, F., Andreotti, B., and Claudin, P.: Sand ripples and dunes, Annu. Rev. Fluid Mech., 45, 469–493, https://doi.org/10.1146/annurev-fluid-011212-140806, 2013. a, b, c, d, e, f

Chatterjee, S., Ghosh, S., and Chatterjee, M.: Local scour due to submerged horizontal jet, J. Hydraul. Eng., 120, 973–992, https://doi.org/10.1061/(ASCE)0733-9429(1994)120:8(973), 1994. a

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, https://doi.org/10.5194/gmd-10-4367-2017, 2017. a, b, c

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, https://doi.org/10.1016/j.advwatres.2017.11.019, 2018. a

Chiew, Y.-M. and Melville, B. W.: Local scour around bridge piers, J. Hydraul. Res., 25, 15–26, https://doi.org/10.1080/00221688709499285, 1987. a

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. a

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, https://doi.org/10.1038/s41561-019-0336-4, 2019. a

Einstein, H. A.: Formulas for the transportation of bed load, Trans. Am. Soc. Civil Eng., 107, 561–577, https://doi.org/10.1061/TACEAT.0005468, 1942. a

Engelund, F. and Fredsøe, J.: A sediment transport model for straight alluvial channels, Hydrol. Res., 7, 293–306, 1976. a

Exner, F. M.: Zur physik der dünen, Hölder Sitzber Akad. Wiss Wien., urn:nbn:at:at-ubw:g-149112, 1920. a

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, https://doi.org/10.1080/00221680309499983, 2003. a

Fredsoe, J. and Deigaard, R.: Mechanics of coastal sediment transport, vol. 3, World scientific publishing company, https://doi.org/10.1142/1546, 1992. a, b, c

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, https://doi.org/10.1016/0309-1708(91)90006-A, 1991. a

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, https://ui.adsabs.harvard.edu/abs/2024AGUOSCP33C..11G (last access: 17 March 2026), 2024. a

Gilletta, A., Bonamy, C., and Chauchat, J.: Exner diagnosis method for two-fluid morphodynamics simulations, Int. J. Multiph. Flow, 194, 105457, https://doi.org/10.1016/j.ijmultiphaseflow.2025.105457, 2026. a

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, https://doi.org/10.1002/fld.201, 2002. a

Greenshields, C. and Weller, H.: Notes on Computational Fluid Dynamics: General Principles, CFD Direct Ltd, Reading, UK, ISBN 978-1-3999-2078-0, 2022. a

Guerin, T., Bertin, X., and Dodet, G.: A numerical scheme for coastal morphodynamic modelling on unstructured grids, Ocean Model., 104, 45–53, https://doi.org/10.1016/j.ocemod.2016.04.009, 2016. a

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, https://doi.org/10.2514/6.1997-3577, 1997. a

Hervouet, J.-M.: TELEMAC, a hydroinformatic system, La Houille Blanche, 21–28, https://doi.org/10.1051/lhb/1999029, 1999. a

Hervouet, J.-M.: Hydrodynamics of free surface flows: modelling with the finite element method, John Wiley & Sons, https://doi.org/10.1002/9780470319628, 2007. a

Hjelmfelt, A. T. and Lenau, C. W.: Nonequilibrium transport of suspended sediment, J. Hydraul. Div., 96, 1567–1586, 1970. a, b, c, d, e, f, g

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, https://doi.org/10.1029/2023WR036660, 2024. a

Issa, R. I.: Solution of the implicitly discretised fluid flow equations by operator-splitting, J. Comput. Phys., 62, 40–65, https://doi.org/10.1016/0021-9991(86)90099-9, 1986. a

Jacobsen, N. G.: A full hydro-and morphodynamic description of breaker bar development, Ph.D. thesis, ISBN 978-87-90416-64-5, 2011. a, b, c

Jacobsen, N. G.: Mass conservation in computational morphodynamics: uniform sediment and infinite availability, Int. J. Numer. Meth. Fl., 78, 233–256, https://doi.org/10.1002/fld.4015, 2015. a

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, https://doi.org/10.1016/j.coastaleng.2014.01.015, 2014. a

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, https://doi.org/10.1016/j.coastaleng.2013.12.008, 2014. a

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. a

Kennedy, J. F.: The mechanics of dunes and antidunes in erodible-bed channels, J. Fluid Mech., 16, 521–544, https://doi.org/10.1017/S0022112063000975, 1963. a

Kiki Sandoungout, S.: Caractérisation de la morphologie des dunes dans des écoulements unidirectionnels et alternatifs, Ph.D. thesis, Université de Bretagne occidentale – Brest, https://theses.hal.science/tel-02453140 (last access: 17 March 2026), 2019. a, b, c, d

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, https://doi.org/10.1016/B978-0-08-030937-8.50016-7, 1983. a

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, https://doi.org/10.1016/j.coastaleng.2004.07.014, 2004. a, b, c

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, https://doi.org/10.1061/(ASCE)0733-950X(2008)134:4(203), 2008. a, b

Lyn, D. A.: A similarity approach to turbulent sediment-laden flows in open channels, J. Fluid Mech., 193, 1–26, https://doi.org/10.1017/S0022112088002034, 1988. a, b, c, d, e

Marchesiello, P., Benshila, R., Almar, R., Uchiyama, Y., McWilliams, J. C., and Shchepetkin, A.: On tridimensional rip current modeling, Ocean Model., 96, 36–48, https://doi.org/10.1016/j.ocemod.2015.07.003, 2015. a

Marieu, V., Bonneton, P., Foster, D. L., and Ardhuin, F.: Modeling of vortex ripple morphodynamics, J. Geophys. Res., 113, 2007JC004659, https://doi.org/10.1029/2007JC004659, 2008. a, b

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, https://doi.org/10.1016/j.euromechflu.2018.10.009, 2019. a

McOwen, R. C.: Partial differential equations : methods and applications, Upper Saddle River, N. J., Prentice Hall, ISBN 978-0131218802, 1996. a

Menter, F. R.: Two-equation eddy-viscosity turbulence models for engineering applications, AIAA J., 32, 1598–1605, https://doi.org/10.2514/3.12149, 1994. a

Meyer-Peter, E. and Müller, R.: Formulas for bed-load transport, in: IAHSR 2nd meeting, Stockholm, appendix 2, IAHR, https://repository.tudelft.nl/record/uuid:4fda9b61-be28-4703-ab06-43cdc2a21bd7 (last access: 17 March 2026), 1948. a, b, c

Miedema, S.: An analytical method to determine scour, WEDA XXVIII & Texas A&M, 39, 8–11, https://www.westerndredging.org/phocadownload/ConferencePresentations/2008_StLouis/Session1B-DredgingResearch/1%20-%20Miedema%20-%20An%20Analytical%20Method%20to%20Determine%20Scour.pdf (last access: 17 March 2026), 2008. a

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, https://doi.org/10.1029/2004WR003595, 2005. a

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, https://doi.org/10.1016/j.advwatres.2020.103544, 2020. a, b

Nielsen, P.: Coastal bottom boundary layers and sediment transport, vol. 4, World scientific, https://doi.org/10.1142/1269, 1992. a, b, c

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, https://doi.org/10.1016/B978-0-08-030937-8.50013-1, 1983. a

Rauter, M. and Kowalski, J.: OpenFOAM-avalanche 2312: depth-integrated models beyond dense-flow avalanches, Geosci. Model Dev., 17, 6545–6569, https://doi.org/10.5194/gmd-17-6545-2024, 2024. a

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, https://doi.org/10.1029/2009WR008007, 2010. a

Renaud, M., Bonamy, C., Chauchat, J., and Bertrand, O.: SedFoam/sedExnerFoam: Release 2412, Zenodo [code], https://doi.org/10.5281/zenodo.15535486, 2025. a, b

Ribberink, J. S.: Bed-load transport for steady flows and unsteady oscillatory flows, Coast. Eng., 34, 59–82, https://doi.org/10.1016/S0378-3839(98)00013-1, 1998. a

Richardson, J. and Zaki, W.: The sedimentation of a suspension of uniform spheres under conditions of viscous flow, Chem. Eng. Sci., 3, 65–73, https://doi.org/10.1016/0009-2509(54)85015-9, 1954. a, b

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, https://doi.org/10.1017/S0022112005004507, 2005. a

Rubey, W.: Equilibrium-conditions in debris-laden streams, EOS Trans. Am. Geophys. Union, 14, 497–505, https://doi.org/10.1029/TR014i001p00497, 1933. a

Shields, A. F.: Anwendung der Ähnlichkeitsmechanik und der Turbulenzforschung auf die Geschiebebewegung, Ph.D. thesis, https://d-nb.info/571552609/04 (last access: 17 March 2026), 1936. a

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, https://doi.org/10.1016/j.coastaleng.2021.104037, 2022. a

Soulsby, R.: Dynamics of marine sands, T. Telford London, UK, ISBN 978-0-7277-2584-4, 1997. a

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. a, b

Stokes, G. G.: Mathematical and physical papers, vol. 3, Cambridge University Press, https://doi.org/10.1017/CBO9780511702297, 1901. a

Swamee, P. K. and Jain, A. K.: Explicit equations for pipe-flow problems, J. Hydraul. Div., 102, 657–664, https://doi.org/10.1061/JYCEAJ.0004542, 1976. a

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 & Gas, Metallurgical and Process Industries, no. CFD08-072, 2008. a

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, https://doi.org/10.1016/j.geomorph.2025.109649, 2025. a, b

Van Rijn, L. C.: Sediment transport, Part I: bed load transport, J. Hydraul. Eng., 110, 1431–1456, https://doi.org/10.1061/(ASCE)0733-9429(1984)110:10(1431), 1984. a, b

van Rijn, L. C.: Sediment Transport, Part II: Suspended Load Transport, 110, 1613–1641, https://doi.org/10.1061/(ASCE)0733-9429(1984)110:11(1613), 1984. a, b, c, d

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, https://doi.org/10.1016/j.cageo.2008.02.012, 2008. a

Warren, I. and Bach, H.: MIKE 21: a modelling system for estuaries, coastal waters and seas, Environ. Softw., 7, 229–240, https://doi.org/10.1016/0266-9838(92)90006-P, 1992. a

Wilcox, D. C.: Turbulence modeling for CFD, vol. 2, DCW industries La Canada, CA, ISBN 0963605100, 1998. a, b, c

Zanke, U.: On the influence of turbulence on the initiation of sediment motion, Int. J. Sediment Res., 18, 17–31, 2003.  a

Zhou, L.: Numerical modelling of scour in steady flows, Ph.D. thesis, http://www.theses.fr/2017LYSEC015/document (last access: 17 March 2026), 2017. a

Download
Short summary

Sediment transport refers to the displacement of granular materials, such as sand and gravel, under the combined action of gravity and fluid flow. This study presents an open-source numerical model developed to investigate this process, with particular emphasis on the migration of an isolated dune. Beyond this specific application, the model has broad potential, including the analysis of erosion around engineered structures, ripple formation, and the morphological evolution of river systems.

Share