# Computationally Efficient Solution of a 2D Diffusive Wave Equation Used for Flood Inundation Problems

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Methods

^{−1}). The parameters K

_{x}and K

_{y}introduced in Equation (1) are called the hydraulic diffusion coefficients (L

^{2}·T

^{−1}). They are given by the formulas below.

_{x}and n

_{y}are the Manning roughness coefficients in x and y direction, respectively (L

^{−1/3}·T). The term ∂H/∂s is the derivative of the function H with respect to the flow direction s, which is defined as follows.

#### 2.1. Decomposition of the 2D Equation with the Splitting Method

^{(1)}(x,y,t) = H(x,y

_{i}, t = t

_{n}), where i = 1, …, N, with N denoting the number of spatial steps in the y direction and n denoting the time step index. As a result of this step, the water stage H

^{(1)}(x,y,t

_{n}

_{+1}) is obtained. Then, at the second stage, Equation (5) is solved with the initial condition H

^{(2)}(x,y,t) = H

^{(1)}(x

_{j},y,t

_{n}

_{+1}), where j = 1, …, M, with M denoting the number of spatial steps in the x direction. The example of a computational grid is displayed in Figure 1.

^{(3)}(x,y,t) = H

^{(2)}(x,y,t

_{n}

_{+1}) for all nodes. After the last stage, the water stage values at the next (n + 1)

^{th}time step are obtained.

#### 2.2. Solution of the 1D Equation Using the FDM Explicit Scheme

- when the water depth is negative or zero, h ≤ 0,
- or when the water stage derivative takes a very small value, ∂H/∂s < ε, where ε represents the assumed tolerance, usually ranging from 10
^{−6}to 10^{−9}.

#### 2.3. Solution of the 1D Equation Using Modified FEM with the Implicit Scheme

- for node j = 1$$\omega \frac{\Delta x}{2}\frac{d{H}_{1}}{dt}+(1-\omega )\frac{\Delta x}{2}\frac{d{H}_{2}}{dt}-\frac{{\overline{K}}_{1}}{\Delta x}(-{H}_{1}+{H}_{2})+{K\frac{dH}{dx}|}_{1}=0$$
- for each internal node j = 2, 3, …, M − 1$$\begin{array}{l}(1-\omega )\frac{\Delta x}{2}\frac{d{H}_{j-1}}{dt}+\omega \xb7\Delta x\frac{d{H}_{j}}{dt}+(1-\omega )\frac{\Delta x}{2}\frac{d{H}_{j+1}}{dt}+\\ \text{\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}}+\frac{{\overline{K}}_{j-1}}{\Delta x}(-{H}_{j-1}+{H}_{j})-\frac{{\overline{K}}_{j}}{\Delta x}(-{H}_{j}+{H}_{j+1})=0\end{array}$$
- for node j = M$$(1-\omega )\frac{\Delta x}{2}\frac{d{H}_{M-1}}{dt}+\omega \frac{\Delta x}{2}\frac{d{H}_{M}}{dt}+\frac{{\overline{K}}_{M-1}}{\Delta x}(-{H}_{M-1}+{H}_{M})-{K\frac{dH}{dx}|}_{M}=0$$$$A\frac{dH}{dt}+B\xb7H+G=0,$$
**H**= [H_{1},…,H_{j}_{−1},H_{j},H_{j}_{+1},…,H_{M}]^{T}is the column vector of water stage nodal values,**A**is a tridiagonal constant matrix of size M × M,**B**is a tridiagonal matrix of size M × M with elements dependent on the solution vector, and**G**is the column vector representing the fluxes through the ends of the elements.

**G**, the fluxes have a zero value for all internal nodes of elements. These fluxes can exist at the upstream (node j = 1) and downstream (node j = M) ends if the Neumann condition is imposed. For the Dirichlet condition (when the function H(t) is imposed) or for the impervious boundaries (when the flux through the boundary is null ∂H/∂x = 0), all other components of vector

**G**have a zero value. In the considered problem the Neumann condition at the impervious boundary or the Dirichlet condition will be imposed, which means, in further analysis, vector

**G**is omitted.

**H**

_{t+Δt}and

**H**

_{t}are the water stage values at the time step t + Δt and t, respectively, Δt is a time step, θ is the weighting parameter belonging to the interval [1,0].

#### 2.4. Solution of the System of Algebraic Equations

#### 2.4.1. Solution of the Nonlinear System

**B**depend on the solution, the considered problem is nonlinear. For this reason, the system of algebraic Equations (21) has to be solved using iterative methods. In hydraulic problems, the Picard or the Newton method is usually used. The Picard method is one of the simplest iteration techniques, which does not converge as fast as the Newton method. However, in contrast to the Newton method, it is usually convergent for any starting initial values. The modified version of the Picard method [44], which converges faster than the basic one, can be applied to solve the system of nonlinear Equations (21). Then it gives the following sequence of iterations.

**A**and

**B**of the system. Thus, such a form of the Picard method does not require the determination of the Jacobian matrix, which, in this case, can be computationally expensive.

#### 2.4.2. Solution of the Linear System

**S**is the matrix of size N × N or M × M (for the modified Picard method $S=A+\Delta t\xb7\theta \xb7{B}_{t+\Delta t}^{(k)}$), Δ

**H**is the vector of unknowns ($\Delta {H}_{t+\Delta t}^{(k+1)}={H}_{t+\Delta t}^{(k+1)}-{H}_{t+\Delta t}^{(k)}$), and

**f**is the right-hand side vector ($f=-{F}^{(k)}$) The resulting coefficient matrix

**S**is tridiagonal with non-zero elements located along the main diagonal. The structure of this matrix is as follows.

**S**appearing in the system (25) allows the efficiency of the solution algorithm to be improved. Thus, it reduces the required computer memory and the computational time. Such a system with a tridiagonal matrix can be successfully solved using the Thomas algorithm [42]. In this case, only non-zero elements within the bands are used during computation. Consequently, the total number of arithmetic operations is reduced to 3(M − 1) additions and multiplications and 2M − 1 divisions, where M is the number of unknowns [45].

**S**take the following form.

- for row j = 1:$${\beta}_{1}=\frac{\omega}{2}+\theta \xb7{D}_{1}^{(k)}$$$${\gamma}_{1}=\frac{1-\omega}{2}-\theta \xb7{D}_{1}^{(k)}$$
- for rows j = 2, 3, …, M − 1:$${\alpha}_{j}=\frac{1-\omega}{2}-\theta \xb7{D}_{j-1}^{(k)}$$$${\beta}_{j}=\omega +\theta \xb7\left({D}_{j-1}^{(k)}+{D}_{j}^{(k)}\right)$$$${\gamma}_{j}=\frac{1-\omega}{2}-\theta \xb7{D}_{j}^{(k)}$$
- for row j = M:$${\alpha}_{M}=\frac{1-\omega}{2}-\theta \xb7{D}_{M}^{(k)}$$$${\beta}_{M}=\frac{\omega}{2}+\theta \xb7{D}_{M}^{(k)}$$

**S**(Equation (27a,b) and Equation (29a,b)), the element α

_{j}in the current row j (Equation (28a)) is the same as the element γ

_{j}

_{−1}in the preceding row (Equation (28c)) for j − 1. This allows the numerical algorithm to be improved with respect to memory capacity and performance. Taking this into consideration, the resulting matrix

**S**will have the following structure.

**S**is stored in a single one-dimensional array. The repeating values γ are included only once in the vector. This storage format has the following form.

#### 2.5. Parallelization and Solver Implementation

**Z**and water stage values

**H**for the whole solution domain. However, extensive use of the shared variables by the slave threads would introduce a significant overhead due to the handling of concurrent access to the memory resources. To improve the efficiency of the algorithm, the communication between master and slave threads during parallel execution should be minimal. Shared variables are accessed by the slave threads only when the necessity of reading or writing the data occurs. Such a situation takes place when the master thread is forked and when the slave threads are joined. There is no communication between slave threads during the computations of the water stage values. In the first operation after the fork, the water stage values and bottom elevations corresponding to a considered row or column are copied into the private variables of the slave threads. The water stage values are known from the initial condition or the previous step of computation. When the slave threads finish their tasks, then the result of the computations is written in the shared variable

**H**.

**H**and

**Z**is copied to the private variables denoted as

**H0**and

**z**, respectively. The private variable

**z**stores the bottom elevation of the considered row or column, whereas

**H0**stores the water stage values. Apart from the water stage values and bottom elevation in a row or column, the variables required to form and solve the system of arising nonlinear algebraic equations are used. These private variables are used for storing the system matrix

**S**(Equation (25)) and the right-hand side vector

**f**. To improve the solver efficiency, an auxiliary variable

**p**for storing the vector on the right-hand side of Equation (21) is used. This expression is also a part of vector

**f**(Equation (23)) and is constant at a given time level t. Therefore, it has to be computed only once in a considered time step. The computed water stage at time level t + Δt is saved to the variable

**H0**.

**Z**and water stage values

**H**for the whole solution domain are stored in the column-major format in linear arrays of size N × M. The private variables storing the rows/columns of water stage values or bottom elevations are arrays of size max (M,N), respectively. A similar situation occurs in the case of the right-hand side vector

**f**. The tridiagonal system matrix

**S**is stored in the row-major format specified in Equation (31).

- (1)
- Bottom height values for the considered row or column are copied from the shared bottom variable
**Z**and stored in the private variable**z**, - (2)
- Water stage values from the previous computation step for the considered row or column are copied from the shared water stage variable
**H**and written in the private variable**H0**, - (3)
- Private variable
**S**is used to create and then temporarily store the matrix $A-\Delta t\xb7\left(1-\theta \right){B}_{t}$, - (4)
- Product $\left(A-\Delta t\xb7\left(1-\theta \right){B}_{t}\right)\xb7{H}_{t}$ is stored in the private variable
**p**, - (5)
- Private variable
**S**is used to create and store matrix $A+\Delta t\xb7\theta \xb7{B}_{t+\Delta t}^{(k)}$, - (6)
- Vector ${f}^{(k)}=\left(A+\Delta t\xb7\theta \xb7{B}_{t+\Delta t}^{(k)}\right)\xb7{H}_{t+\Delta t}^{(k)}-p$ is created and stored in the private variable
**f**, - (7)
- System (23) is solved and the solution result ${H}_{t+\Delta t}^{(k+1)}$ is written in the variable
**f**, - (8)
- Water stage vector ${H}_{t+\Delta t}^{(k+1)}={H}_{t}+\Delta {H}_{t+\Delta t}^{(k+1)}$ is updated and stored in
**H0**, - (9)
- If the required solution accuracy is obtained, go to step 10, if not, return to step 5,

**H**storing the water stage values for the whole domain.

#### 2.6. Measure of Efficiency

_{S}is the computational time, and RMSE is an accuracy of the solution estimated using the root mean square error.

_{ref}is the reference solution, H

_{test}denotes the tested solution, and x

_{j}is the coordinate of the computational grid node in the tested solution, where j = 1, …, M.

_{E}, E

_{EA}, and E

_{I}denote the efficiency (calculated using Equation (32)) of the considered scheme: pure explicit, explicit with a variable adaptive time step (ATS), and implicit, respectively.

_{S}is the computation time with one processor, T

_{P}is the computation time with N

_{P}processors, and N

_{P}is the number of processors.

## 3. Results

#### 3.1. One-Dimensional Flow, Horizontal Plane Wetting Test

^{−1/3}s is considered. This coefficient value corresponds to a natural channel with gravel in the bottom [47]. The initial water elevation at the time t = 0 s corresponds to the bottom elevation H

_{0}(x, t = 0) = Z(x) = 0 m. At the upstream end (x = 0), the inflow boundary condition is imposed in the form of water elevations varying in time.

- (1)
- Tolerance for the iterative process of the solution of the system of nonlinear equations: δ = 0.001 m,
- (2)
- Threshold for the water stage derivative in Equation (9a) ∂H/∂s = ∂H/∂x: ε = 10
^{−9}, - (3)
- Maximum number of iterations in a simulation step is 50.

^{−3}m) as the solution obtained with the implicit method for identical input data with the parameter θ ranging from 0.5 to 0.6 (RMSE = 1.58 × 10

^{−3}m for θ = 0.5 and RMSE = 10.61 × 10

^{−3}m for θ = 0.6). In the case of other values of this parameter, θ = 0.8 and θ = 1.0, higher errors were received of RMSE = 24.89 × 10

^{−3}m and RMSE = 36.26 × 10

^{−3}m, respectively. For this reason, in all further examples, the weighting parameter θ equal to a value ranging from 0.5 to 0.65 will be used. Such values ensure a stable solution without oscillations, and, simultaneously, the generated numerical diffusion is minimized.

_{S}was equal to 4.35 s for the constant time step algorithm, whereas the ATS method required 3.82 s. This corresponds to a reduction in the computation time by about 20% in comparison to the simulation with the constant time step. However, if in the considered example we take into account the accuracy of the solution, then it can be seen that the relative efficiency of the ATS method (E

_{EA}= 106.9 m

^{−1}s

^{−1}) is less than the efficiency of the pure explicit method (E

_{EA}= 119.9 m

^{−}1 s

^{−1}). Consequently, the relative computational efficiency ΔE increases to a value 10.8% in favor of the explicit method with the constant time step. This tendency is even more visible in Figure 6b, where it is clearly displayed that the ATS method becomes less effective with regard to the spatial step Δx ≥ 5 m.

^{3}m for the implicit and RMSE = 2.64 × 10

^{−3}m for the explicit scheme), the implicit scheme is definitely more effective than the explicit scheme. In the considered example (for Δx = 5 m), the implicit scheme (with efficiency E

_{I}= 21,059 m

^{−1}s

^{−1}) outperforms the explicit scheme (with efficiency E

_{I}= 106.9 m

^{−1}s

^{−1}), and the relative efficiency ΔE is equal to 19,590%. Considerable differences between the schemes become more obvious in Figure 6, which displays the variability of total computation time and the computational efficiency with regard to the spatial step. It can be shown that the amount of time T

_{S}required to perform the simulation differs significantly for implicit and explicit methods (Figure 6a), even considering the explicit scheme with the variable time step (ATS). If we consider the computational efficiency (Figure 6b), it is clearly visible that, in this case, the effectiveness of the implicit scheme also increases significantly with the spatial step increasing to the value Δx = 5 m. After reaching this value, the efficiency is at a high level in comparison to the explicit scheme, but the increase is not so intense.

#### 3.2. Two-Dimensional Flow, Parallel Computation for the Wetting-Drying Test

_{x}× L

_{y}= (1000 × 1000) m

^{2}was considered. The bottom elevation in the considered area is given with the following formula.

^{−1/3}s over the whole floodplain. At the beginning of the simulation, the area is dry, so the initial water elevation at the time t = 0 s corresponds to the bottom elevation H

_{0}(x,y,t = 0) = Z(x,y). The zero-flux boundary condition with regard to the water stage is imposed at the boundary of the considered area. The exception is the section placed at y = 0 m and at x between 450 m and 550 m, where the Dirichlet boundary condition, in the form of the variable water level H

_{b}(t), is imposed (Figure 8b).

_{S}are compared for the entire simulation period t = 30,000 s. Example solutions of water profiles at given cross-sections corresponding to x = 500, computed for different grid resolutions, are given in Figure 10.

_{S}= 15,064.3 s (4.1 h), whereas the calculation on a single processor was carried out within T

_{S}= 73,267.8 s (20.3 h). The computational grid with 1000 × 1000 elements corresponds to over one million nodes. Such a refined grid, applied to the simulation of a flood wave at a real time equal to t = 30,000 (8.33 h), constitutes a demanding task with regard to computing power. The same simulation performed by the explicit scheme takes a very long time. In this case, it took 1,638,140 s (455 h = 18 days) with the minimum time step Δt = 0.001 s using eight threads. Thus, the application of the explicit scheme is very ineffective on a high-resolution grid with a large number of nodes.

## 4. Discussion

## Author Contributions

## Funding

## Conflicts of Interest

## References

- Heniche, M.; Secretan, Y.; Boudreau, P.; Leclerc, M. A two-dimensional finite drying-wetting shallow water model for rivers and estuaries. Adv. Water Resour.
**2000**, 23, 359–372. [Google Scholar] [CrossRef] - Horritt, M.S. Evaluating wetting and drying algorithms for finite element models of shallow water flow. Int. J. Numer. Methods Eng.
**2002**, 55, 835–851. [Google Scholar] [CrossRef] - Begnudelli, L.; Sanders, B.F. Unstructured grid finite-volume algorithm for shallow-water flow and scalar transport with wetting and drying. J. Hydraul. Eng. ASCE
**2006**, 132, 371–384. [Google Scholar] [CrossRef] - Liang, Q.; Borthwick, A.G.L. Adaptive quadtree simulation of shallow flow with wet-dry fronts over complex topography. Comput. Fluids
**2009**, 38, 221–234. [Google Scholar] [CrossRef] - Szydłowski, M.; Kolerski, T.; Zima, P. Impact of the Artificial Strait in the Vistula Spit on the Hydrodynamics of the Vistula Lagoon (Baltic Sea). Water
**2019**, 11, 990. [Google Scholar] [CrossRef] - Tan, W.Y. Shallow Water Hydrodynamics; Elsevier: Amsterdam, The Netherlands, 1992. [Google Scholar]
- Song, L.; Zhou, J.; Guo, J.; Zou, Q.; Liu, Y. A robust well-balanced finite volume model for shallow water flows with wetting and drying over irregular terrain. Adv. Water Resour.
**2011**, 34, 1915–1932. [Google Scholar] [CrossRef] - Vacondio, R.; Palù, A.D.; Mignosa, P. GPU-enhanced Finite Volume Shallow Water solver for fast flood simulations. Environ. Modell. Softw.
**2014**, 57, 60–75. [Google Scholar] [CrossRef] - Oritz, P. Shallow water flows over flooding areas by a flux-corrected finite element method. J. Hydraul. Res.
**2013**, 52, 241–252. [Google Scholar] [CrossRef] - Gourgue, O.; Comblen, R.; Lambrechts, J.; Kärnä, T.; Legat, V.; Deleersnijder, E. A flux-limiting wetting–drying method for finite-element shallow-water models, with application to the Scheldt Estuary. Adv. Water Resour.
**2009**, 32, 1726–1739. [Google Scholar] [CrossRef] - Cimorelli, L.; Cozzolino, L.; Della Morte, R.; Pianese, D.; Singh, V.P. A new frequency domain analytical solution of a cascade of diffusive channels for flood routing. Water Resour. Res.
**2015**, 51, 2393–2411. [Google Scholar] [CrossRef] - Cimorelli, L.; Cozzolino, L.; D’Aniello, A.; Pianese, D. Exact solution of the Linear Parabolic Approximation for flow-depth based diffusive flow routing. J. Hydrol.
**2018**, 563, 620–632. [Google Scholar] [CrossRef] - Zhang, X.H.; Ishidaira, H.; Takeuchi, K.; Xu, Z.X.; Zhuang, X.W. An approach to inundation in large river basins using the triangle finite difference method. J. Environ. Inform.
**2004**, 3, 51–63. [Google Scholar] [CrossRef] - Prestininzi, P. Suitability of the diffusive model for dam break simulation application to a CADAM experiment. J. Hydrol.
**2008**, 361, 172–185. [Google Scholar] [CrossRef] - Moussa, R.; Bocquillon, C. On the use of the diffusive wave for modeling extreme flood events with overbank flow in the floodplain. J. Hydrol.
**2009**, 374, 116–135. [Google Scholar] [CrossRef] - Hromadka, T.V.; Yen, C.C. A diffusion hydrodynamic model (DHM). Adv. Water Resour.
**1986**, 9, 118–170. [Google Scholar] [CrossRef] - Han, K.Y.; Lee, J.T.; Park, J.H. Flood inundation analysis resulting from levee-break. J. Hydraul. Res.
**1998**, 36, 747–759. [Google Scholar] [CrossRef] - Lal, A.M. Weighted implicit finite-volume model for overland flow. J. Hydraul. Eng. ASCE
**1998**, 124, 941–950. [Google Scholar] [CrossRef] - Cea, L.; Garrido, M.; Puertas, J. Experimental validation of two-dimensional depth-averaged models for forecasting rainfall-runoff from precipitation data in urban areas. J. Hydrol.
**2010**, 382, 88–102. [Google Scholar] [CrossRef] - Di Giammarco, P.; Todini, E.; Lamberti, P. A conservative finite elements approach to overland flow: The control volume finite element formulation. J. Hydrol.
**1996**, 175, 267–291. [Google Scholar] [CrossRef] - Arico, C.; Sinagra, M.; Begnudelli, L.; Tucciarelli, T. MAST-2D diffusive model for flood prediction on domains with triangular Delaunay unstructured meshes. Adv. Water Resour.
**2011**, 34, 1427–1449. [Google Scholar] [CrossRef] [Green Version] - Szymkiewicz, R.; Gąsiorowski, D. Simulation of unsteady flow over floodplain using the diffusive wave equation and the modified finite element. J. Hydrol.
**2012**, 464–465, 165–167. [Google Scholar] [CrossRef] - Toro, E.F. Riemann Solvers and Numerical Methods for Fluid Dynamics; Springer: Berlin, Germany, 1997. [Google Scholar]
- LeVeque, R.J. Finite Volume Methods for Hyperbolic Problems; Cambridge University Press: Cambridge, MA, USA, 2002. [Google Scholar] [CrossRef]
- Neal, J.C.; Fewtrell, T.J.; Bates, P.D.; Wright, N.G. A comparison of three parallelisation methods for 2D flood inundation models. Environ. Modell. Softw.
**2010**, 25, 398–411. [Google Scholar] [CrossRef] - Yu, D. Parallelization of a two-dimensional flood inundation model based on domain decomposition. Environ. Modell. Softw.
**2010**, 25, 935–945. [Google Scholar] [CrossRef] [Green Version] - Gąsiorowski, D. Analysis of floodplain inundation using 2D nonlinear diffusive wave equation solved with splitting technique. Acta Geophys.
**2013**, 61, 668–689. [Google Scholar] [CrossRef] - Hsu, M.H.; Chen, S.H.; Chang, T.J. Inundation simulation for urban drainage basin with storm sewer system. J. Hydrol.
**2000**, 234, 21–37. [Google Scholar] [CrossRef] [Green Version] - Teng, J.; Jakeman, A.J.; Vaze, J.; Croke, B.F.W.; Dutta, D.; Kim, S. Flood inundation modelling: A review of methods. Recent advances and uncertainty analysis. Environ. Modell. Softw.
**2017**, 90, 210–216. [Google Scholar] [CrossRef] - Bates, P.D.; De Roo, A.P.J. A simple raster-based model for flood inundation simulation. J. Hydrol.
**2000**, 236, 54–77. [Google Scholar] [CrossRef] - Yu, D.; Lane, S.N. Urban fluvial flood modelling using a two-dimensional diffusion-wave treatment. part 1: Mesh resolution effects. Hydrol. Process.
**2006**, 20, 1541–1565. [Google Scholar] [CrossRef] - Neal, J.; Fewtrell, T.; Trigg, M. Parallelisation of storage cell flood models using OpenMP. Environ. Modell. Softw.
**2009**, 24, 872–877. [Google Scholar] [CrossRef] - Prestininzi, P.; Di Baldassarre, G.; Schumann, G.; Bates, P.D. Selecting the appropriate hydraulic model structure using low-resolution satellite imagery. Adv. Water Resour.
**2011**, 34, 38–46. [Google Scholar] [CrossRef] - Leandro, J.; Chen, A.S.; Schumann, A. A 2D parallel diffusive wave model for floodplain inundation with variable time step (P-DWave). J. Hydrol.
**2014**, 517, 250–259. [Google Scholar] [CrossRef] - Hunter, N.M.; Horritt, M.S.; Bates, P.D.; Wilson, M.D.; Werner, G.F. An adaptive time step solution for raster-based storage cell modeling of floodplain inundation. Adv. Water Resour.
**2005**, 28, 975–991. [Google Scholar] [CrossRef] - Bates, P.D.; Horrit, M.S.; Fewtrell, T.J. A simple inertial formulation of the shallow water equations for efficient two-dimensional flood inundation modeling. J. Hydrol.
**2010**, 387, 33–45. [Google Scholar] [CrossRef] - Dazzi, S.; Vacondio, R.; Dal Palù, A.; Mignosa, P. A local time stepping algorithm for GPU-accelerated 2D shallow water models. Adv. Water Resour.
**2018**, 111, 274–288. [Google Scholar] [CrossRef] - Feng, K.; Molz, F.J. A 2-D, diffusion based, wetland flow model. J. Hydrol.
**1997**, 196, 230–250. [Google Scholar] [CrossRef] - Gąsiorowski, D.; Szymkiewicz, R. Mass and momentum conservation in the simplified flood routing models. J. Hydrol.
**2007**, 346, 51–58. [Google Scholar] [CrossRef] - Gąsiorowski, D. Impact of diffusion coefficient averaging on solution accuracy of the 2D nonlinear diffusive wave equation for floodplain inundation. J. Hydrol.
**2014**, 517, 923–935. [Google Scholar] [CrossRef] - Lal, A.M. Performance comparison of overland flow algorithms. J. Hydraul. Eng. ASCE
**1998**, 124, 342–349. [Google Scholar] [CrossRef] - Fletcher, C.A.J. Computational Techniques for Fluid Dynamics; Springer: Berlin/Heidelberg, Germany, 1991; Volume I. [Google Scholar]
- Szymkiewicz, R. Method to solve 1D unsteady transport and flow equations. J. Hydraul. Eng. ASCE
**1995**, 121, 396–403. [Google Scholar] [CrossRef] - Szymkiewicz, R. Numerical Modeling in Open Channel Hydraulics; Water Science and Technology Library; Springer: New York, NY, USA, 2010. [Google Scholar] [CrossRef]
- Dahlquist, G.; Bjorck, A. Numerical Methods; Prentice-Hall: Englewood Cliffs, NJ, USA, 1974. [Google Scholar]
- Lin, C.A.; Ecer, A.; Periaux, J.; Satofuka, N.; Fox, P. Parallel Computational Fluid Dynamics. In Development and Applications of Parallel Technology; Elsevier: Amsterdam, The Netherlands, 1999. [Google Scholar]
- Chow, V.T. Open Channel Hydraulics; McGraw-Hill Book Company: New York, NY, USA, 1959. [Google Scholar]

**Figure 2.**Graph of the main iteration loop in the parallelization process (

**a**) and the fork-join model in the OpenMP framework (

**b**).

**Figure 5.**Numerical solution of Equation (4) at t = 450 s with Δx = 10 m using the explicit scheme (Δt = 0.017 s) and the implicit scheme for various time step values Δt = [2, 10, 20] s and for various values of the weighting parameter: θ = 0.5 (

**a**), θ = 0.6 (

**b**), θ = 0.8 (

**c**), θ = 1.0 (

**d**).

**Figure 6.**Comparison of the explicit, explicit with ATS, and implicit schemes (θ = 0.5 and ω = 0.7) with regard to computation time T

_{S}(

**a**) and computational efficiency E (

**b**).

**Figure 7.**Dependence of the time step length on the simulation time for the ATS method: linear scale (

**a**), logarithmic scale (

**b**).

**Figure 8.**Contour density plot of the bottom elevation (

**a**) and the Dirichlet type boundary condition (

**b**) assumed in the two-dimensional wave propagation test.

**Figure 9.**Three dimensional view of water surface propagation over the bottom (for 200 × 200 elements, Δx = 5 m, Δt = 5 s) at selected times: t = 500 s (

**a**), t = 1200 s (

**b**), t = 3900 s (

**c**), t = 30,000 s (

**d**).

**Figure 10.**Water profiles along the row corresponding to x = 500 m computed at the time 1200 s using the explicit and implicit schemes for grid resolutions 1000 × 1000 and 500 × 500.

**Figure 11.**Dependency of (

**a**) speed up and (

**b**) efficiency on the number of processors applied in the CPU for parallel computations.

**Table 1.**Impact of the space interval Δx, time interval Δt, and spatial approximation weighting parameter θ on the accuracy of the numerical solution obtained using the implicit and explicit schemes with ATS.

Spatial Step Δx | Explicit | Implicit | |||||
---|---|---|---|---|---|---|---|

Time Step min/max Δt | RMSE | Time Step Δt | RMSE | ||||

θ = 0.5 | θ = 0.6 | θ = 0.8 | θ = 1.0 | ||||

(m) | (s) | (10^{−3} m) | (s) | (10^{−3} m) | (10^{−3} m) | (10^{−3} m) | (10^{−3} m) |

2 | 0.00067/2 | 2.09 | 2 | 1.43 | 5.45 | 12.66 | 18.64 |

5 | 0.00420/5 | 2.64 | 5 | 1.58 | 10.61 | 24.89 | 36.26 |

10 | 0.01690/10 | 4.73 | 10 | 3.55 | 18.70 | 41.55 | 59.77 |

**Table 2.**Accuracy and efficiency statistics (the total computation time, the computational efficiency (Equation (32)) and the relative efficiency (Equation (34a)) for the explicit scheme with the constant time step and the adaptive time step (ATS).

Spatial Step Δx | Constant Time Step | Adaptive Time Step (ATS) | Relative Effic. ΔE | ||||||
---|---|---|---|---|---|---|---|---|---|

Time Step Δt | RMSE | Comp. Time T _{S} | Comp. Effic. E _{E} | Time Step Min/Max Δt | RMSE | Comp. Time T _{S} | Comp. Effic. E _{EA} | ||

(m) | (s) | (10^{−3} m) | (s) | (m^{−1}s^{−1}) | (s) | (10^{−3} m) | (s) | (m^{−1}s^{−1}) | (%) |

2 | 0.0006 | 2.05 | 67.89 | 7.2 | 0.0006/2 | 2.09 | 53.46 | 8.9 | 23.6 |

5 | 0.0042 | 1.92 | 4.35 | 119.9 | 0.0042/5 | 2.64 | 3.53 | 106.9 | −10.8 |

10 | 0.0169 | 1.31 | 0.55 | 1386.7 | 0.0169/10 | 4.73 | 0.45 | 469.0 | −66.2 |

**Table 3.**Accuracy and efficiency statistics (the total computation time, the computational efficiency, and (Equation (32)) the relative efficiency (Equation (34b)) for the explicit scheme with the constant time step, the adaptive time step (ATS), and the implicit method with θ = 0.5 and ω = 0.7.

Spatial Step x | Explicit Adaptive Time Step (ATS) | Implicit | Relative Effic. ΔE | ||||||
---|---|---|---|---|---|---|---|---|---|

Time Step min/max t | RMSE | Comp. Time T _{S} | Effic. E _{EA} | Time Step Δt | RMSE | Comp. Time T _{S} | Effic. E _{I} | ||

(m) | (s) | (10^{−3} m) | (s) | (m^{−1} s^{−1}) | (s) | (10^{−3} m) | (s) | (m^{−1} s^{−1}) | (%) |

2 | 0.0006/2 | 2.09 | 53.46 | 8.9 | 2 | 1.42 | 0.16 | 4386 | 49,105 |

5 | 0.0042/5 | 2.64 | 3.53 | 106.9 | 5 | 1.58 | 0.03 | 21,059 | 19,590 |

10 | 0.0169/10 | 4.73 | 0.45 | 469.0 | 10 | 3.55 | 0.01 | 28,158 | 5303 |

**Table 4.**Accuracy, efficiency, and statistics (computational time, speed up (Equation (35)), and parallel efficiency (Equation (36)) for parallel computations using the implicit scheme (θ = 0.65 and ω = 0.7) for the simulation time equal to t = 30,000 s.

No. Elements | Spatial Step Δx = Δy | Time Step Δt | RMSE | No. CPU Proc. | Comp. Time T _{S} | Speed Up S | Parallel Effic. E _{P} |
---|---|---|---|---|---|---|---|

(-) | (m) | (s) | (m) | (-) | (s) | (-) | (-) |

100 × 100 | 10 | 2.5 | 0.026 | 1 | 87.59 | 1.00 | 1.00 |

2 | 50.17 | 1.75 | 0.87 | ||||

4 | 30.35 | 2.89 | 0.72 | ||||

8 | 23.04 | 3.80 | 0.48 | ||||

200 × 200 | 5 | 1.25 | 0.036 | 1 | 627.99 | 1.00 | 1.00 |

2 | 346.80 | 1.81 | 0.91 | ||||

4 | 202.73 | 3.09 | 0.77 | ||||

8 | 140.17 | 4.48 | 0.56 | ||||

500 × 500 | 2 | 0.5 | 0.035 | 1 | 9047.14 | 1.00 | 1.00 |

2 | 5245.99 | 1.72 | 0.86 | ||||

4 | 2959.87 | 3.06 | 0.76 | ||||

8 | 1996.98 | 4.53 | 0.57 | ||||

1000 × 1000 | 1 | 0.25 | 0.027 | 1 | 73,267.80 | 1.00 | 1.00 |

2 | 40,659.70 | 1.80 | 0.90 | ||||

4 | 24,075.80 | 3.04 | 0.76 | ||||

8 | 15,064.30 | 4.86 | 0.61 |

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Artichowicz, W.; Gąsiorowski, D.
Computationally Efficient Solution of a 2D Diffusive Wave Equation Used for Flood Inundation Problems. *Water* **2019**, *11*, 2195.
https://doi.org/10.3390/w11102195

**AMA Style**

Artichowicz W, Gąsiorowski D.
Computationally Efficient Solution of a 2D Diffusive Wave Equation Used for Flood Inundation Problems. *Water*. 2019; 11(10):2195.
https://doi.org/10.3390/w11102195

**Chicago/Turabian Style**

Artichowicz, Wojciech, and Dariusz Gąsiorowski.
2019. "Computationally Efficient Solution of a 2D Diffusive Wave Equation Used for Flood Inundation Problems" *Water* 11, no. 10: 2195.
https://doi.org/10.3390/w11102195