1 Introduction

The transport of sediment in rivers, lakes, or shores is particularly relevant in hydraulic engineering for several different reasons [2]. Erosion and deposition zones are generated by sediments which typically cause the modification of the river beds or that of the shores over time. Sediments have an influence on energy production in dams, and they may cause damages and serious risks for the environment, and they are responsible for delivering nutrients and, as opposite, contaminants. For the above reasons, the modeling of such flows, as well as the understanding of their dynamics, is of paramount importance in applications [38]. From the mathematical modeling point of view, multi-phase approaches are typically considered [3, 11, 18, 30]. They consist in coupling the Navier-Stokes (NS) incompressible hydrodynamic descriptions for the liquid phase with advection-diffusion equations for the concentration of sediments. Alternative modeling approaches treat the sediments as a fluid, which turns out to be a reasonable choice when high-density sediment concentrations coexist with the fluid phases [39]. If one is instead interested in the understanding of the microscopic modifications of the fluid, each individual sediment is likely to be modeled via a microscopic description [29].

In this work, we consider three-dimensional free surface flows (typically water at the interface with air) modeled by the incompressible NS equations with a hydrostatic pressure distribution coupled with a scalar equation for the sediment transport. Sediments are supposed to be passive media. The equation for the solid-phase particles moves with speed determined by the liquid phase and an anistropic diffusion is added to the system. We focus on sediments in suspension and, thus, the main hypothesis is that the concentration of the solid phase is quite low. Additionally, sediments travel much more slowly compared to the fluid, and hence, they are supposed not to modify or affect its motion. This, in particular, can be shown to be true in slow current conditions and it can be inferred through a characteristic analysis of the problem [2]. Such analysis shows also that the variation of the ground occurs with a speed which is at least one order of magnitude lower than the variation of the free-stream flow. For this reason, we do not consider a morphodynamic model in this work, i.e., we do not consider the situation in which sediments may modify the bottom over time. This choice is also legitimated by the fact that the solid phase is dilute compared to the fluid one.

The numerical scheme chosen for discretizing the liquid phase takes inspiration from a series of papers by Casulli and co-authors [19, 20, 23, 24, 43]. More in detail, we focus on a semi-implicit time approach for the solution of hydrostatic free surface flows. The main advantage of such the method is that it permits to get larger stability domains while maintaining a reasonable computational cost. In fact, one of the main challenges related to this problem is due to the time step restriction induced by the fast scale coming from the viscous terms in both the horizontal and the vertical directions, together with the free surface speed. They typically cause a very severe CFL stability condition which penalizes explicit numerical schemes and which should be avoided if possible. The pressure terms, the velocity, and the vertical viscosity are discretized implicitly, while the nonlinear convective and horizontal viscous terms are discretized explicitly. The computational domain is discretized on the horizontal x-y plane by an orthogonal unstructured staggered grid where the normal velocity components are defined at the cell interfaces, whereas the pressure is evaluated at the center of each control volumes. In the vertical direction, we employ a standard z-layer discretization. A finite-difference scheme is used for the discretization of the momentum equations, and a mass conservative finite volume method is used for the time evolution of the free surface elevation. The method employs polygonal Voronoi meshes, and makes use of a polynomial-based high-order reconstruction, along the lines of [9, 28, 33]. Concerning the remaining explicit terms in the NS equations and the solid phase, a semi-Lagrangian method is adopted [25, 32, 36, 40]. Semi-Lagrangian methods require the integration of the fluid trajectories backward in time. This can be done in several ways. Here, we adopt a conservative approach [27, 46] and a suitable interpolation of the vector velocity field that is provided by the high-order reconstruction procedure. Semi-Lagrangian methods see their origin for the numerical weather prediction [5, 6, 37, 41, 44, 45]. Nowadays, they can be found in environmental engineering applications, such as free surface flows in rivers and oceans [27, 46] as well as in plasma physics [4, 17, 26], in applications to image processing [15, 16] or for solving the Hamilton-Jacobi equations [14]. Conservative semi-Lagrangian methods are described for instance in [4, 31, 36, 40]. A fully space-time strategy with a semi-Lagrangian scheme on unstructured meshes has been recently proposed in [8]. In addition to the inherent conservative property, slope limiters can be introduced in the reconstruction to ensure preservation of specific properties such as positivity and monotonicity. In this work, we focus on a high-order semi-Lagrangian scheme which ensures conservation, hence presenting several advantages. Specifically, both momentum and sediment concentration will be proven to be conserved upon numerical evidences.

The outline of this article is as follows: Sect. 2 presents the physical model with the governing equations considered in this work, while Sect. 3 contains the details of the mesh, the definition of the discrete quantities, and the time discretization for both the fluid and the solid phases. Section 4 is dedicated to the high-order polynomial reconstruction and on the details of the semi-Lagrangian approach. In Sect. 5, a wide set of benchmark test problems is run to assess the accuracy and the validity of the new scheme. Finally, conclusions and outlook to future work are given in Sect. 6.

2 Governing Equations

The fluid phase is described by the three-dimensional hydrostatic free surface equations [22]. They are derived starting from the incompressible NS equations in the additional hypothesis that the vertical acceleration as well as the vertical viscosity forces are small when compared to the gravity acceleration and to the pressure gradient in the vertical direction. In Cartesian coordinates, these equations read

$$\begin{aligned}&\dfrac{\partial u}{\partial x}+\dfrac{\partial v}{\partial y}+\dfrac{\partial w}{\partial z}=0, \end{aligned}$$
(1)
$$\begin{aligned}&\dfrac{\partial u}{\partial t} + u\dfrac{\partial u}{\partial x} + v\dfrac{\partial u}{\partial y} + w\dfrac{\partial u}{\partial z} = - g \dfrac{\partial \eta }{\partial x} + \nu \left( \dfrac{\partial^2 u}{\partial x^2} + \dfrac{\partial^2 u}{\partial y^2} + \dfrac{\partial^2 u}{\partial z^2} \right) , \end{aligned}$$
(2)
$$\begin{aligned}&\dfrac{\partial v}{\partial t} + u\dfrac{\partial v}{\partial x} + v\dfrac{\partial v}{\partial y} + w\dfrac{\partial v}{\partial z} = - g \dfrac{\partial \eta }{\partial y} + \nu \left( \dfrac{\partial^2 v}{\partial x^2} + \dfrac{\partial^2 v}{\partial y^2} + \dfrac{\partial^2 v}{\partial z^2} \right) , \end{aligned}$$
(3)
$$\begin{aligned}&\dfrac{\partial \eta }{\partial t} + \dfrac{\partial }{\partial x} \left( \int _{-h}^\eta u \mathrm{d}z \right) + \dfrac{\partial }{\partial y} \left( \int _{-h}^\eta v \mathrm{d}z \right) = 0, \end{aligned}$$
(4)

where Eq. (1) expresses the mass conservation and, due to the hypothesis \(\frac{\partial \rho} {\partial t}=0\) on which the model relies, the equivalent incompressibility constraint. Momentum conservation in the x- and y-directions is modeled by Eqs. (2) and (3), respectively. The last Eq. (4) gives the time evolution of the water surface elevation, \(\eta (x,y,t)\), measured from the zero reference level located at \(z=0\), as shown in Fig. 1. This equation is obtained integrating the continuity Eq. (1) over the water depth with the kinematic conditions

$$\begin{aligned} \eta _t+u^{\rm s}\eta _x+v^{\rm s}\eta _y= & {} w^{\rm s}, \end{aligned}$$
(5)
$$\begin{aligned} u^{\rm{b}}h_x+v^{\rm{b}}h_y+w^{\rm{b}}= & {} 0, \end{aligned}$$
(6)

where, \(u^{\rm s},v^{\rm s}\), and \(w^{\rm s}\) represent the velocity components at the free surface, while \(u^{\rm{b}},v^{\rm{b}}\), and \(w^{\rm{b}}\) are the corresponding components at the bottom. This is identified by the function h(xy), measured from the reference plane \(z=0\) (see Fig. 1 for a visual explanation). The condition imposed to the bottom states that the velocity component perpendicular to the solid boundaries must vanish, and hence, no physical flux is allowed to cross the bottom. The total water depth is denoted by \(H(x,y,t) = h(x,y) + \eta (x,y,t)\). The hydrostatic approximation leads, neglecting the viscous terms in the third momentum equation, to \(p_z=-g\), i.e., the derivative of the pressure field in the z-direction is matched by the gravity acceleration \(g=9.81\). Consequently, the normalized pressure is given by \(p(x,y,z,t)=p_{\text{a}}+g(\eta -z)\) with \(p_{\text{a}}\) the atmospheric pressure. Finally, \(\nu \) is the kinematic viscosity coefficient which can be taken as constant, or conversely, it can be determined starting from a specific turbulence model.

Fig. 1
figure 1

Domain and notations

Mass conservation of a scalar variable is described by means of the following relation [13]:

$$\begin{aligned} \frac{\partial c}{\partial t} + \frac{\partial (uc)}{\partial x} + \frac{\partial (vc)}{\partial y} + \frac{\partial [(w\!-\!w_{\rm s})c]}{\partial z} = \frac{\partial }{\partial x} \bigg(e_{\text{h}}\frac{\partial c}{\partial x}\biggr ) + \frac{\partial }{\partial y} \bigg(e_{\text{h}}\frac{\partial c}{\partial y}\biggr ) + \frac{\partial }{\partial z} \bigg(e_{\text{v}}\frac{\partial c}{\partial z}\biggr ), \end{aligned}$$
(7)

where c(xyzt) denotes the concentration of a scalar transported quantity: salinity, temperature, suspended sediment, or any passive substance which may be relevant. The quantity \(w_{\rm s}\) appearing in Eq. (7) is the settling velocity: it is assumed constant and it has to be different from zero in the sediment transport case. The turbulent diffusion coefficients along the horizontal and the vertical directions are denoted by \(e_{\text{h}}\) and \(e_{\text{v}}\), respectively.

3 Numerical Scheme for the Fluid and the Solid Phases

We introduce now the scheme; taking inspiration from [24], we employ to resolve the fluid phase described by Eqs. (1)–(4) and we give the details of the discretization of Eq. (7) for the solid phase. For the fluid phase, we propose a semi-implicit method designed to work on an unstructured grid, while unknown quantities are defined with a staggered approach. Before giving the details of the schemes, in the next section, we briefly discuss the employed mesh.

3.1 Computational Grid: an Unstructured Staggered Voronoi Mesh Approach

Let us first focus on the Voronoi tessellation [9, 10] for the meshing of the computational domain \(\varOmega \). The class of unstructured grid is very important in fluid dynamics, because it allows to reproduce complicated geometry as the channel bends. The final grid is obtained carrying out two different steps, namely (i) the generation of a grid lying on the x-y plane \(\varOmega _{xy}\), composed by a Voronoi tessellation, and (ii) the extrusion of the horizontal mesh along the vertical direction to produce the three-dimensional domain. The choice of using a Voronoi mesh is motivated by the fact that it is orthogonal by construction: namely the segment connecting two centroids of two adjacent elements is orthogonal to the shared edge that they have in common. This provides an essential property for the finite-difference discretization of the momentum equations discussed next. Here, we limit us to construct conforming meshes composed by convex elements.

Fig. 2
figure 2

Left: 2D grid view highlights the connection between primary triangulation and Voronoi tessellation. Right: cross-section of a generic final computational domain in 3D

More precisely, the generation of the domain \(\varOmega _{xy}\) is composed by three different steps. We briefly recall them:

  • the starting point is a Delaunay triangulation, referred to as primary grid, that must contain triangles with angles no greater than \(90^{\circ }\) of amplitude;

  • after specifying an arbitrary refinement factor \(\chi \), every triangle is split into a total number of \(\frac{(\chi +1)(\chi +2)}{2}\) sub-triangles, hence generating an isotropic refined Delaunay triangulation;

  • the final Voronoi tessellation is then obtained by linking the triangle circumcenters between them.

Figure 2 shows the dual bond between primary triangulation and Voronoi grid, where the Voronoi centers correspond to the triangle vertexes, while the circumcenters coincide with the Voronoi nodes. Along the horizontal boundaries, we note an additional layer that arises from the construction of the dual Voronoi tessellation, whose thickness depends on the characteristic mesh spacing of the primary grid. As already mentioned, we furthermore require that all primary triangles are acute-angled to avoid an empty intersection between two centers.

The final three-dimensional computational domain is made of right prisms whose bottom and top faces are Voronoi polygons and height is a vertical layer of thickness \(\Delta z\), that is assumed to be the uniform distance between two consecutive horizontal domains \(\varOmega _{xy}\) along the z-direction. Figure 2 depicts the final computational grid obtained for a generic domain both on the x-y plane and for the vertical direction.

Now, we refer to Fig. 3 to introduce the notation adopted over the x-y plane and along the vertical direction z. We call the single Voronoi polygon as cell or element, and we indicate it with \(P_i \in N_\mathrm{P}\), with \(N_\mathrm{P}\) being the number of total cells, and \(\partial P_i\) representing its boundary which is composed by a total number of \(N_j\) edges denoted with \(\lambda _j\). For a generic side \(\lambda _j\), let L(j) and R(j) be its left and right elements, respectively, with their corresponding centers \(\mathbf {c}_{L(j)}\) and \(\mathbf {c}_{R(j)}\) that are connected by the straight line segment \(\delta _j\). The left and right orientation is given by the sign function \(\sigma _{i,j}\), defined on every edge \(\lambda _j\):

$$\begin{aligned} \sigma _{i,j} = \frac{R(j) - 2i + L(j)}{R(j) - L(j)}. \end{aligned}$$
(8)
Fig. 3
figure 3

Notation adopted over the x-y plane and along the z direction

We discretize the vertical column water by a sequence of z-layers of thickness \(\Delta z_{j,k}^n\) or \(\Delta z_{i,k}^n\), depending if we are referring to a generic cell \(P_i\) or to an edge \(\lambda _j\), as depicted in Fig. 3. Generally, we adopt a uniform height which remains constant, apart from those layers which are crossed by either the bottom or free surface, that have to be adjusted in order to exactly match the vertical boundaries of the domain. Indeed, some layers can be turned off or on, according to the time evolution of the free surface. More precisely, a cell or an edge is said to be active only if they are wet. We indicate the layer containing the bottom with the index \(m_j\) and that one crossed by the free surface with \(M_j^n\), and hence, the total number of active layers on the generic edge \(\lambda _j\) is given by \(N_{z,j}^n = M_j^n - m_j + 1\). If no water is present on edge \(\lambda _j\), then \(N_{z,j}^n = 0\) and the edge is dry. In this context, we consider solid transport due to suspended sediments, but erosion and deposition mechanisms are not taken into account, and thus, \(m_j\) remains constant in time. Finally, in Fig. 4, we present the staggered definition of the variables appearing in the mathematical models (1)–(4) and (7):

  • the free surface \(\eta _i^n\) is evaluated for every cell \(P_i\) at center \(\mathbf {c}_{i}\);

  • the bottom topography \(h_j\) and the total water depth \(H_j^n\) are located on each edge \(\lambda _j\);

  • instead of storing the horizontal velocity components u and v as two separate variables, they are replaced by the velocity \(u_{j,k}^n\), defined at the intersection point between the segment \(\delta _j\) and the edge \(\lambda _j\) over the x-y plane and at the midpoint of the kth layer along the vertical direction. It is, furthermore, defined in the normal direction with respect to the edge \(\lambda _j\), pointing in accordance with the grid orientation given by Eq. (8);

  • the vertical velocity component \(w_{i,k+\frac{1}{2}}^n\) lies on the center of element \(P_i\) at height \(z_{i,k+\frac{1}{2}}\);

  • the concentration \(c_{i,k}\) lies on the center of polygon \(P_i\) as the vertical velocity but at height \(z_{i,k}\).

We are now ready to give the details of the space and time discretization.

Fig. 4
figure 4

Staggered three-dimensional control volume \(P_i \times \Delta z_i^n\)

3.2 Space and Time Discretization

The space and time discretization for the fluid phase is given along the lines of [24] and reads as follows:

$$\begin{aligned} u_{j,k}^{n+1}&=Fu_{j,k}^{n} - g\frac{\Delta t}{\delta _j}\left( \eta _{R(j)}^{n+1}-\eta _{L(j)}^{n+1}\right) \nonumber \\&\qquad + \nu \frac{\Delta t}{\Delta z^{n}_{j,k}} \left( \frac{u^{n+1}_{j,k+1}-u^{n+1}_{j,k}}{\Delta z^{n}_{j,k+\frac{1}{2}}}-\frac{u^{n+1}_{j,k}-u^{n+1}_{j,k-1}}{\Delta z^{n}_{j,k-\frac{1}{2}}} \right) , \end{aligned}$$
(9)
$$\begin{aligned} \eta _{i}^{n+1}&=\eta _{i}^{n}-\frac{\Delta t}{|P_i|}\sum _{\lambda _j \in \partial P_i}\left( |\lambda _{j}| \sigma _{i,j}\sum _{k=m_j}^{M_j^n}\Delta z^{n}_{j,k}u^{n+1}_{j,k}\right) . \end{aligned}$$
(10)

In the above equations, velocity, pressure, and vertical viscosity are discretized implicitly, while the convective and diffusive terms are computed explicitly. One consequently expects that the stability of the scheme depends only on the discretization of the nonlinear convective and the horizontal viscosity terms. Moreover, as it can be seen from (9), the horizontal momentum Eqs. (2)–(3) are reduced to the sole solution of the velocity in the normal direction \(\mathbf {n}_j\) for each computational edge \(\lambda _j\) and each active layer k. A semi-implicit finite-difference discretization is adopted for the momentum, i.e., for \(u_{j,k}^{n+1}\), while a mass-conservative finite volume scheme is used for the evolution of the free surface \(\eta _{i}^{n+1}\). In addition, \(|\lambda _j|\) denotes the length of the jth edge, \(|P_i|\) the area of the Voronoi polygon \(P_i\) on the x-y plane, and \(\Delta t = t^{n+1} - t^n\) the current time step. The term \(Fu_{j,k}^{n}\) indicates an explicit finite-difference operator for the discretization of the nonlinear convective and horizontal viscous components. The details of it are given in the next Sect. 4.2. Systems (9)–(10) are solved by inserting the momentum Eq. (9) into the free surface Eq. (10), yielding a linear system in which the pressure \(\eta _i^{n+1}\) is the only unknown. The matrix of this system is symmetric and positive definite, and thus, the conjugate gradient method can be used for efficiently computing the free surface elevation at the next time level. Once \(\eta _i^{n+1}\) has been determined for every \(i\in [1,N_\mathrm{P}]\), the horizontal normal velocities \(u_{j,k}^{n+1}\) are updated from Eq. (9). The finite volume discretization of the continuity Eq. (1) is finally used to update the velocity in the vertical direction as

$$\begin{aligned} w^{n+1}_{i,k+\frac{1}{2}}=w^{n+1}_{i,k-\frac{1}{2}}-\frac{1}{|P_i|}\sum _{\lambda _j \in \partial P_i}{|\lambda _{j}| \sigma _{i,j} \Delta z_{j,k}^{n}u^{n+1}_{j,k}}, \end{aligned}$$
(11)

hence ensuring mass conservation. This concludes the fluid-phase time evolution. We discuss now the discretization of the solid phase expressed by Eq. (7). This reads

$$\begin{aligned} c_{i,k}^{n+1} = Fc_{i,k}^{n} + e_v \frac{\Delta t}{\Delta z_{i,k}^{n}} \Bigg(\frac{c_{i,k+1}^{n+1} - c_{i,k}^{n+1}}{\Delta z_{i,k+\frac{1}{2}}^{n}} - \frac{c_{i,k}^{n+1} - c_{i,k-1}^{n+1}}{\Delta z_{i,k-\frac{1}{2}}^{n}} \Bigg). \end{aligned}$$
(12)

In the above equation, \(Fc_{i,k}^{n}\) is an explicit finite-difference operator for the discretization of the nonlinear convective and horizontal viscous terms analogous to the one used for determining the time evolution of the velocity field for the fluid phase. However, as opposite to (9), the unknown \(c_{i,k}^{n+1}\) lies in the middle of each z-layer in the vertical direction and, on the x-y plane, in the two-dimensional cell center, while the velocity field is defined on the edges \(\lambda _j\) of the Voronoi elements on the same x-y plane.

Since the discrete operators \(Fu_{j,k}^{n}\) and \(Fc_{i,k}^{n}\) are given by a semi-Lagrangian approach [22], they do not require any particular CFL condition to be stable. Indeed, the time step limitations are only imposed by the diffusion coefficients for both phases in the horizontal direction. We then have

$$\begin{aligned} \Delta t \leqslant \frac{l_{\rm{min}}^2}{4 \max {\{\nu ,e_{h}\}}}, \end{aligned}$$
(13)

where \(l_{\min } = \min {\sqrt{|P_i|}}\) is the minimum incircle diameter of the entire computational mesh and \((e_h,\nu )\) are the horizontal diffusion coefficients of the solid and fluid phases, respectively.

Let observe that Eqs. (9) and (10) are coupled. Thus, in principle, one needs to solve the resulting system by means of iterative methods. However, due to the semi-implicit structure imposed, the problem can be strongly simplified. Let us start by introducing the following notations:

$$\begin{aligned} \mathbf {\mathbf {U}}^{n+1}_j&= \begin{bmatrix} u_{j,m_j}^{n+1} \\ \vdots \\ u_{j,k}^{n+1} \\ \vdots \\ u_{j,M^n_j}^{n+1} \\ \end{bmatrix}, \quad \mathbf {U}^{n}_j = \begin{bmatrix} u_{j,m_j}^{n} \\ \vdots \\ u_{j,k}^{n} \\ \vdots \\ u_{j,M^n_j}^{n} \\ \end{bmatrix}, \quad \mathbf {C}^{n+1}_i = \begin{bmatrix} c_{i,m_i}^{n+1} \\ \vdots \\ c_{i,k}^{n+1} \\ \vdots \\ c_{i,M^n_i}^{n+1} \\ \end{bmatrix}, \quad \mathbf {\Delta Z}^{n}_j = \begin{bmatrix} \Delta z_{j,m_j}^{n} \\ \vdots \\ \Delta z_{j,k}^{n} \\ \vdots \\ \Delta z_{j,M^n_j}^{n} \\ \end{bmatrix}, \\ \mathbf {A}^n_{j}&= \begin{bmatrix} \quad \Delta z^{n}_{j,m_j} + \nu \frac{\Delta t}{\Delta z^{n}_{j,m_j+\frac{1}{2}}} &{} -\nu \frac{\Delta t}{\Delta z^{n}_{j,m_j+\frac{1}{2}}} &{} 0 \\ &{} \vdots &{} \\ -\nu \frac{\Delta t}{\Delta z^{n}_{j,k-\frac{1}{2}}} &{} \quad \Delta z^{n}_{j,k} + \nu \frac{\Delta t}{\Delta z^{n}_{j,k-\frac{1}{2}}} + \nu \frac{\Delta t}{\Delta z^{n}_{j,k+\frac{1}{2}}} &{} -\nu \frac{\Delta t}{\Delta z^{n}_{j,k+\frac{1}{2}}} \\ &{} \vdots &{} \\ 0 &{} -\nu \frac{\Delta t}{\Delta z^{n}_{j,M_j^n-\frac{1}{2}}} &{} \Delta z^{n}_{j,M_j^n} + \nu \frac{\Delta t}{\Delta z^{n}_{j,M_j^n-\frac{1}{2}}} \\ \end{bmatrix}, \\ \mathbf {A}^n_{i}&= \begin{bmatrix} \Delta z_{i,m_i}^n + e_{v} \frac{\Delta t}{\Delta z_{i,m_i+\frac{1}{2}}^n} &{} - e_{v} \frac{\Delta t}{\Delta z_{i,m_i+\frac{1}{2}}^n} &{} 0 \\ &{} \vdots &{} \\ - e_{v} \frac{\Delta t}{\Delta z_{i,k-\frac{1}{2}}^n} &{} \Delta z_{i,k}^n + e_{v} \frac{\Delta t}{\Delta z_{i,k-\frac{1}{2}}^n} + e_{v} \frac{\Delta t}{\Delta z_{i,k+\frac{1}{2}}^n} &{} - e_{v} \frac{\Delta t}{\Delta z_{i,k+\frac{1}{2}}^n} \\ &{} \vdots &{} \\ 0 &{} - e_{v} \frac{\Delta t}{\Delta z_{i,M_i^n-\frac{1}{2}}^n} &{} \Delta z_{i,M_i^n}^n + e_{v} \frac{\Delta t}{\Delta z_{i,M_i^n-\frac{1}{2}}^n} \\ \end{bmatrix}, \\ \mathbf {T}^{n}_i&= \begin{bmatrix} \Delta z^{n}_{i,m_i} Fc_{i,m_i}^{n} \\ \vdots \\ \Delta z^{n}_{i,k} Fc_{i,k}^{n} \\ \vdots \\ \Delta z^{n}_{i,M_i^n} Fc_{i,M_i^n}^{n} \\ \end{bmatrix}, \qquad \qquad \mathbf {G}^{n}_j = \begin{bmatrix} \Delta z^{n}_{j,m_j} \left( Fu^{n}_{j,m_j} \right) \\ \vdots \\ \Delta z^{n}_{j,k} \left( Fu^{n}_{j,k} \right) \\ \vdots \\ \Delta z^{n}_{j,M_j^n} \left( Fu^{n}_{j,M_j^n} \right) \\ \end{bmatrix}. \end{aligned}$$

Using the above definitions, the equations for the time evolution of the fluid phase (9) and (10) can be rewritten in the compact matrix-vector form as

$$\begin{aligned} \mathbf {A}_j^n \mathbf {U}_{j}^{n+1}&= \mathbf {G}_{j}^{n} { - g\frac{\Delta t}{\delta _{j}}\left( \eta _{R(j)}^{n+1}-\eta _{L(j)}^{n+1}\right) \mathbf {\Delta Z}_j^n}, \end{aligned}$$
(14)
$$\begin{aligned} \eta _{i}^{n+1}&=\eta _{i}^{n}-\frac{\Delta t}{|P_i|}\sum _{\lambda _j \in \partial P_i} |\lambda _{j}| \sigma _{i,j} (\mathbf {\Delta Z}_j^n)^{\text{T}} \mathbf {U}^{n+1}_{j}, \end{aligned}$$
(15)

where, for completeness, one has to introduce inside the matrix \({\mathbf A_j^n}\) the bottom and free surface boundary conditions. These are, respectively, \(u_{j,m_j-\frac{1}{2}} = 0\) and \(w_{i,m_i-\frac{1}{2}} = 0\), corresponding to impose no-slip conditions on the bottom. On the free surface, we set \(\frac{\partial u_{j,M_j^n+\frac{1}{2}}}{\partial z} = 0\), that is equivalent to demand zero stress. Now, by plugging Eq. (14) into Eq. (15), we obtain

$$\begin{aligned}&\eta _{i}^{n+1} {-g\frac{\Delta t^2}{|P_i|}\sum _{\lambda _j \in \partial P_i}\frac{|\lambda _{j}| \sigma _{i,j}}{\delta _{j}} \left[ \left( \Delta \mathbf{Z} \right)^{\text{T}}{} \mathbf{A}^{-1}\Delta \mathbf{Z} \right]^{n}_{j}\left( \eta _{R(j)}^{n+1}-\eta _{L(j)}^{n+1}\right) } \nonumber \\&\quad = \eta _{i}^{n} - \frac{\Delta t}{|P_i|}\sum _{\lambda _j \in \partial P_i} |\lambda _{j}| \sigma _{i,j} \left[ \mathbf {\Delta Z}^{\text{T}} \mathbf {A}^{-1} \mathbf {G}\right]^n_j. \end{aligned}$$
(16)

Equation (16) constitutes a linear, sparse, symmetric, and positive definite system of \(N_p\) (the number of elements) equations for \(\eta _i^{n+1}\), and one can resolve it by standard linear algebra tools such as the conjugate gradient method. Once the free surface has been updated, Eq. (14) for the momentum yields a tridiagonal linear system for \(u_{j,k}^{n+1}\). Finally, one uses the discretization of the continuity Eq. (11) to obtain the new vertical velocity component \(w_{i,k+\frac{1}{2}}^{n+1}\), after imposing \(w_{m_i-\frac{1}{2}}^{n+1}\), i.e., no-slip boundary conditions.

Once the velocity and pressure fields at time \(n+1\) are known, the solution of the solid phase can be computed. Using the matrix notation as done for the fluid system, Eq. (12) becomes

$$\begin{aligned} \mathbf {A}_i^n \mathbf {C}_{i}^{n+1} = \mathbf {T}_{i}^{n}. \end{aligned}$$
(17)

This corresponds once again to the solution of a tridiagonal linear system for each water column and Thomas algorithm is used to obtain the concentration distribution values \(c_{i,k}^{n+1}\) at the next time level.

3.3 Interaction Between Fluid and Solid Phases

Equations (1)–(4) with (7) are only able to describe the evolution of free surface flows containing a scalar passive quantity advected at the speed of the fluid. This means that no interaction between fluid and solid phases has been considered so far apart from the introduction of the settling velocity \(w_{\rm s}\) which constitutes a first step towards the coupling of both fluid and sediments. The next step that we briefly detail in this paragraph is to introduce a term which causes the fluid to be affected by the sediments. In particular, we follow the lines of [12, 34, 35] where sediment-driven flows have been considered in a sort of shallow water model for the fluid phase. The main modification with respect to Eqs. (1)–(4) consists in a new pressure gradient in the momentum equations which takes into account the presence of suspended sediments. The new model reads

$$\begin{aligned}&\dfrac{\partial u}{\partial t} + u\dfrac{\partial u}{\partial x} + v\dfrac{\partial u}{\partial y} + w\dfrac{\partial u}{\partial z} = - g \dfrac{\partial \eta }{\partial x} (1 + Rc) + \nu \left( \dfrac{\partial^2 u}{\partial x^2} + \dfrac{\partial^2 u}{\partial y^2} + \dfrac{\partial^2 u}{\partial z^2} \right) , \end{aligned}$$
(18)
$$\begin{aligned}&\dfrac{\partial v}{\partial t} + u\dfrac{\partial v}{\partial x} + v\dfrac{\partial v}{\partial y} + w\dfrac{\partial v}{\partial z} = - g \dfrac{\partial \eta }{\partial y} (1 + Rc) + \nu \left( \dfrac{\partial^2 v}{\partial x^2} + \dfrac{\partial^2 v}{\partial y^2} + \dfrac{\partial^2 v}{\partial z^2} \right) , \end{aligned}$$
(19)

where \(R>0\) represents a constant coefficient that measures the interaction between water and sediment, while c is the concentration of sediments. Analytical expressions for R can be found in the literature, as, for instance, in [12, 34, 35], and typically, they are concerned with a function \(R = R(\rho ,\rho _{\rm s})\), which then depends on the water and sediment density, \(\rho \) and \(\rho _{\rm s}\), respectively. Assuming the density of the water constant and fixed, R is monotone increasing with the density \(\rho _{\rm s}\). An explicit discretization of the correction term \(1 + Rc\) in the horizontal momentum Eq. (9) yields

$$\begin{aligned} u_{j,k}^{n+1}&=Fu_{j,k}^{n} - g\frac{\Delta t}{\delta _j}\left( \eta _{R(j)}^{n+1}-\eta _{L(j)}^{n+1}\right) \left[ 1 + \frac{1}{2}R\left( c_{R(j),k}^{n}+c_{L(j),k}^{n}\right) \right] \nonumber \\&\quad + \nu \frac{\Delta t}{\Delta z^{n}_{j,k}} \left( \frac{u^{n+1}_{j,k+1}-u^{n+1}_{j,k}}{\Delta z^{n}_{j,k+\frac{1}{2}}}-\frac{u^{n+1}_{j,k}-u^{n+1}_{j,k-1}}{\Delta z^{n}_{j,k-\frac{1}{2}}} \right) . \end{aligned}$$
(20)

The concentration is computed on the common edge \(\lambda _j\) at the layer height \(z_k\) by a simple arithmetic average between the neighbor elements R(j) and L(j). From this relation, it is easy to deduce that the greater the density of the sediments and the concentration are, the greater the effects of the correction term on the pressure are present. As a consequence, horizontal and vertical velocities are affected as well, thus involving a modification of the entire momentum field. From the numerical point of view, the pressure correction \(1+Rc\) can be conveniently embedded in the governing equations as a coefficient that multiplies the implicit pressure gradient given by \(\eta _{R(j)}^{n+1}-\eta _{L(j)}^{n+1}\). In this way, the time pressure wave Eq. (16) can be solved following the same path detailed in the previous paragraph without further modifications. Finally, the interaction term can be neglected by simply assuming \(R=0\), thus recovering the initial model with a passive sediment. Evidences about the effects of this correction term for the pressure in the modified momentum Eq. (20) will be numerically shown in Sect. 5.6.

4 High-Order Reconstruction Procedure

In this part, we describe how in practice the operators \(Fu_{j,k}^n\) and \(Fc_{i,k}^{n}\), defined, respectively, in Eqs. (9) and (12), are computed. We recall that these terms discretize the convective terms (respectively, nonlinear and linear) and the horizontal viscosity terms present in the momentum Eqs. (2)–(3) and in the equation for the sediment transport (7). The idea is to use a semi-Lagrangian strategy for these parts of the system. This requires a backward integration of the Lagrangian trajectories to find the foot of the characteristic for each unknown and, at the same time, a reconstruction of the transported quantity to evaluate the unknown function at this position. The numerical scheme presented so far makes use of pointwise horizontal velocity components \(u_{j,k}^{n+1}\), vertical velocity components \(w_{i,k+\frac{1}{2}}^{n+1}\), and concentrations \(c_{i,k}^{n+1}\). Therefore, in the next section, we discuss a reconstruction procedure which permits to obtain a high-order description of the velocity field and of the sediment concentration within each computational cell. The details of the semi-Lagrangian technique will be instead given in Sect. 4.2.

4.1 Three-Dimensional Polynomial Reconstruction and L2 Projection Operator

The high-order description of the velocity field and of the concentration distribution is obtained by means of a polynomial reconstruction procedure. Within each control active volume \(V_{i,k} = P_i \times \left[ z_{k-\frac{1}{2}}^n, z_{k+\frac{1}{2}}^n \right] \) is thus defined a three-dimensional polynomial function of degree N, which allows to recover a reconstructed solution of accuracy \((N + 1)\) at a generic point \(\mathbf {x}_p = (x_p,y_p,z_p)\), inside the cell where \(\mathbf {x}_p\) is located. These polynomials are defined at each time step exploiting the knowledge of the solution at time n.

We start by discussing a three-dimensional decoupled reconstruction strategy introduced in [9, 10]. This is based on two subsequent steps. The first step consists in reconstructing both the velocity field and the sediment concentration on the horizontal plane x-y for each active layer k producing the high-order two-dimensional polynomials \(\bar{\mathbf {u}}^{{n}}_{i,k}({x,y})\), \(\bar{\mathbf {w}}^{{n}}_{i,k+\frac{1}{2}}({x,y})\), \(\bar{\mathbf {c}}^{{n}}_{i,k}({x,y})\). Successively, the second step is concerned with a reconstruction along the z-direction based on a Lagrange interpolation. This second procedure uses the two-dimensional polynomials obtained in the first step. In general, the choice of a decoupled reconstruction for the horizontal and the vertical flow directions allows the scheme to be computationally less expensive compared to a fully three-dimensional reconstruction, and for this reason, it is employed here.

The two-dimensional reconstruction polynomials in the x-y plane are expressed by a normalized Taylor series of degree N using the pointwise values furnished by the scheme at time n, that is,

$$\begin{aligned}&\bar{\mathbf {u}}^n_{i,k}(x,y)= \left\{ \begin{array}{c} u_{i,k}^n(x,y) \\ v_{i,k}^n(x,y) \end{array}\right. \nonumber \\&\quad\quad\quad\,\,= \sum _{p+q+r \leqslant N} \frac{\left( x-x_i\right)^p}{p! \, l_i^p} \frac{\left( y-y_i\right)^q}{q! \, l_i^q} \cdot \frac{\partial^{p+q}}{\partial x^p \partial y^q} \bar{\mathbf {u}}^n_{i,k}, \end{aligned}$$
(21)
$$\begin{aligned}&\bar{\mathbf {w}}^n_{i,k+\frac{1}{2}}(x,y)&= \sum _{p+q+r \leqslant N} \frac{\left( x-x_i\right)^p}{p! \, l_i^p} \frac{\left( y-y_i\right)^q}{q! \, l_i^q} \cdot \frac{\partial^{p+q}}{\partial x^p \partial y^q} \bar{w}^n_{i,k+\frac{1}{2}} , \end{aligned}$$
(22)
$$\begin{aligned}&\bar{\mathbf {c}}^n_{i,k}(x,y)&= \sum _{p+q+r \leqslant N} \frac{\left( x-x_i\right)^p}{p! \, l_i^p} \frac{\left( y-y_i\right)^q}{q! \, l_i^q} \cdot \frac{\partial^{p+q}}{\partial x^p \partial y^q} \bar{c}^n_{i,k}. \end{aligned}$$
(23)

The term \(l_i=\sqrt{|P_i|}\) denotes the normalizing factor necessary to avoid ill-conditioned reconstruction matrices (see [1] for details) and \(\mathbf {x}_{\text{c}} = (x_i,y_i)\) represents the centroid, that is the center of the Taylor expansion and coincides with the centroid \(\mathbf {c}_i\). Notice that the summation over all terms of the Taylor series explicitly writes

$$\begin{aligned} \sum _{p+q+r \leqslant N} (\cdot ) = \sum _{s=0}^N \sum _{q=0}^s \sum _{p=0}^{q-s} (\cdot )_{p+q=s}, \end{aligned}$$
(24)

and counts a total number of addends \(l=1, \cdots , \mathcal {N}\) with \(\mathcal {N}=\frac{(N+1)(N+2)}{2}\). These are nothing but the degrees of freedom of a polynomial of degree N along each spatial direction, and thus, it follows that the reconstruction polynomials (21)–(23) can be written in compact notation by adopting the following expansions:

$$\begin{aligned} \bar{\mathbf {u}}^n_{i,k}(x,y):= & {} \psi _l \, \hat{\mathbf {u}}_{i,k}^l, \end{aligned}$$
(25)
$$\begin{aligned} \bar{\mathbf {w}}^n_{i,k+\frac{1}{2}}(x,y):= & {} \psi _l \, \hat{\mathbf {w}}^l_{i,k+\frac{1}{2}}, \end{aligned}$$
(26)
$$\begin{aligned} \bar{\mathbf {c}}^n_{i,k}(x,y):= & {} \psi _l \, \hat{\mathbf {c}}^l_{i,k}, \end{aligned}$$
(27)

where Einstein summation convention is adopted implying summation over repeated indexes. The unknown expansion coefficients are given by the space derivatives of the polynomials to be constructed,

$$\begin{aligned}&\hat{\mathbf {u}}_{i,k}^l\!\!:=\frac{\partial^{p+q}}{\partial x^p \partial y^q} \bar{\mathbf {u}}^n_{i,k}&\text {with}\,\, &l \in [1,2\mathcal {N}],&\end{aligned}$$
(28)
$$\begin{aligned}&\hat{\mathbf {w}}^l_{i,k+\frac{1}{2}}\!\!:= \frac{\partial^{p+q}}{\partial x^p \partial y^q} \bar{w}^n_{i,k+\frac{1}{2}}&\text {with}\,\, &l \in [1,\mathcal {N}],&\end{aligned}$$
(29)
$$\begin{aligned}&\hat{\mathbf {c}}^l_{i,k}\!\!:= \frac{\partial^{p+q}}{\partial x^p \partial y^q} \bar{c}^n_{i,k}&\text {with}\,\, &l \in [1,\mathcal {N}].&\end{aligned}$$
(30)

In the above formulae, the basis functions are denoted by \(\psi _l\) and are piecewise polynomials belonging to \(\mathbb {P}^N\). Let observe that the degrees of freedom \(\hat{\mathbf {u}}_{i,k}^l\) for the horizontal velocity count twice the number \(\mathcal {N}\), because two spatial directions are involved, according to (21). Let us note that, for the horizontal velocity and for the concentration, the polynomials are defined at the height level \(z_{i,k}^n\), whereas the vertical velocity is defined at location \(z_{i,k+\frac{1}{2}}^n\) (see Fig. 3 for the definition of the variables in the system).

The unknown coefficients (28)–(30) are then recovered by solving a linear system. This linear system is composed by the values of the functions to be reconstructed on a given stencil. For the horizontal normal velocity, the stencil \(\mathcal {S}_i^{\lambda }\) is composed by a total number \(n_{\mathcal {S}}\) of edges \(\lambda _j\), while for the vertical velocity and for the concentration, we consider the entire cells \(P_j\) to construct the stencil \(\mathcal {S}^P_i\). Typically, due to the unstructured nature of the mesh, the number of elements composing the stencil is bigger than the necessary minimum number \(\mathcal {N}\) of unknown expansion coefficients required to obtain the formal order of accuracy \((N+1)\). In particular, to perform our reconstruction, a safety factor of 2 is adopted, and hence, we set \(n_{\mathcal {S}}=4 {\mathcal {N}}\) for Eq. (28) and \(n_{\mathcal {S}}=2{\mathcal {N}}\) for Eqs. (29)–(30), so that an overdetermined system is obtained. For those cells lying on physical boundaries, the reconstruction stencil results in a one-sided stencil composed by elements inside the computational domain. The conditions to be fulfilled by the reconstruction polynomials are that conservation holds true in each of the cells composing the stencils [7, 28],

$$\begin{aligned} \frac{1}{|\lambda _{j}|} \int _{\lambda _j}{ \bar{\mathbf {u}}^n_{i,k}(x,y) \, \cdot \mathbf {n}_j \, \mathrm{d}s }= & {} u^n_{j,k}, \qquad \forall \lambda _j \in \mathcal {S}^\lambda _i, \end{aligned}$$
(31)
$$\begin{aligned} \frac{1}{|P_j|} \int _{P_j}{\bar{\mathbf {w}}^n_{i,k+\frac{1}{2}}(x,y) \, \mathrm{d}A }= & {} w^n_{j,k+\frac{1}{2}}, \qquad \forall P_j \in \mathcal {S}^P_i, \end{aligned}$$
(32)
$$\begin{aligned} \frac{1}{|P_j|} \int _{P_j}{\bar{\mathbf {c}}^n_{i,k}(x,y) \, \mathrm{d}A }= & {} c^n_{j,k}, \qquad \forall P_j \in \mathcal {S}^P_i, \end{aligned}$$
(33)

where integrals are computed using Gaussian quadrature rules of suitable order of accuracy, see [42]. As already stated, by construction, the resulting system is overdetermined. Thus, a solution can be found, in general, by solving it in the least square sense. Unfortunately, this inevitably leads to loss of conservation issues, since Eqs. (31)–(33) cannot be anymore solved exactly. This problem can be overcome by adding a linear constraint to the system,

$$\begin{aligned} \frac{1}{|\lambda _{j}|} \int _{\lambda _j}{ \bar{\mathbf {u}}^n_{i,k}(x,y) \, \cdot \mathbf {n}_j \, \mathrm{d}s }= & {} u^n_{j,k}, \qquad \forall \lambda _j \in \partial P_i, \end{aligned}$$
(34)
$$\begin{aligned} \frac{1}{|P_j|} \int _{P_j}{\bar{\mathbf {w}}^n_{i,k+\frac{1}{2}}(x,y) \, \mathrm{d}A }= & {} w^n_{j,k+\frac{1}{2}} \qquad \text {for} \quad j=i, \end{aligned}$$
(35)
$$\begin{aligned} \frac{1}{|P_j|} \int _{P_j}{\bar{\mathbf {c}}^n_{i,k}(x,y) \, \mathrm{d}A }= & {} c^n_{j,k} \qquad \text {for} \quad j=i. \end{aligned}$$
(36)

The role of the above constraints is to require that the reconstructed polynomials exactly match at least the pointwise values of the unknowns on the polygon \(P_i\) where they are defined. To enter the details, the unknown coefficients of the Taylor expansion to be determined can now be conveniently written in vector notation as

$$\begin{aligned} \mathbf {U}^{\rm{T}} =&\hat{\mathbf {u}}_{i,k}^l= \left( \bar{u}, \bar{u}_{x}, \bar{u}_{y}, \bar{u}_{xx}, \bar{u}_{xy}, \bar{u}_{yy}, \cdots, \bar{v}, \bar{v}_{x}, \bar{v}_{y}, \bar{v}_{xx}, \bar{v}_{xy}, \bar{v}_{yy}, \cdots \right) _{i,k}^n, \end{aligned}$$
(37)
$$\begin{aligned} \mathbf {W}^{\rm{T}} =&\hat{\mathbf {w}}^l_{i,k+\frac{1}{2}}= \left( \bar{w}, \bar{w}_{x}, \bar{w}_{y}, \bar{w}_{xx}, \bar{w}_{xy}, \bar{w}_{yy}, \cdots \right) _{i,k+\frac{1}{2}}^n, \end{aligned}$$
(38)
$$\begin{aligned} \mathbf {C}^{\rm{T}} =&\hat{\mathbf {c}}^l_{i,k}= \left( \bar{c}, \bar{c}_{x}, \bar{c}_{y}, \bar{c}_{xx}, \bar{c}_{xy}, \bar{c}_{yy}, \cdots \right) _{i,k}^n. \end{aligned}$$
(39)

This leads to three overdetermined linear systems which can be formulated in matrix form as

$$\begin{aligned}&\left\{ \begin{array}{l} \mathbf {R}_u \mathbf {U}= \mathbf {B}_u^n, \\ \mathbf {E}_u \mathbf {U}= \mathbf {D}_u \mathbf {B}_u^n, \end{array} \right. \end{aligned}$$
(40)
$$\begin{aligned}&\left\{ \begin{array}{l} \mathbf {R}_w \mathbf {W}= \mathbf {B}_w^n, \\ \mathbf {E}_w \mathbf {W}= \mathbf {D}_w \mathbf {B}_w^n, \end{array} \right. \end{aligned}$$
(41)
$$\begin{aligned}&\left\{ \begin{array}{l} \mathbf {R}_c \mathbf {C}= \mathbf {B}_c^n, \\ \mathbf {E}_c \mathbf {C}= \mathbf {D}_c \mathbf {B}_c^n, \end{array} \right. \end{aligned}$$
(42)

where their relative linear constraints also appear in the second rows. In the above expressions, \(\mathbf {R}_u\), \(\mathbf {R}_w\), and \(\mathbf {R}_c\) are the reconstruction matrices depending on the chosen Taylor expansion which can be pre-computed once for all offline (since they are simple geometric objects), whereas \(\mathbf {B}_u^n\), \(\mathbf {B}_w^n\), and \(\mathbf {B}_c^n\) are the right hand-side vectors containing the cell values of velocities and concentrations that change at every time step. The second rows in Eqs. (40)–(42) correspond to the matrix form of the linear constraint condition. Finally, using a constrained least square approach, one gets

$$\begin{aligned}&\left( \begin{array}{c} \mathbf {U}\\ \varvec{\zeta } \end{array} \right) = \left( \begin{array}{cc} 2 \mathbf {R}_u^{\rm{T}} \mathbf {R}_u &{} -\mathbf {E}_u^{\rm{T}} \\ \mathbf {E}_u &{} \mathbf {0} \end{array} \right)^{-1} \left( \begin{array}{c} 2 \mathbf {M}_u^{\rm{T}} \\ \mathbf {D}_u \end{array} \right) \, \mathbf {B}_u^n, \end{aligned}$$
(43)
$$\begin{aligned}&\left( \begin{array}{c} \mathbf {W}\\ \varvec{\mu } \end{array} \right) = \left( \begin{array}{cc} 2 \mathbf {R}_w^{\rm{T}} \mathbf {R}_w &{} -\mathbf {E}_w^{\rm{T}} \\ \mathbf {E}_w &{} \mathbf {0} \end{array} \right)^{-1} \left( \begin{array}{c} 2 \mathbf {M}_w^{\rm{T}} \\ \mathbf {D}_w \end{array} \right) \, \mathbf {B}_w^n, \end{aligned}$$
(44)
$$\begin{aligned}&\left( \begin{array}{c} \mathbf {C}\\ \varvec{\chi } \end{array} \right) = \left( \begin{array}{cc} 2 \mathbf {R}_c^{\rm{T}} \mathbf {R}_w &{} -\mathbf {E}_c^{\rm{T}} \\ \mathbf {E}_c &{} \mathbf {0} \end{array} \right)^{-1} \left( \begin{array}{c} 2 \mathbf {M}_c^{\rm{T}} \\ \mathbf {D}_c \end{array} \right) \, \mathbf {B}_c^n, \end{aligned}$$
(45)

where \(\varvec{\zeta }\), \(\varvec{\mu }\), and \(\varvec{\chi }\) are the vectors of Lagrange multipliers used to enforce the linear constraints.

The reconstruction can be extended to the vertical direction as well, starting from the two-dimensional polynomials on the horizontal plane and relying on one-dimensional Lagrange polynomials along the z-direction. Due to the staggered grid discretization, we have to deal with two different situations. In particular, we define two different reconstruction stencils consisting of \((N+1)\) values. The first, \(S_{i,k}\), is used for the horizontal velocities and the sediment concentration, and is defined at height \(z_k\), the second, \(S_{i,k+\frac{1}{2}}\), is used for the vertical velocity and is defined at level \(z_{k+\frac{1}{2}}\). Thus, we obtain a continuous three-dimensional representation of the solution as

$$\begin{aligned} \mathbf {v}_{i,k}^n(\mathbf {x})&= \left( \, \sum _{r \in \mathcal {S}^{v,\pm }_{i,k}} L^{v-c}_{k+r}(z) \, \bar{\mathbf {u}}^n_{i,k+r}(x,y), \, \sum _{r \in \mathcal {S}^w_{i,k}} L^w_{k+r}(z) \, \bar{\mathbf {w}}^n_{i,k+r-\frac{1}{2}}(x,y) \, \right) , \end{aligned}$$
(46)
$$\begin{aligned} \mathbf {c}_{i,k}^n(\mathbf {x})&= \sum _{r \in \mathcal {S}^{v,\pm }_{i,k}} L^{v-c}_{k+r}(z) \, \bar{\mathbf {c}}^n_{i,k+r}(x,y) \end{aligned}$$
(47)

with

$$\begin{aligned} L^{v-c,w}_{k+r}(z) = \frac{\prod \limits _{m \ne r} \left( z - z_{k+m} \right) }{\prod \limits _{m \ne r} \left( z_{k+r} - z_{k+m} \right) }, \qquad \forall \, m,r \in \mathcal {S}_{i,k}, \mathcal {S}_{i,k+\frac{1}{2}}, \end{aligned}$$
(48)

where each stencil counts a total number of \(N+1\) layers corresponding to the number of degrees of freedom in one dimension (\(d=1\)).

The decoupled reconstruction procedure described above guarantees high computational efficiency, because it involves a more compact reconstruction stencil compared to a truly three-dimensional reconstruction. Nevertheless, for evaluating the reconstructed value of a quantity (either velocity or concentration) at a generic point \(\mathbf {x}_p\), it would be much more convenient to deal with a polynomial directly defined for \(d=3\), i.e., within each control volume \(V_{i,k}\). This is the reason why we introduce the following three-dimensional polynomials \(\mathbf {u}_{i,k}^{n,3D}(\mathbf {x})\) and \(\mathbf {c}_{i,k}^{n,3D}(\mathbf {x})\) for the velocity vector and the concentration, respectively,

$$\begin{aligned} \mathbf {u}_{i,k}^{n,3D}(\mathbf {x})= & {} \sum _{p+q+r \leqslant N} \frac{\left( x-x_i\right)^p}{p! \, l_{i,k}^p} \frac{\left( y-y_i\right)^q}{q! \, l_{i,k}^q} \frac{\left( z-z_k\right)^r}{r! \, l_{i,k}^r} \cdot \frac{\partial^{p+q+r}}{\partial x^p \partial y^q \partial z^r} \mathbf {u}_{i,k}^{n,3D} \nonumber \\:= & {} \phi _l \, \hat{\mathbf {u}}_{i,k}^{3D,l}, \end{aligned}$$
(49)
$$\begin{aligned} \mathbf {c}_{i,k}^{n,3D}(\mathbf {x})= & {} \sum _{p+q+r \leqslant N} \frac{\left( x-x_i\right)^p}{p! \, l_{i,k}^p} \frac{\left( y-y_i\right)^q}{q! \, l_{i,k}^q} \frac{\left( z-z_k\right)^r}{r! \, l_{i,k}^r} \cdot \frac{\partial^{p+q+r}}{\partial x^p \partial y^q \partial z^r} \mathbf {c}_{i,k}^{n,3D} \nonumber \\:= & {} \phi _l \, \hat{\mathbf {c}}_{i,k}^{3D,l}. \end{aligned}$$
(50)

Here, the normalizing factor is taken to be \(l_{i,k} = (|P_i| \times \Delta z_{i,k}^0)^{\frac{1}{3}}\) with \(\Delta z_{i,k}^0\) being the layer thickness at the initial time \(t=0\), whereas \(\mathbf {x}_{\text{c}} = (x_i,y_i,z_k)\) represents the center of expansion and \(\phi _l\) denotes a set of basis functions in the three-dimensional polynomial space \(\mathbb {P}^N\). The total number of degrees of freedom becomes with this choice,

$$\begin{aligned} \mathcal {M}=\frac{(N+1)(N+2)(N+3)}{6} \end{aligned}$$

for each velocity component in \(\mathbf {u}_{i,k}^{n,3D}\) and for the concentration \(\mathbf {c}_{i,k}^{n,3D}\). The unknowns are then determined relying on an L2 projection operator defined on the control volume \(V_{i,k}\),

$$\begin{aligned}&\int _{V_{i,k}} \phi _k \, \mathbf {u}_{i,k}^{n,3D}(x,y,z) \, \mathrm{d}V = \int _{V_{i,k}} \phi _k \, \bar{\mathbf {v}}^n_{i,k}(\mathbf {x}) \, \mathrm{d}V, \end{aligned}$$
(52)
$$\begin{aligned}&\int _{V_{i,k}} \phi _k \, \mathbf {c}_{i,k}^{n,3D}(x,y,z) \, \mathrm{d}V = \int _{V_{i,k}} \phi _k \, \mathbf {c}_{i,k}^n(\mathbf {x}) \, \mathrm{d}V, \end{aligned}$$
(53)

where \(\phi _k\) are a set of test functions assumed to be equal to the basis functions used in Eqs. (49)–(50). Plugging the approximations (49)–(50) into Eqs. (52)–(53) yields

$$\begin{aligned}&\hat{\mathbf {u}}_{i,k}^{3D,l} = \left( \int _{V_{i,k}} \phi _k \, \phi _l \, \mathrm{d}V \right)^{-1} \int _{V_{i,k}} \phi _k \, \bar{\mathbf {v}}_{i,k}^n(\mathbf {x}) \, \mathrm{d}V, \end{aligned}$$
(54)
$$\begin{aligned}&\hat{\mathbf {c}}_{i,k}^{3D,l} = \left( \int _{V_{i,k}} \phi _k \, \phi _l \, \mathrm{d}V \right)^{-1} \int _{V_{i,k}} \phi _k \, \mathbf {c}_{i,k}^n(\mathbf {x}) \, \mathrm{d}V. \end{aligned}$$
(55)

The integrals appearing in the above formulae are again evaluated using Gaussian quadrature rules of suitable order of accuracy, while the values of the functions on the right-hand side of Eqs. (54)–(55) are computed at each Gauss point by means of the decoupled high-order reconstruction polynomials (46)–(47). The unknown expansion coefficients \(\hat{\mathbf {u}}_{i,k}^{3D,l}\) and \(\hat{\mathbf {c}}_{i,k}^{3D,l}\) can, therefore, be computed.

We will show producing the convergence studies reported in Sect. 5 that the accuracy order of this new three-dimensional polynomials remains equal to \((N+1)\), as in the case of polynomials obtained from the decoupled reconstruction.

4.2 The Conservative Semi-Lagrangian Operators

In this section, we detail the discrete operators \( Fu_ {j, k}^n \) and \( Fc_ {i, k}^n \) contained in Eqs. (9) and (12), which account for the convective and horizontal diffusive terms of the free surface NS model (2)–(3) and the sediment transport model (7), respectively. The semi-Lagrangian approach for these operators reads as

$$\begin{aligned} Fu^{n}_{j,k}&= \left( \frac{1}{|\lambda _{j}^{\rm L}|} \int _{\lambda _j^{\rm{L}}}{ \mathbf {u}^{n,3D}(\mathbf {x}) \, \cdot \mathbf {n}_j \, \mathrm{d}s } \right) + \nu \Delta t \, \nabla^2_h \mathbf {u}(\mathbf {x}^{\rm{L}}_{j,k}) \cdot \mathbf {n}_j, \end{aligned}$$
(56)
$$\begin{aligned} Fc_{i,k}^n= \left( \frac{1}{|P_i^{\rm L}|} \int _{P_i^{\rm L}}{\mathbf {c}}^{n,3D}(\mathbf {x}) \, \mathrm{d}A \right) + e_{h} \Delta t \, \nabla _h^2 c(\mathbf {x}_{i,k}^{\rm{L}}). \end{aligned}$$
(57)

To design a conservative scheme, the three-dimensional control volume \(V_{i,k}^n\) is transported backward in time by integrating the Lagrangian trajectories that depart from all the vertexes that define it, as shown in Fig. 5 for a simplified setting with \(d=2\).

Fig. 5
figure 5

Conservative semi-Lagrangian operator in 2D. (a) The control volume \(P_i\) is traced backward in time to its transported configuration \(P_i^{\rm{L}}\), onto which the transported quantities are integrated in the semi-Lagrangian scheme. The Lagrangian trajectories are computed for all nodes \((m_1,m_2,\cdots )\) which define the control volume. Velocity is integrated along edge \(\lambda _j^{\rm{L}}\), while sediment concentration over the cell \(P_i^{\rm{L}}\). Finally, the horizontal diffusive terms are evaluated at points \(\mathbf {x}^{\rm{L}}_{j,k}\) for velocity and \(\mathbf {x}^{\rm{L}}_{i,k}\) for concentration. (b) Crossing-boundary situation that occurs when a semi-Lagrangian polygon \(P_i^{\rm{L}}\) reaches a generic boundary: integration of velocity and sediment concentration over the dashed control volume is carried out according to the prescribed boundary condition

In this way, the transported volume \(V_{i,k}^{\rm{L}}\) becomes the control volume onto which the transported quantities have to be integrated, namely the velocity field and the sediment concentration. Specifically, in Eq. (56), the horizontal velocity is integrated along the edge \(\lambda _{j}^{\rm{L}}\) of \(V_{i,k}^{\rm{L}}\) at height \(z_{i,k}^{\rm{L}}\), while for the concentration (57), we consider the Voronoi polygon \(P_i^{\rm{L}}\) defined again in \(V_{i,k}^{\rm{L}}\) at level \(z_{i,k}^{\rm{L}}\). Furthermore, \(\mathbf {x}^{\rm{L}}_{j,k}\) and \(\mathbf {x}^{\rm{L}}_{i,k}\) denote, in the new control volumes \(V_{i,k}^{\rm{L}}\), the points where the velocity and the concentration are defined, respectively, at the intersection point between the segment \(\delta _j\) and the edge \(\lambda _j\) over the x-y plane and at the center of the polygon \(P_i\) in the starting volume. These quantities are readily known calculating the feet of the Lagrangian trajectories connected to the vertexes constituting the Voronoi volume and are defined by applying an appropriate numerical integration procedure to the transported control volumes. In particular, what is integrated are the continuous polynomial functions that define the velocity field and the concentration distribution at time n obtained from the three-dimensional reconstruction procedure presented in the previous Sect. 4.1, i.e., polynomials \(\mathbf {u}^{n,3D}(\mathbf {x})\) and \(\mathbf {c}^{n,3D}(\mathbf {x})\). The other two terms appearing in Eqs. (56) and (57), \(\nabla^2_h \mathbf {u}\) and \(\nabla^2_h c\), are suitable discretizations of the horizontal Laplacian operators regarding viscosity and diffusion at the end of the Lagrangian trajectory. For consistency, neglecting convection and horizontal diffusion, formulae (56) and (57) reduce to the identities \( Fu_ {j, k}^n = u_ {j, k}^n \) and \( Fc_ {i, k}^n = c_ {i, k}^n \).

Now, using the reconstructed velocity field, one can numerically integrate the Lagrangian trajectories connected to all the vertexes \((m_1,m_2,\cdots )\) of the mesh element to compute an approximation of the convection terms. To that aim, a generic Lagrangian trajectory \(\mathbf {X}(\tau ;\mathbf {x},\Delta \tau )\) is obtained by solving the following Cauchy problem:

$$\begin{aligned} {\left\{ \begin{array}{ll} \dfrac{\mathrm{d} \mathbf {X}}{\mathrm{d} \tau } = \bar{\mathbf {u}}(\mathbf {X}(\tau ),\tau ), &{}\quad \mathbf {x} \in \Omega (\tau ), \, \tau \in [0,\Delta t]{,} \\ \mathbf {X}(\Delta \tau ;\mathbf {x},\Delta \tau ) = \mathbf {x}, &{} \quad \mathbf {x} \in \varOmega (\tau ), \end{array}\right. } \end{aligned}$$
(58)

where \(\mathbf {X}(\tau ;\mathbf {x},\Delta \tau )\) is the so-called characteristic curve depending on \(\tau \) which passes at time \(\Delta \tau \) by the point \(\mathbf {x}\) and where the velocity vector \(\bar{\mathbf {u}}(\mathbf {x},t)\) is evaluated relying on the high-order three-dimensional velocity field reconstruction given by Eq. (49). The domain \(\varOmega (\tau )\) refers to the fully 3D computational domain crossed by the trajectory \(\mathbf {X}(\tau ;\mathbf {x},\Delta \tau )\). In practice, the condition \(\mathbf {X}(\Delta \tau ;x) = \mathbf {x}\) is fixed in such a way that we look for the curve passing on the generic vertex of the control volume \(\mathbf {x}_{m_1}\) after the time step \(\Delta \tau \). A graphical representation of the above situation is given in Fig. 5 for \(\Delta \tau =\Delta t\). The system (58) is then approximated by means of a high-order Taylor expansion. This permits to write

$$\begin{aligned} \mathbf {X}^{\rm{L}} = \mathbf {x} - \Delta \tau \frac{\mathrm{d} \mathbf {X}}{\mathrm{d}\tau } + \frac{\Delta \tau^2}{2} \frac{\mathrm{d}^2 \mathbf {X}}{\mathrm{d}\tau^2} - \frac{\Delta \tau^3}{6} \frac{\mathrm{d}^3 \mathbf {X}}{\mathrm{d}\tau^3} + \mathcal {O}(\Delta \tau^4). \end{aligned}$$
(59)

In the above expression, \( \mathbf {X}^{\rm{L}}\) corresponds then to the searched foot of the characteristic corresponding to the point \(\mathbf {x}\). Here, to compute the Lagrangian trajectories, we make the hypothesis that \(\bar{u}\) is frozen at time \(\tau \). Extensions of the proposed method to the case of time reconstructions can be obtained following the path discussed in [8]. Under this hypothesis, then, at the aid of the chain rule, the time derivatives in Eq. (59) can be replaced by spatial derivatives that are readily computed from the high-order reconstruction polynomials and permit a direct computation of the foot of the characteristics. This gives in practice,

$$\begin{aligned} \frac{\mathrm{d} \mathbf {X}}{\mathrm{d}\tau } = \mathbf {\bar{u}}( \mathbf {X}(\tau ),\tau ), \qquad \frac{\mathrm{d}^2 \mathbf {X}}{\mathrm{d}\tau^2} = \frac{\partial \mathbf {\bar{u}}}{\partial \mathbf {x}} \frac{\mathrm{d} \mathbf {X}}{\mathrm{d}\tau } = \frac{\partial \mathbf {\bar{u}}}{\partial \mathbf {x}} \mathbf {\bar{u}}, \qquad \frac{\mathrm{d}^3\mathbf {X}}{\mathrm{d}\tau^3} = \frac{\partial^2 \mathbf {\bar{u}}}{\partial \mathbf {x}^2} \mathbf {\bar{u}}\mathbf {\bar{u}}+ \left( \frac{\partial \mathbf {\bar{u}}}{\partial \mathbf {x}}\right)^2 \mathbf {\bar{u}}, \end{aligned}$$
(60)

and consequently,

$$\begin{aligned} \mathbf {X}^{\rm{L}} = \mathbf {x} - \Delta \tau \bar{\mathbf {u}} + \frac{\Delta \tau^2}{2} \left( \frac{\partial \bar{\mathbf {u}}}{\partial \mathbf {x}} \bar{\mathbf {u}} \right) - \frac{\Delta \tau^3}{6} \left( \frac{\partial^2 \bar{\mathbf {u}}}{\partial \mathbf {x}^2} \bar{\mathbf {u}} \bar{\mathbf {u}} + \left( \frac{\partial \bar{\mathbf {u}}}{\partial \mathbf {x}}\right)^2 \bar{\mathbf {u}} \right) + \mathcal {O}(\Delta \tau^4). \end{aligned}$$
(61)

The spatial derivatives appearing in Eq. (60) can be easily evaluated relying on the high-order expansion (49). Indeed, the derivatives are entirely taken into account by the basis functions, that is,

$$\begin{aligned} \frac{\partial {\mathbf {u}_{i,k}^{n,3D}(\mathbf {x})}}{\partial \mathbf {x}}= & {} \left[ \frac{\partial \mathbf {u}_{i,k}^{n,3D}(\mathbf {x})}{\partial x}, \, \frac{\partial \mathbf {u}_{i,k}^{n,3D}(\mathbf {x})}{\partial y}, \, \frac{\partial \mathbf {u}_{i,k}^{n,3D}(\mathbf {x})}{\partial z} \right]^{\rm{T}} \nonumber \\= & {} \sum _{p+q+r \leqslant N} \left[ \begin{array}{c} \frac{p \, \left( x-x_i\right)^{p-1}}{p! \, l_{i,k}^p} \frac{\left( y-y_i\right)^q}{q! \, l_{i,k}^q} \frac{\left( z-z_k\right)^r}{r! \, l_{i,k}^r} \\ \frac{\left( x-x_i\right)^p}{p! \, l_{i,k}^p} \frac{q \, \left( y-y_i\right)^{q-1}}{q! \, l_{i,k}^q} \frac{\left( z-z_k\right)^r}{r! \, l_{i,k}^r} \\ \frac{\left( x-x_i\right)^p}{p! \, l_{i,k}^p} \frac{\left( y-y_i\right)^q}{q! \, l_{i,k}^q} \frac{r \, \left( z-z_k\right)^{r-1}}{r! \, l_{i,k}^r} \end{array} \right] \cdot \frac{\partial^{p+q+r}}{\partial x^p \partial y^q \partial z^r} \mathbf {u}_{i,k}^{n,3D} \nonumber \\= & {} \frac{\partial \phi _l}{\partial \mathbf {x}} \, \hat{\mathbf {u}}_{i,k}^{3D,l}. \end{aligned}$$
(62)

The order of accuracy for the Taylor expansion (59) is chosen to be the same of the order adopted in the reconstruction procedure, so that all high-order terms can be easily evaluated. The numerical integration stops either at the time \(\tau = \Delta t\) or when the physical boundary \(\partial \varOmega \) of the computational domain has been crossed by the characteristic curve. In the latter case, as shown in Fig. 5, the shifted control volume is still computed and consequently subdivided into a physical and a ghost partition, which does not and does exceed the limits of the domain, respectively. The convective operators (56), (57) are formally evaluated in the same manner, integrating the prescribed boundary condition over the ghost partition and the reconstructed numerical solution over the physical partition. Specifically, the flow field is assigned in the case of Dirichlet boundary conditions, while, for periodic boundary conditions, the ghost cells are simply the cells located on the other side of the torus which, by definition, lies inside the domain. Finally, Neumann conditions require the computation of the derivatives, which are reconstructed using only elements inside the domain and no ghost cells are needed.

The time step \(\Delta t\) is given by the stability condition introduced with Eq. (13). In the case in which the sediment transport is considered, we assume \(\bar{\mathbf {u}}(\mathbf {x}) = (u(\mathbf {x}),v(\mathbf {x}),w(\mathbf {x})-w_s)\). It might happen that the shifted control volumes at the foot of the characteristics are degenerate or inverted, even though this is very rare for free surface applications. Nevertheless, a possible remedy to overcome this problem could be to introduce an a posteriori indicator which permits to detect which control volumes do not fulfill some regularity conditions. Then, one can recompute the solution in these volumes by reducing the order of the polynomial reconstruction. Alternatively, one can reduce the time step or remapping the solution over a new grid. The above ideas have not been explored in this work and they will be the subject of future investigations.

The diffusive components \(\nabla^2_h \mathbf {u}\) and \(\nabla^2_h c\) of \(Fu_{j,k}^n\) and \(Fc_{i,k}^n\) are defined at the end of the Lagrangian trajectory. For a generic scalar quantity \(\phi \), the discrete Laplacian is obtained first using Gauss’ theorem,

$$\begin{aligned} \nabla _{i}^2 \phi _k = \frac{1}{|P_i|} \int \limits _{P_i} \nabla \cdot \nabla _h \phi _{k} \, \mathrm{d}A = \frac{1}{|P_i|} \int \limits _{\partial P_i} \nabla _h \phi _{k} \cdot \mathbf {n}_j \, \mathrm{d}s, \end{aligned}$$
(63)

and successively relying on the exact solution of the generalized Riemann problem of the heat equation to discretize the integral Eq. (63). This yields

$$\begin{aligned} \nabla _{i}^2 \phi _k = \frac{1}{|P_i|} \sum _{\lambda _j \in P_i}^{N_j} \left[ \frac{1}{2}\left( \nabla \phi _k^+ + \nabla \phi _k^- \right) \cdot \mathbf {n}_j + \frac{1}{\delta _j \sqrt{\frac{1}{2}\pi } } \left( \phi _k^+ - \phi _k^- \right) \right] , \end{aligned}$$
(64)

where \(\phi _k^-\) corresponds to the reconstructed value onto the boundary \(\partial P_i\) from within the element \(P_i\) and \(\phi _k^+\) is the reconstructed value again onto the boundary \(\partial P_i\) but from the neighbor of \(P_i\). This concludes the description of the numerical method for the fluid phase and the solid phase.

5 Numerical Results

In this section, we present several tests which are used to validate the numerical schemes illustrated previously. Specifically, we focus on analyzing the new conservative semi-Lagrangian schemes proposed to advect the NS equations and for computing the solution of the solid-phase equation. In details, we propose the following numerical tests.

  1. 1)

    Convergence test for the high-order polynomial reconstruction.

  2. 2)

    Convergence test for the semi-Lagrangian method in the zero diffusion case.

  3. 3)

    Convergence test for the semi-Lagrangian method in the zero advection case.

  4. 4)

    Stationary vortex flow for the NS equations.

  5. 5)

    Advection of a sphere of contaminant along a channel.

  6. 6)

    Introduction of sediment into a channel by a point source.

  7. 7)

    Sediment transport into a channel with settling velocity.

  8. 8)

    Gaussian pulse with water-sediment interaction.

If not stated otherwise, we always assume a flat bottom profile set at height \(z=0\), so that the free surface elevation coincides with the total water depth.

5.1 Convergence Study

To check the correct implementation of the high-order 3D reconstruction for the sediment concentration presented in Sect. 4, we assume a smooth initial distribution that reads

$$\begin{aligned} c_0(x,y,z) = \sin \left( \frac{\pi }{2} x \right) \cos \left( \frac{\pi }{2} y \right) \cos \left( \frac{\pi }{2} z \right) . \end{aligned}$$
(65)

The computational domain is the unit cube \(\varOmega = [0,1]^{3}\) that is discretized with a fixed number of active vertical layers \(N_z = 50\). Instead along the x-y plane, each layer is paved with an unstructured Voronoi mesh and a sequence of consecutive values of a refinement factor \(\chi \) are considered. We measure the \(L_1\), \(L_2\), and \(L_{\infty }\) error norms of the reconstruction as

$$\begin{aligned} {\left\{{\begin{matrix} \epsilon _{L_1} = \int _{\varOmega }|(s_{\text{e}}(\mathbf {x})-s_{\text{h}}(\mathbf {x}))| \mathrm{d}\varOmega ,&{} \epsilon _{L_2} = \sqrt{\int _{\varOmega }|s_{\text{e}}(\mathbf {x})-s_{\text{h}}(\mathbf {x})|^{2} \mathrm{d}\varOmega }, \\ \epsilon _{L_\infty } = \max \limits_{\varOmega } |s_{\text{e}}(\mathbf {x})-s_{\text{h}}(\mathbf {x})|, \end{matrix}}\right. } \end{aligned}$$
(66)

where s represents a generic variable for which one wants to measure the error, while \(s_{\text{e}}(\mathbf {x})\) and \(s_{\text{h}}(\mathbf {x})\) denote the exact and the numerical reconstructed solutions for a given mesh size h, respectively. The above integrals are computed by summing the contributions of all the Voronoi active cells \(V_{i,k} \in \varOmega \) where the index \(i \in [1,N_\mathrm{P}]\) identifies the 2D Voronoi polygon and the index \(k \in [1,N_z]\) the vertical layer. Three-dimensional Gaussian quadrature formulae of appropriate order [42] are then applied. The numerical order of accuracy p is evaluated as follows:

$$p={\ln \left( \frac{\epsilon (h_1)}{\epsilon (h_2)}\right) } \Bigg/ {\ln \left( \frac{h_1}{h_2}\right) } $$
(67)

with \(h_2<h_1\). The results are displayed in Table 1. They confirm that the expected theoretical accuracy order has been reached and they validate the high-order reconstruction procedure up to fourth order.

Table 1 Convergence rates and norm of the errors for the reconstruction procedure described in Sect. 4.1. Polynomial functions of first, second, and third degrees are considered

A second convergence study has been implemented to test the effectiveness of the conservative semi-Lagrangian discretization proposed in this article. The initial concentration is the same as the one given in Eq. (65), while for the NS equations, we consider the following initial data:

$$\begin{aligned} \mathbf {u} = (u, v, w) = (1, 0, 0), \qquad \eta = 1 \end{aligned}$$
(68)

corresponding to a uniform flow in longitudinal direction with constant free surface elevation. In addition, we take the diffusion coefficients \((e_h,e_v)=0\) in the solid-phase equation. The exact solution of the NS equations for this set of initial data consists in a free stream with constant velocity \(\mathbf {u}\), while the sediment concentration is advected at the speed of the fluid phase: \(c (x,y,z,t) = c_0 (x - ut,y,z)\). For this problem, we measure the errors produced by the scheme for the solid phase and we report a convergence table analogous to the one presented previously for the polynomial reconstruction by fixing the time step to \(\Delta t = 0.1\). Table 2 shows the obtained results for different polynomial degree N. The convergence rates match the theoretical prediction for all tested polynomial reconstructions.

Table 2 Convergence rates and norm of the errors for the conservative semi-Lagrangian method applied to the sediment transport equation with zero diffusion. Polynomial reconstruction of first, second, and third degrees

We now study the convergence for our numerical scheme for the solid phase in the case in which pure diffusion is present, i.e., \((e_h,e_v)\ne 0\), while the fluid is at rest. In particular, we focus on the case in which the diffusion constant \(e_h\) is different from zero in the longitudinal x-direction and zero otherwise. In this situation, our model for the sediment transport reduces to the one-dimensional heat equation for which we consider the exact solution:

$$\begin{aligned} c(x,t) = \frac{1}{\sqrt{4 \pi e_h t}} \int _{-\infty }^{+\infty } \exp { \left( - \frac{(x - \xi )^2}{4 \, e_h \, t}\right) } g(\xi ) \mathrm{d}\xi, \quad \forall t > 0, \end{aligned}$$
(69)

where g(x) is an arbitrary initial distribution for the concentration. In our case, we assign to g(x) the following Riemann initial datum:

$$\begin{aligned} g(x) = {\left\{ \begin{array}{ll} u_{\text{L}} = 1, &{} \forall \, x \leqslant 0, \\ u_{\text{R}} = 0, &{} \forall \, x > 0 \end{array}\right. } \end{aligned}$$
(70)

with the exact solution

$$\begin{aligned} c(x,t)=\frac{1}{2}\left( u_{\text{R}}+u_{\text{L}}\right) +\frac{1}{2}\text{erf}\left[ \frac{1}{2}\left( \frac{x}{\sqrt{e_h t}}\right) \right] \left( u_{\text{R}}-u_{\text{L}}\right) , \end{aligned}$$
(71)

where \(e_h=10^{-4}\). We consider a square domain in the x-y plane given by \(\varOmega _{xy}\in [-0.5,0.5]^2\), while along the vertical direction, we have \(z \in [0,1]\). This domain is discretized with a uniform mesh spacing of \(\Delta z = 0.2\), equivalent at \(N_z = 5\) in the vertical direction, while different mesh sizes are considered on the plane x-y to produce the convergence results. Figure 6 depicts a one-dimensional cut of the solution at two different instant of time: namely at the beginning of the simulation for \(t=10\) and when the simulation ends at \(t=200\). In both panels, the exact and the computed solutions are compared to each other. We clearly see a good matching between the two profiles even for long times.

Fig. 6
figure 6

One-dimensional solution of the solid-phase equation at time \(t = 10\) on the left and at final time \(t = 200\) on the right with zero advection speed. Comparison against the exact solution

Figure 7 depicts the projection of the same numerical solution of Fig. 6 in different directions.

Fig. 7
figure 7

Numerical distribution at \(t=10\) (left) and at \(t=200\) (right) for the solid-phase equation with zero advection speed. Top: 2D view on x-y plane. Bottom: 3D view

Finally, in Table 3, we report the norm of the errors and the convergence rates obtained by refining the mesh in the x-y plane. Again, the theoretical order of convergence is reached by the numerical scheme for all the tested reconstructions.

Table 3 Convergence rates and norm of the errors for the conservative semi-Lagrangian method applied to the sediment transport equation with diffusion in the longitudinal x-direction and zero advection

5.2 Stationary Vortex

In this part, we consider the NS model and we test the new semi-Lagrangian scheme in the nonlinear case which we use to advect the momentum equation. The test is a stationary vortex with a variable free surface produced by a balance between the pressure gradient and the centrifugal force [9], where viscous terms are neglected. Thanks to the radial symmetry of the problem, the momentum equation in polar coordinates is reduced to a balance between pressure forces and angular velocity. It can then be written as

$$\begin{aligned} \frac{\partial \eta }{\partial r}=\frac{u_{\phi }^{2}}{g r}, \end{aligned}$$
(72)

where \(r=\sqrt{x^2+y^2}\) is the radius and \(u_{\phi }\) the angular velocity. Then, to construct an analytical solution, one needs to balance the centrifugal force. A possible choice consists in adopting the following initial distribution for the angular velocity:

$$\begin{aligned} u_{\phi }= r \exp {\left( -\frac{1}{2}(r^2-1)\right) }, \quad \omega = \frac{u_{\phi }}{r}. \end{aligned}$$
(73)

It is possible to find an explicit expression for the free surface replacing (73) into (72) and integrating over the radial direction. This leads to

$$\begin{aligned} \eta (r) = \int \frac{u_{\phi }^{2}}{gr} \mathrm{d}r = \eta _{\infty }-\frac{1}{2 g} \exp \left( {1-r^{2}}\right) , \end{aligned}$$
(74)

where we assume as integration constant the unperturbed free surface elevation sufficiently far from the vortex center, that is \(\eta _{\infty }= 1\). Figure 8 plots this steady solution for the tangential velocity and for the free surface, respectively. Instead, Fig. 9b shows the same profile for the free surface in a 3D view. In this setting, the computational domain is a circle with \(r = 10\) on the x-y plane, paved with \(N_\mathrm{P} = 9\,511\) polygonal elements, while along the vertical direction, we adopt \(N_z = 10\) vertical layers in the interval \(z \in [0,1]\). We can observe the 2D Voronoi mesh used for this test in Fig. 9a. The final time is \(t = 0.5\) and the time step is chosen to be \(\Delta t = 0.1\). Figure 10 depicts the numerical results produced for the tangential velocity and the free surface at final time \(t=0.5\). For all the three polynomial reconstructions that have been tested, a very good matching between exact and numerical solutions is achieved. Furthermore, a zoom of the free surface is proposed in Fig. 11 where we can observe that the polynomial reconstructions of high order give a better reproduction of the exact solution.

Fig. 8
figure 8

Exact solution for the free surface elevation (left) and the tangential velocity (right) along the radial direction

Fig. 9
figure 9

Two-dimensional Voronoi mesh (left) and steady-state solution for the free surface (right)

Fig. 10
figure 10

Comparison between the numerical solution and the exact steady solution for the free surface elevation and the tangential velocity along the radial direction

Fig. 11
figure 11

Zoom of the solution around the vortex for the velocity field. Comparison of the exact and the computed solution for different polynomial reconstructions

5.3 Advection of a Sphere of Contaminant Over a Channel

This test case aims at showing some qualitative results which couple the solution of the NS model with the equation for the transport of sediment. We assume as the initial condition for the fluid phase a uniform flow in longitudinal direction of unitary velocity, that is the vector \(\mathbf {u}_0 = (u,v,w) = (1,0,0)\), and the water depth \(H_0 = 1\), whereas for the solid phase, we consider that the sediments are initially concentrated within a sphere of radius \(r_{\rm s}=0.2\). We have

$$\begin{aligned} c_0(x,y,z) = {\left\{ \begin{array}{ll} 1 \quad \text {if} \quad (x - 0.5)^2 + (y - 0.5)^2 + (z - 0.5)^2 \leqslant r, \\ 0 \quad \text {otherwise}. \end{array}\right. } \end{aligned}$$
(75)

The computational domain corresponds to a channel of rectangular cross-section which can be observed in Fig. 12. This figure is obtained by cutting the three-dimensional domain at \(y = 0.5\) and it highlights the structure of initial condition for the concentration of sediments. The computational grid on the horizontal domain \(\varOmega _{x,y} = \left\{ \mathbf {x} \in \mathbb {R}^2 | x \in [0,4] \wedge y \in [0,1] \right\} \) is composed by \(N_\mathrm{P}=2\,053\) Voronoi elements, whereas the water column \(H_0\) in the vertical direction is discretized with \(N_z = 20\) layers, yielding the uniform thickness \(\Delta z = 0.05\). The fluid is inviscid and diffusion is set to zero. The time step is fixed to \(\Delta t=0.1\) and the simulation ends at final time \(t = 3.0\).

Figure 13 shows some cross-section views of the results at time \(t=1.5\), while Fig. 14 at \(t=3\). They are compared with the results produced by the numerical scheme presented in [10] in which the semi-Lagrangian method for the terms \(Fu_{j,k}^n\) and \(Fc_{i,k}^n\) was not conservative. The results underline how the conservative version of explicit terms better preserves the solution over the time evolution of the solution. This is of paramount importance when the long time behavior of the simulation is demanded.

Fig. 12
figure 12

Cross-section of the initial datum for the advection of a sphere of contaminant problem

Fig. 13
figure 13

Solution at time \(t = 1.5\) for the advection of a sphere of contaminant problem

Fig. 14
figure 14

Solution at time \(t = 3\) for the advection of a sphere of contaminant problem

5.4 Point Source Solution

Here, we consider the introduction of suspended sediments inside a flat rectangular channel by a point source. For the fluid phase, we suppose a uniform flow in the longitudinal direction, a hydrostatic pressure, and an inviscid fluid. The boundary conditions for the sediment equation correspond to the imposition of null flux across the channel boundaries

$$\begin{aligned} e_{h} \frac{\partial c}{\partial y} \bigg |_{y=y_{\text{L}},y_{\text{R}}} = 0, \qquad e_{v} \frac{\partial c}{\partial z} \bigg |_{z=b,\eta _0} = 0, \end{aligned}$$
(76)

where \(y_{\text{L}}\) and \(y_{\text{R}}\) represent the transverse coordinates of the left bank and the right bank, respectively, whereas b and \(\eta _0\) denote the constant elevation of bottom and initial free surface. The described problem has an analytical solution which reads

$$\begin{aligned} c(x,y,z) = \frac{\dot{M}}{4\pi x\sqrt{e_{h} e_{v}}} \varSigma _y \varSigma _z \end{aligned}$$
(77)

with

$$\begin{aligned}&\varSigma _y = \sum _{n=-\infty }^{\infty } \left\{ \exp {\left[ -u \frac{(y - y_0 + 2nB)^2}{4e_{h} x} \right] } + \exp {\left[ -u \frac{(y + y_0 + 2nB)^2}{4e_{h} x} \right] } \right\} , \end{aligned}$$
(78)
$$\begin{aligned}&\varSigma _z = \sum _{n=-\infty }^{\infty } \left\{ \exp {\left[ -u \frac{(z - z_0 + 2n\eta _0)^2}{4e_{v} x} \right] } + \exp {\left[ -u \frac{(z + z_0 + 2n\eta _0)^2}{4e_{v} x} \right] } \right\} , \end{aligned}$$
(79)

where \(y_0\) and \(z_0\) are the coordinates on the plane \(x = 0\) at which the point source lies, while \(\dot{M}\) represents the solid flow rate and \(B=y_{\text{R}}-y_{\text{L}}\) is the width of the channel. The following computational domain is considered:

$$\begin{aligned} \varOmega = \left\{ \mathbf {x} \in \mathbb {R}^3 \ | \ x \in [0,100], y \in [y_{\text{L}},y_{\text{R}}], z \in [b,\eta _0] \right\} , \end{aligned}$$
(80)

where

$$\begin{aligned} b = 0, \qquad \eta _0 = 1, \qquad y_{\text{L}} = 0 , \qquad y_{\text{R}} = 10. \end{aligned}$$
(81)

This corresponds to assume as the initial condition a constant unitary water depth and a velocity flow with null components in the y- and z-directions. The domain \(\varOmega _{xy}\) is made of 286 881 cells, while, in the vertical direction, we consider \(N_Z = 25\) active layers. Regarding the other physical and geometrical parameters, we assume

$$\begin{aligned} y_0 = 5, \qquad z_0 = 0.5, \qquad \dot{M} = 5, \qquad e_h = 10^{-1}, \qquad e_h = 10^{-3}. \end{aligned}$$
(82)

Figures 15 and 16 illustrate the numerical results for incremental times. They highlight how the sediments evolve in time. After a certain time, around \(t=300\), a steady solution is reached, and thus, we can compare the numerical solution with the exact steady solution (77). The numerical results show a good agreement with the analytical solution. Some numerical diffusion in the longitudinal direction is present which is due to the long time evolution of the problem.

Fig. 15
figure 15

Sediment concentration for the point source test. Initial evolution

Fig. 16
figure 16

Sediment concentration for the point source test. Final steady-state solution and comparison with analytical solution

5.5 Sediment Transport with Settling Velocity

The last test problem is concerned with the transport of a sphere of sediment with a settling velocity \(w_{\rm s}\ne 0\) in (7). The computational domain is the channel \(\varOmega = \left\{ \mathbf {x} \in \mathbb {R}^3 | x \in [0,4] \wedge y \in [0,1] \wedge z\in [0,1] \right\} \), that is paved with a total number of \(N_\mathrm{P}=3\,176\) Voronoi polygons and \(N_z=50\) uniform layers of thickness \(\Delta z =0.02\). The initial condition for the fluid phase is simply given by an inviscid fluid with the velocity \(\mathbf {u}_0=(1,0,0)\) and the free surface elevation \(\eta _0=1\), while the sediment concentration is assumed to be initially unitary and defined within a sphere of radius \(r_{\text{s}}=0.1\) centered at \(\mathbf {x}_{\text{s}}=(0.5,0.5,0.75)\), by means of (75). Two different simulations are run up to the final time \(t=3\) with time step \(\Delta t=0.1\), namely with \(e_v=0\) and \(e_v=5 \cdot 10^{-3}\), while \(e_h=0\) in both cases. The settling velocity is \(w_{\rm s}=0.25\), so that the sediment sphere reaches the bottom of the channel where concentration starts to grow, hence accumulating sediment. Figure 17 reports the result for both simulations at different output times, showing a slice along the x-z plane at \(y=0.5\), thus following the transport and, eventually the diffusion, of the sediment. If diffusion is present, the concentration is not accumulating as much as in the pure advected configuration, and hence, the sediment remains suspended, as expected. Finally, Fig. 18 demonstrates that the sediment mass as well as the fluid mass is conserved by the novel semi-Lagrangian scheme.

Fig. 17
figure 17

Sediment transport with settling velocity \(w_{\rm s}=0.25\). Evolution of sediment concentration at time \(t=0\), \(t=1\), \(t=2\), and \(t=3\) (from top to bottom)

Fig. 18
figure 18

Evolution in time of the total solid and fluid mass for the sediment transport with settling velocity test in the case \(e_v=0\)

5.6 Gaussian Pulse with Water-Sediment Interaction

In this last part, we validate the coupled water-sediment model introduced in Sect. 3.3. This model corresponds to case in which the modified momentum equations (20) defining the influence of sediments on the fluid flow are introduced. The setting of the problem is the following. The computational domain is \(\varOmega =[-1,1]^2\times [0,1.5]\), discretized with 30 z-layers along the vertical direction and paved with 7 377 Voronoi cells over the x-y plane where no-slip wall boundary conditions are imposed. The initial pressure distribution is depicted in Fig. 19a and is given by

$$\begin{aligned} \eta _0(x,y) = 1 + A \exp {\left( -\frac{(x-x_O)^2 + (y-y_O)^2}{s}\right) }, \end{aligned}$$
(83)

with \((x_O,y_O)=(0,0)\), \(s=1\), and \(A=0.5\). The fluid is initially at rest and the horizontal viscous terms are neglected, while the vertical viscosity coefficient is chosen to be \(\nu =10^{-1}\). A sphere of sediments with radius \(r=0.2\) is located inside the fluid at \((x_c,y_c,z_c)=(0.2,0,0.6)\). A uniform initial concentration equal to \(c=500\) is assigned to the sphere and the settling velocity is \(w_{\rm s}=0.25\). The initial concentration distribution is depicted in Fig. 19b through a cross-section of the entire fluid domain.

Fig. 19
figure 19

Initial distribution of free surface and concentration for the Gaussian pulse test

We consider two different cases, namely \(R=0\) and \(R=0.014\), in order to enhance the differences between passive and active sediment transportation. Both simulations are run up to the final time \(t_{\text{fin}}=0.5\). Results at different output times are shown to qualitatively highlight how the correction term acting on the pressure in the moment equations affects the fluid flow. Figures 20 and 21 compare the velocity flow field at different cross-sections on, respectively, the x-z and x-y planes. Figure 22 depicts different views on the horizontal plane for the free surface elevation, while corresponding one-dimensional plots of the free surface along the line \(y=0\) are shown in Fig. 23, giving evidences of the different behavior of the flow with \(R=0\) and \(R=0.014\). In particular, one can observe that symmetry is lost due to the presence of sediments in the case of a coupled approach between the fluid phase and the solid phase, while it is maintained in the opposite situation by the numerical scheme. Finally, Fig. 24 reports the concentration distribution across the plane x-z at \(y=0\). In this last figure, it is possible to notice how the sediments undergoes a slightly different distortion depending on the passive or active transport that has been modeled.

Fig. 20
figure 20

Comparison of the velocity fields for the coupled and the uncoupled water-sediment model at \(t=0.25\). Solutions at different cross-sections are reported. Gaussian pulse test

Fig. 21
figure 21

Comparison of the velocity fields for the coupled and the uncoupled water-sediment model at \(t=0.5\). Solutions at different cross-sections are reported. Gaussian pulse test

Fig. 22
figure 22

Comparison of the x-y views of the free surface \(\eta \) for the coupled and the uncoupled water-sediment model at different times. Gaussian pulse test

Fig. 23
figure 23

Comparison of free surface profiles for the coupled and the uncoupled water-sediment models. Gaussian pulse test

Fig. 24
figure 24

Comparison of the concentration profiles for the coupled and the uncoupled water-sediment models. Gaussian pulse test

6 Conclusions

In this work, we have presented a new semi-Lagrangian method for solving the three-dimensional free surface hydrostatic NS equations coupled with an advection-diffusion model for the sediment transport. The numerical scheme works on arbitrary polygonal meshes and its semi-implicit character permits to overcome severe stability conditions imposed by the problem under consideration. The new proposed method is fully conservative, since the sediments and the velocity field are integrated for each element where they are defined over the advected volume. The new deformed volume is obtained by computing the feet of the characteristics arising from the vertexes of each element. High-order reconstruction of both the sediment concentration and the velocity field allows the Lagrangian trajectories of the flow particles to be integrated, and the quantities at the feet of the characteristics to be properly interpolated. In a second part, we have shown that the theoretical order of accuracy is reached at numerical level by the scheme both for the fluid as well as for the solid phase and, at the same time, very good results in terms of precision are obtained. In particular, we have shown that the proposed semi-Lagrangian method outperforms other standard high-order semi-Lagrangian methods recently proposed in terms of precision and for long time simulations.

In the future, we would like to go deeper into the modeling aspects related to the transport of sediment realizing a fully morphodynamic model which also includes a proper treatment of wetting and drying fronts [21]. We want to take into account the influence of the sediments on the fluid phase due to deposition over the bottom and the non-negligible turbulence effects caused by the suspended particles over the liquid motion. Finally, further investigations are also planned to find a remedy for the appearance of degenerated transported volumes that can arise from the backward integration of characteristics in the semi-Lagrangian approach.