# Changeset 4377

Ignore:
Timestamp:
Apr 15, 2007, 7:03:53 PM (16 years ago)
Message:

Location:
anuga_core/documentation/user_manual
Files:
2 edited

### Legend:

Unmodified
 r4369 Module: \module{shallow\_water.shallow\_water\_domain} Set the minimum depth (in meters) that will be recognised in Set the minimum depth (in meters) that will be recognised in the numerical scheme (including limiters and flux computations) Default value is $10^{-3}$ m, but by setting this to a greater value, e.g.\ for large scale simulations, the computation time can be significantly reduced. Default value is $10^{-3}$ m, but by setting this to a greater value, e.g.\ for large scale simulations, the computation time can be significantly reduced. \end{methoddesc} Here the numbers in \code{steps=12 (12)} indicate the number of steps taken and the number of first-order steps, respectively.\\ The optional keyword argument \code{track_speeds=True} will generate a histogram of speeds generated by each triangle. The speeds relate to the size of the timesteps used by ANUGA and this diagnostics may help pinpoint problem areas where excessive speeds are generated. The optional keyword argument \code{track_speeds=True} will generate a histogram of speeds generated by each triangle. The speeds relate to the size of the timesteps used by ANUGA and this diagnostics may help pinpoint problem areas where excessive speeds are generated. \end{funcdesc} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% This chapter outlines the mathematics underpinning \anuga. \section{Model} in which $\eta$ is the Manning resistance coefficient. As demonstrated in our papers, \cite{modsim2005,Rob99l} these As demonstrated in our papers, \cite{ZR1999,nielsen2005} these equations provide an excellent model of flows associated with inundation such as dam breaks and tsunamis. We use a finite-volume method for solving the shallow water wave equations \cite{Rob99l}. The study area is represented by a mesh of equations \cite{ZR1999}. The study area is represented by a mesh of triangular cells as in Figure~\ref{fig:mesh} in which the conserved quantities of  water depth $h$, and horizontal momentum $(uh, vh)$, \begin{figure} \begin{center} \includegraphics[width=5.0cm,keepaspectratio=true]{step-five} \includegraphics[width=8.0cm,keepaspectratio=true]{graphics/step-five} \caption{Triangular mesh used in our finite volume method. Conserved quantities $h$, $uh$ and $vh$ are associated with the centroid of artificially introduced oscillations. Godunov's method (see \cite{Toro-92}) involves calculating the Godunov's method (see \cite{Toro1992}) involves calculating the numerical flux function $\HH(\cdot, \cdot ; \ \cdot)$ by exactly solving the corresponding one dimensional Riemann problem normal to \begin{figure} \begin{center} \includegraphics[width=5.0cm,keepaspectratio=true]{step-reconstruct} \includegraphics[width=8.0cm,keepaspectratio=true]{graphics/step-reconstruct} \caption{From the values of the conserved quantities at the centroid of the cell and its neighbouring cells, a discontinuous piecewise \section{Flux limiting} The shallow water equations are solved numerically using a The shallow water equations are solved numerically using a finite volume method on unstructured triangular grid. The upwind central scheme due to Kurganov and Petrova is used as an The upwind central scheme due to Kurganov and Petrova is used as an approximate Riemann solver for the computation of inviscid flux functions. This makes it possible to handle discontinuous solutions. To alleviate the problems associated with numerical instabilities due to This makes it possible to handle discontinuous solutions. To alleviate the problems associated with numerical instabilities due to small water depths near a wet/dry boundary we employ a new flux limiter that ensures that unphysical fluxes are never encounted. Let $u$ and $v$ be the velocity components in the $x$ and $y$ direction, Let $u$ and $v$ be the velocity components in the $x$ and $y$ direction, $w$ the absolute water level (stage) and $z$ the bed elevation. The latter are assumed to be relative to the same height datum. The conserved quantities tracked by ANUGA are momentum in the $x$-direction ($\mu = uh$), momentum in the $y$-direction ($\nu = vh$) $z$ the bed elevation. The latter are assumed to be relative to the same height datum. The conserved quantities tracked by ANUGA are momentum in the $x$-direction ($\mu = uh$), momentum in the $y$-direction ($\nu = vh$) and depth ($h = w-z$). The flux calculation requires access to the velocity vector $(u, v)$ The flux calculation requires access to the velocity vector $(u, v)$ where each component is obtained as $u = \mu/h$ and $v = \nu/h$ respectively. In the presence of very small water depths, these calculations become In the presence of very small water depths, these calculations become numerically unreliable and will typically cause unphysical speeds. We have employed a flux limiter which replaces the calculations above with We have employed a flux limiter which replaces the calculations above with the limited approximations. \hat{u} = \frac{\mu}{h + h_0/h}, \bigskip \hat{v} = \frac{\nu}{h + h_0/h}, \hat{u} = \frac{\mu}{h + h_0/h}, \bigskip \hat{v} = \frac{\nu}{h + h_0/h}, where $h_0$ is a regularisation parameter that controls the minimal where $h_0$ is a regularisation parameter that controls the minimal magnitude of the denominator. Taking the limits we have for $\hat{u}$ $\lim_{h \rightarrow 0} \hat{u} = \lim_{h \rightarrow 0} \hat{u} = \lim_{h \rightarrow 0} \frac{\mu}{h + h_0/h} = 0$ and and $\lim_{h \rightarrow \infty} \hat{u} = \lim_{h \rightarrow \infty} \hat{u} = \lim_{h \rightarrow \infty} \frac{\mu}{h + h_0/h} = \frac{\mu}{h} = u$ ANUGA has a global parameter $H_0$ that controls the minimal depth which ANUGA has a global parameter $H_0$ that controls the minimal depth which is considered in the various equations. This parameter is typically set to $10^{-3}$. Setting \left[ \frac{\mu}{h + h_0/h} \right]_{h = H_0} = \frac{\mu}{2 H_0} \] In general, for multiples of the minimal depth $N H_0$ one obtains In general, for multiples of the minimal depth $N H_0$ one obtains $\left[ \frac{\mu}{h + h_0/h} \right]_{h = N H_0} = \left[ \frac{\mu}{h + h_0/h} \right]_{h = N H_0} = \frac{\mu}{H_0 (1 + 1/N^2)}$ which converges quadratically to the true value with the multiple N. which converges quadratically to the true value with the multiple N. \] Let $\tilde{w_i}$ be the stage obtained from a gradient limiter Let $\tilde{w_i}$ be the stage obtained from a gradient limiter limiting on stage only. The corresponding depth is then defined as $\tilde{h_i} = \tilde{w_i} - z_i$ We would use this limiter in deep water which we will define (somewhat boldly) We would use this limiter in deep water which we will define (somewhat boldly) as $Similarly, let \bar{w_i} be the stage obtained from a gradient Similarly, let \bar{w_i} be the stage obtained from a gradient limiter limiting on depth respecting the bed slope. The corresponding depth is defined as where \alpha \in [0, 1]. Since \tilde{w_i} is obtained in 'deep' water where the bedslope is ignored we have immediately that Since \tilde{w_i} is obtained in 'deep' water where the bedslope is ignored we have immediately that \[ \alpha = 1 \mbox{ for } \hmin \ge \epsilon %or dz=0 \alpha \tilde{h_i} + (1-\alpha) \bar{h_i} > \epsilon, \forall i$ or or \alpha(\tilde{h_i} - \bar{h_i}) > \epsilon - \bar{h_i}, \forall i \label{eq:limiter bound} There are two cases: \begin{enumerate} \item $\bar{h_i} \le \tilde{h_i}$: The deep water (limited using stage) vertex is at least as far away from the bed than the shallow water \begin{enumerate} \item $\bar{h_i} \le \tilde{h_i}$: The deep water (limited using stage) vertex is at least as far away from the bed than the shallow water (limited using depth). In this case we won't need any contribution from $\bar{h_i}$ and can accept any $alpha$. $\bar{h_i}$ and can accept any $alpha$. E.g.\ $\alpha=1$ reduces Equation \ref{eq:limiter bound} to $\tilde{h_i} > \epsilon \tilde{h_i} > \epsilon$ whereas $\alpha=0$ yields $\bar{h_i} > \epsilon \bar{h_i} > \epsilon$ all well and good. \item $\bar{h_i} > \tilde{h_i}$: In this case the the deep water vertex is closer to the bed than the shallow water vertex or even below the bed. In this case we need to find an $alpha$ that will ensure a positive depth. Rearranging Equation \ref{eq:limiter bound} and solving for $\alpha$ one \item $\bar{h_i} > \tilde{h_i}$: In this case the the deep water vertex is closer to the bed than the shallow water vertex or even below the bed. In this case we need to find an $alpha$ that will ensure a positive depth. Rearranging Equation \ref{eq:limiter bound} and solving for $\alpha$ one obtains the bound $\alpha < \frac{\epsilon - \bar{h_i}}{\tilde{h_i} - \bar{h_i}}, \forall i$ \end{enumerate} Ensuring Equation \ref{eq:limiter bound} holds true for all vertices one \] \end{enumerate} Ensuring Equation \ref{eq:limiter bound} holds true for all vertices one arrives at the definition  which will guarantee that no vertex 'cuts' through the bed. Finally, should $\bar{h_i} < \epsilon$ and therefore $\alpha < 0$, we suggest setting $\bar{h_i} < \epsilon$ and therefore $\alpha < 0$, we suggest setting $alpha=0$ and similarly capping $\alpha$ at 1 just in case. %Furthermore, %dropping the $\epsilon$ ensures that alpha is always positive and also %dropping the $\epsilon$ ensures that alpha is always positive and also %provides a numerical safety {??) http://www.ga.gov.au/meta/ANZCW0703008022.html \bibitem[ZR1999]{ZR1999} \newblock {Catastrophic Collapse of Water Supply Reservoirs in Urban Areas}. \newblock C.~Zoppou and S.~Roberts. \newblock {\em ASCE J. Hydraulic Engineering}, 125(7):686--695, 1999. \bibitem[Toro1999]{Toro1992} \newblock Riemann problems and the waf method for solving the two-dimensional shallow water equations. \newblock E.~F. Toro. \newblock {\em Philosophical Transactions of the Royal Society, Series A}, 338:43--68, 1992. \bibitem{KurNP2001} \newblock Semidiscrete central-upwind schemes for hyperbolic conservation laws and hamilton-jacobi equations. \newblock A.~Kurganov, S.~Noelle, and G.~Petrova. \newblock {\em SIAM Journal of Scientific Computing}, 23(3):707--740, 2001. \end{thebibliography}{99}