3. The Shallow Water Equations with porosity (Part I): a well-balanced scheme
4.6. Extension to 2D SWEs
4.6.1. Eigenstructure analysis
The augmented 2D SWEs with porosity in Equation (4.1) can be rewritten in the following form:
ππ
ππ‘ +ππ (π)
ππ₯ +ππ(π)
ππ¦ + πππ
ππ₯+ πππ
ππ¦= 0 (4.71)
where the vector U of the conserved variables, the vectors F(U) and G(U) of the fluxes in x and y directions, respectively, and the matrixes H and K of the non-conservative fluxes due to the porosity variation in x and y directions, are defined as:
π = [ πβ ππ’β ππ£β π
] π (π) =
[
ππ’β ππ’2β +1
2ππβ2 ππ’π£β
0 ]
π(π) = [
ππ£β ππ’π£β ππ£2β +1
2ππβ2
0 ] (4.72)
π = β1 2πβ2[
0 0 0 0 0 0 0 0 0
01 0 0 0 00
] π = β1
2πβ2[
0 0 0 0 0 0 0 0 0
00 0 0 0 01 ]
Focusing on the x-direction and following the Generalized Roe approach illustrated in Section 4.3 the eigenvalues are:
πΜ1= π’Μ β βπβΜ πΜ2= 0 πΜ3= π’Μ πΜ4= π’Μ + βπβΜ (4.73) and the corresponding right eigenvectors result:
πΜ1= [
1 π’Μ β βπβΜ
π£Μ0 ]
πΜ2=
[
π24β1 2πβΜ2 0 π£Μ (π24β1
2πβΜ2) π’Μ2β πβΜ ]
πΜ3= [ 0 01 0
] πΜ4= [
1 π’Μ + βπβΜ
π£Μ0 ] (4.74)
where the term a24 is defined, analogously to the a23 term for the 1D scheme (Eq.
4.30), as:
π24 = β1
2π|ππΏβ ππ |
ππ β ππΏ |βπ|βπ where {βπ= ββπΏ if ππΏβ₯ ππ
βπ= βπ if ππΏ< ππ (4.75)
The Roe averages βΜ, π’Μ are defined according to Equation (4.31) and π£Μ is calculated as:
π£Μ =βππΏβπΏπ£πΏ+ βππ βπ π£π
βππΏβπΏ+ βππ βπ
(4.76)
The vector of the conserved variable differences Ξ΄ is evaluated as:
π = [ πΏ1 πΏ2
πΏ3
πΏ4 ] = [
ππ βπ β ππΏβπΏ ππ π’π βπ β ππΏπ’πΏβπΏ
ππ π£π βπ β ππΏπ£πΏβπΏ
ππ β ππΏ
] (4.77)
and finally the wave strengths result:
πΌΜ1= β πΜ4
πΜ1β πΜ4πΏ1+ 1
πΜ1β πΜ4πΏ2+ 2π24β πβΜ2
2πΜ1(πΜ1β πΜ4)πΏ4 (4.78)
πΌΜ2= 1
πΜ1πΜ4πΏ4 (4.79)
πΌΜ3= βπ£ΜπΏ1+ πΏ3 (4.80)
πΌΜ4= πΜ1
πΜ1β πΜ4πΏ1β 1
πΜ1β πΜ4πΏ2β 2π24β πβΜ2
2πΜ4(πΜ1β πΜ4)πΏ4 (4.81)
Adopting the same procedure for the y-direction, the eigenvalues result:
πΜ1= π£Μ β βπβΜ πΜ2= 0 πΜ3= π£Μ πΜ4= π£Μ + βπβΜ (4.82) and the corresponding right eigenvectors read:
πΜ1= [
1π’Μ
π£Μ β βπβΜ
0 ]
πΜ2=
[
π24β1 2πβΜ2 π’Μ (π24β1
2πβΜ2) 0
π£Μ2β πβΜ ]
πΜ3= [ 01 00
] πΜ4= [
1π’Μ
π£Μ + βπβΜ
0 ]
(4.83)
Assuming the vector of the conserved variable differences Ξ΄ as in Equation (4.77), the wave strengths result:
πΌΜ1= β πΜ4
πΜ1β πΜ4πΏ1+ 1
πΜ1β πΜ4πΏ3+ 2π24β πβΜ2
2πΜ1(πΜ1β πΜ4)πΏ4 (4.84)
πΌΜ2= 1
πΜ1πΜ4πΏ4 (4.85)
πΌΜ3= βπ’ΜπΏ1+ πΏ2 (4.86)
πΌΜ4= πΜ1
πΜ1β πΜ4
πΏ1β 1 πΜ1β πΜ4
πΏ3β 2π24β πβΜ2
2πΜ4(πΜ1β πΜ4)πΏ4 (4.87)
The 2D augmented SWE system with porosity is characterized by real and distinct eigenvalues, and thus the system is still hyperbolic. Moreover, the characteristic fields Ξ»1
and Ξ»4 are genuinely non-linear, while the characteristic fields Ξ»2 and Ξ»3 are linearly degenerate. Consequently, the waves that can develop from the eigenvalues Ξ»1 and Ξ»4 can be shocks or rarefactions, while the wave associated with the eigenvalue Ξ»2 is a contact wave and the one related to eigenvalue Ξ»3 is a shear wave.
4.6.2. 2D Approximate Riemann Solver
The 2D numerical model adopts a Cartesian mesh with grid size Ξx and Ξy, along x and y directions, respectively, and the first order approximation explicit finite volume formula for updating the conserved variables from time tn to tn+1 states:
ππ,ππ+1= ππ,ππ βΞπ‘ Ξπ₯[π π+1
2,πβ π πβ1 2,π] βΞπ‘
Ξy[ππ,π+1
2β ππ,πβ1
2] (4.88)
where i and j are the cell center coordinates in x and y directions.
According to Equation (4.88), the numerical fluxes F and G can be calculated separately, distinguishing between x and y directions: therefore, the 2D model can be seen as the combination of two 1D models, one in the x-direction and the other in the y-direction. On that basis, the procedure for the computation of numerical fluxes F is illustrated for the x-axis: the same method can then be adopted for fluxes G in the y-axis.
For a given Riemann problem with two initial states UL(hL,uL,vL,ΟL) and UR(hR,uR,vR,ΟR), the Roe solver determines the averaged eigenvalues (πΜ1, πΜ2, πΜ3, πΜ4), eigenvectors (πΜ1, πΜ2, πΜ3, πΜ4) and wave strengths (πΌΜ1, πΌΜ2, πΌΜ3, πΌΜ4).
According to the eigenvalue signs, four different configurations may occur (Figure 4.12): subcritical with positive πΜ3 (a), subcritical with negative πΜ3 (b), supercritical with positive velocities (c), and supercritical with negative velocities (d).
(a) (b) (c) (d)
Figure 4.12. 2D eigenvalue configurations: subcritical with positive πΜ3 (a), subcritical with negative πΜ3 (b), supercritical with positive (c) and negative (d) velocities.
The identification of the wave configuration is necessary in order to calculate the approximate intermediate states πΜ1, πΜ2 and πΜ3 to be used in the entropy fix procedure.
However, due to the fact that the splitting in the entropy fix concerns eigenvalues πΜ1 or πΜ4, and the procedure is illustrated for the x-direction, only the u velocity is involved.
Moreover, the tangential velocity v changes across the πΜ3 contact wave, but remains constant across the waves associated with the eigenvalues πΜ1, πΜ2 and πΜ4, therefore it is easily evaluated separately from the other physical quantities. Furthermore, the variables h and u do not change across the πΜ3 contact wave. This means that, with reference to Figure 4.12, (1D) states [βΜ2, π’Μ2] and [βΜ3, π’Μ3] in (a) and (c), [βΜ1, π’Μ1] and [βΜ2, π’Μ2] in (b) and (d)coincide. Therefore, the four configurations reduce to the three cases already presented for the 1D approach (see Figure 4.2), and the intermediate states can be calculated following exactly the same procedure described in Section 4.3.
A similar procedure can be followed for the y-direction considering v instead of u.
Finally, the positive and negative split eigenvalues, together with the averaged wave strengths and eigenvectors, are used to compute the fluxes π π+1
2,π, π πβ1
2,π, ππ,π+1
2, ππ,πβ1
2 as follows:
π πβ1
2,π= β [(ππ)πβ1 2,π]+
π
π=1
(πΌΜπ)πβ1
2,π(πΜπ)πβ1
2,π (4.89)
π π+1
2,π= β β [(ππ)π+1 2,π]β
π
π=1
(πΌΜπ)π+1
2,π(πΜπ)π+1
2,π (4.90)
ππ,πβ1
2= β [(ππ)π,πβ1 2]+
π
π=1
(πΌΜπ)π,πβ1
2(πΜπ)π,πβ1
2 (4.91)
ππ,π+1
2= β β [(ππ)π,π+1 2]β
π
π=1
(πΌΜπ)π,π+1
2(πΜπ)π,π+1
2 (4.92)
which are then substituted in Equation (4.88) in order to update the solution.
4.7. 2D numerical tests
In order to validate the 2D numerical model with wave configurations similar to those illustrated in Section 4.5, a selection of circular Riemann problems is here presented.
In Section 3.5 it has been demonstrated that due to the radial symmetry and the choice of a proper porosity field, the 2D SWEs with variable porosity π are equivalent to the 1D SWEs with porosity ππ(π). The adoption of a generic function ππ(π) allows obtaining the reference solution of a 2D test case, by solving the 1D system (3.51) on a very fine mesh (Aureli et al., 2008). Whereas, the adoption of a porosity field defined according to Equation (3.50) and shown in Figure 4.13, allows obtaining the reference solution by means of the Exact 1D Riemann Solver described in Section 4.4.
The simulations were performed setting the gravitational acceleration as g = 9.81 m/s2 and assuming the Courant number for the time step computation as Cr = 0.8. The horizontal and frictionless domains were discretized with cell sizes Ξx = Ξy = 0.05 m.
The circular tests were modeled considering a dam with radius r = 120 m, which separates the internal initial state Uint from the external state Uext until its instantaneous collapse at time t = 0 s. The porosity field adopted for all the simulations is shown in Figure 4.13: it
gradually decreases according to Equation (3.50), and a discontinuity of 0.2 is introduced at r = 120 m.
Figure 4.13. Porosity field of the 2D radial tests.
The initial conditions of the 2D test cases are summarized in Table 4.2.
Table 4.2. Initial conditions for the radial test cases.
Test case ID hint (m) uint (m/s) hext (m) uext (m/s)
RDS radial 8 0 3 0
RDR radial 8 -4 6 0
SDS radial 4 4 1.5 -1.5
RRDR radial 6 -18 15 0
SDRS radial 4 7 1 7
The numerical solutions of the circular Riemann problems, along y = x line, are compared in terms of water depth and velocity with the exact solutions of the corresponding 1D scheme. A very good agreement between the numerical and the reference solution is obtained for the non-transonic test cases: RDS radial (Figure 4.14), RDR radial (Figure 4.15), and SDS radial (Figure 4.16).
(a) (b)
Figure 4.14. RDS radial test: water depth (a) and velocity (b) comparison between reference and numerical solutions at time 1 s.
(a) (b)
Figure 4.15. RDR radial test: water depth (a) and velocity (b) comparison between reference and numerical solutions at time 1 s.
(a) (b)
Figure 4.16. SDS radial test case: water depth (a) and velocity (b) comparison between reference and numerical solutions at time 1 s.
The numerical solution favorably approximates the reference one, also in the presence of transonic waves, as shown for the RRDR radial (Figure 4.17) and SDRS radial (Figure 4.18) test cases.
(a) (b)
Figure 4.17. RRDR radial test case: water depth (a) and velocity (b) comparison between reference and numerical solutions at time 1 s.
(a) (b)
Figure 4.18. SDRS radial test case: water depth (a) and velocity (b) comparison between reference and numerical solutions at time 1 s.