Changeset 4377
- Timestamp:
- Apr 15, 2007, 7:03:53 PM (18 years ago)
- Location:
- anuga_core/documentation/user_manual
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_core/documentation/user_manual/anuga_user_manual.tex
r4369 r4377 1731 1731 Module: \module{shallow\_water.shallow\_water\_domain} 1732 1732 1733 Set the minimum depth (in meters) that will be recognised in 1733 Set the minimum depth (in meters) that will be recognised in 1734 1734 the numerical scheme (including limiters and flux computations) 1735 1736 Default value is $10^{-3}$ m, but by setting this to a greater value, 1737 e.g.\ for large scale simulations, the computation time can be 1738 significantly reduced. 1735 1736 Default value is $10^{-3}$ m, but by setting this to a greater value, 1737 e.g.\ for large scale simulations, the computation time can be 1738 significantly reduced. 1739 1739 \end{methoddesc} 1740 1740 … … 2256 2256 Here the numbers in \code{steps=12 (12)} indicate the number of steps taken and 2257 2257 the number of first-order steps, respectively.\\ 2258 2259 The optional keyword argument \code{track_speeds=True} will 2260 generate a histogram of speeds generated by each triangle. The 2261 speeds relate to the size of the timesteps used by ANUGA and 2262 this diagnostics may help pinpoint problem areas where excessive speeds 2263 are generated. 2264 2258 2259 The optional keyword argument \code{track_speeds=True} will 2260 generate a histogram of speeds generated by each triangle. The 2261 speeds relate to the size of the timesteps used by ANUGA and 2262 this diagnostics may help pinpoint problem areas where excessive speeds 2263 are generated. 2264 2265 2265 \end{funcdesc} 2266 2266 … … 2669 2669 2670 2670 2671 2671 2672 2672 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2673 2673 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% … … 2679 2679 2680 2680 This chapter outlines the mathematics underpinning \anuga. 2681 2682 2681 2682 2683 2683 2684 2684 \section{Model} … … 2728 2728 in which $\eta$ is the Manning resistance coefficient. 2729 2729 2730 As demonstrated in our papers, \cite{ modsim2005,Rob99l} these2730 As demonstrated in our papers, \cite{ZR1999,nielsen2005} these 2731 2731 equations provide an excellent model of flows associated with 2732 2732 inundation such as dam breaks and tsunamis. … … 2736 2736 2737 2737 We use a finite-volume method for solving the shallow water wave 2738 equations \cite{ Rob99l}. The study area is represented by a mesh of2738 equations \cite{ZR1999}. The study area is represented by a mesh of 2739 2739 triangular cells as in Figure~\ref{fig:mesh} in which the conserved 2740 2740 quantities of water depth $h$, and horizontal momentum $(uh, vh)$, … … 2745 2745 \begin{figure} 2746 2746 \begin{center} 2747 \includegraphics[width= 5.0cm,keepaspectratio=true]{step-five}2747 \includegraphics[width=8.0cm,keepaspectratio=true]{graphics/step-five} 2748 2748 \caption{Triangular mesh used in our finite volume method. Conserved 2749 2749 quantities $h$, $uh$ and $vh$ are associated with the centroid of … … 2811 2811 artificially introduced oscillations. 2812 2812 2813 Godunov's method (see \cite{Toro -92}) involves calculating the2813 Godunov's method (see \cite{Toro1992}) involves calculating the 2814 2814 numerical flux function $\HH(\cdot, \cdot ; \ \cdot)$ by exactly 2815 2815 solving the corresponding one dimensional Riemann problem normal to … … 2819 2819 \begin{figure} 2820 2820 \begin{center} 2821 \includegraphics[width= 5.0cm,keepaspectratio=true]{step-reconstruct}2821 \includegraphics[width=8.0cm,keepaspectratio=true]{graphics/step-reconstruct} 2822 2822 \caption{From the values of the conserved quantities at the centroid 2823 2823 of the cell and its neighbouring cells, a discontinuous piecewise … … 2834 2834 \section{Flux limiting} 2835 2835 2836 The shallow water equations are solved numerically using a 2836 The shallow water equations are solved numerically using a 2837 2837 finite volume method on unstructured triangular grid. 2838 The upwind central scheme due to Kurganov and Petrova is used as an 2838 The upwind central scheme due to Kurganov and Petrova is used as an 2839 2839 approximate Riemann solver for the computation of inviscid flux functions. 2840 This makes it possible to handle discontinuous solutions. 2841 2842 To alleviate the problems associated with numerical instabilities due to 2840 This makes it possible to handle discontinuous solutions. 2841 2842 To alleviate the problems associated with numerical instabilities due to 2843 2843 small water depths near a wet/dry boundary we employ a new flux limiter that 2844 2844 ensures that unphysical fluxes are never encounted. 2845 2845 2846 2846 2847 Let $u$ and $v$ be the velocity components in the $x$ and $y$ direction, 2847 Let $u$ and $v$ be the velocity components in the $x$ and $y$ direction, 2848 2848 $w$ the absolute water level (stage) and 2849 $z$ the bed elevation. The latter are assumed to be relative to the 2850 same height datum. 2851 The conserved quantities tracked by ANUGA are momentum in the 2852 $x$-direction ($\mu = uh$), momentum in the $y$-direction ($\nu = vh$) 2849 $z$ the bed elevation. The latter are assumed to be relative to the 2850 same height datum. 2851 The conserved quantities tracked by ANUGA are momentum in the 2852 $x$-direction ($\mu = uh$), momentum in the $y$-direction ($\nu = vh$) 2853 2853 and depth ($h = w-z$). 2854 2854 2855 The flux calculation requires access to the velocity vector $(u, v)$ 2855 The flux calculation requires access to the velocity vector $(u, v)$ 2856 2856 where each component is obtained as $u = \mu/h$ and $v = \nu/h$ respectively. 2857 In the presence of very small water depths, these calculations become 2857 In the presence of very small water depths, these calculations become 2858 2858 numerically unreliable and will typically cause unphysical speeds. 2859 2859 2860 We have employed a flux limiter which replaces the calculations above with 2860 We have employed a flux limiter which replaces the calculations above with 2861 2861 the limited approximations. 2862 2862 \begin{equation} 2863 \hat{u} = \frac{\mu}{h + h_0/h}, \bigskip \hat{v} = \frac{\nu}{h + h_0/h}, 2863 \hat{u} = \frac{\mu}{h + h_0/h}, \bigskip \hat{v} = \frac{\nu}{h + h_0/h}, 2864 2864 \end{equation} 2865 where $h_0$ is a regularisation parameter that controls the minimal 2865 where $h_0$ is a regularisation parameter that controls the minimal 2866 2866 magnitude of the denominator. Taking the limits we have for $\hat{u}$ 2867 2867 \[ 2868 \lim_{h \rightarrow 0} \hat{u} = 2868 \lim_{h \rightarrow 0} \hat{u} = 2869 2869 \lim_{h \rightarrow 0} \frac{\mu}{h + h_0/h} = 0 2870 2870 \] 2871 and 2871 and 2872 2872 \[ 2873 \lim_{h \rightarrow \infty} \hat{u} = 2873 \lim_{h \rightarrow \infty} \hat{u} = 2874 2874 \lim_{h \rightarrow \infty} \frac{\mu}{h + h_0/h} = \frac{\mu}{h} = u 2875 2875 \] … … 2886 2886 2887 2887 2888 ANUGA has a global parameter $H_0$ that controls the minimal depth which 2888 ANUGA has a global parameter $H_0$ that controls the minimal depth which 2889 2889 is considered in the various equations. This parameter is typically set to 2890 2890 $10^{-3}$. Setting … … 2897 2897 \left[ \frac{\mu}{h + h_0/h} \right]_{h = H_0} = \frac{\mu}{2 H_0} 2898 2898 \] 2899 In general, for multiples of the minimal depth $N H_0$ one obtains 2899 In general, for multiples of the minimal depth $N H_0$ one obtains 2900 2900 \[ 2901 \left[ \frac{\mu}{h + h_0/h} \right]_{h = N H_0} = 2901 \left[ \frac{\mu}{h + h_0/h} \right]_{h = N H_0} = 2902 2902 \frac{\mu}{H_0 (1 + 1/N^2)} 2903 2903 \] 2904 which converges quadratically to the true value with the multiple N. 2904 which converges quadratically to the true value with the multiple N. 2905 2905 2906 2906 … … 2924 2924 \] 2925 2925 2926 Let $\tilde{w_i}$ be the stage obtained from a gradient limiter 2926 Let $\tilde{w_i}$ be the stage obtained from a gradient limiter 2927 2927 limiting on stage only. The corresponding depth is then defined as 2928 2928 \[ 2929 2929 \tilde{h_i} = \tilde{w_i} - z_i 2930 2930 \] 2931 We would use this limiter in deep water which we will define (somewhat boldly) 2931 We would use this limiter in deep water which we will define (somewhat boldly) 2932 2932 as 2933 2933 \[ … … 2936 2936 2937 2937 2938 Similarly, let $\bar{w_i}$ be the stage obtained from a gradient 2938 Similarly, let $\bar{w_i}$ be the stage obtained from a gradient 2939 2939 limiter limiting on depth respecting the bed slope. 2940 2940 The corresponding depth is defined as … … 2956 2956 where $\alpha \in [0, 1]$. 2957 2957 2958 Since $\tilde{w_i}$ is obtained in 'deep' water where the bedslope 2959 is ignored we have immediately that 2958 Since $\tilde{w_i}$ is obtained in 'deep' water where the bedslope 2959 is ignored we have immediately that 2960 2960 \[ 2961 2961 \alpha = 1 \mbox{ for } \hmin \ge \epsilon %or dz=0 … … 2971 2971 \alpha \tilde{h_i} + (1-\alpha) \bar{h_i} > \epsilon, \forall i 2972 2972 \] 2973 or 2974 \begin{equation} 2973 or 2974 \begin{equation} 2975 2975 \alpha(\tilde{h_i} - \bar{h_i}) > \epsilon - \bar{h_i}, \forall i 2976 2976 \label{eq:limiter bound} 2977 \end{equation} 2977 \end{equation} 2978 2978 2979 2979 There are two cases: 2980 \begin{enumerate} 2981 \item $\bar{h_i} \le \tilde{h_i}$: The deep water (limited using stage) 2982 vertex is at least as far away from the bed than the shallow water 2980 \begin{enumerate} 2981 \item $\bar{h_i} \le \tilde{h_i}$: The deep water (limited using stage) 2982 vertex is at least as far away from the bed than the shallow water 2983 2983 (limited using depth). In this case we won't need any contribution from 2984 $\bar{h_i}$ and can accept any $alpha$. 2985 2984 $\bar{h_i}$ and can accept any $alpha$. 2985 2986 2986 E.g.\ $\alpha=1$ reduces Equation \ref{eq:limiter bound} to 2987 2987 \[ 2988 \tilde{h_i} > \epsilon 2988 \tilde{h_i} > \epsilon 2989 2989 \] 2990 2990 whereas $\alpha=0$ yields 2991 2991 \[ 2992 \bar{h_i} > \epsilon 2992 \bar{h_i} > \epsilon 2993 2993 \] 2994 2994 all well and good. 2995 \item $\bar{h_i} > \tilde{h_i}$: In this case the the deep water vertex is 2996 closer to the bed than the shallow water vertex or even below the bed. 2997 In this case we need to find an $alpha$ that will ensure a positive depth. 2998 Rearranging Equation \ref{eq:limiter bound} and solving for $\alpha$ one 2995 \item $\bar{h_i} > \tilde{h_i}$: In this case the the deep water vertex is 2996 closer to the bed than the shallow water vertex or even below the bed. 2997 In this case we need to find an $alpha$ that will ensure a positive depth. 2998 Rearranging Equation \ref{eq:limiter bound} and solving for $\alpha$ one 2999 2999 obtains the bound 3000 3000 \[ 3001 3001 \alpha < \frac{\epsilon - \bar{h_i}}{\tilde{h_i} - \bar{h_i}}, \forall i 3002 \] 3003 \end{enumerate} 3004 3005 Ensuring Equation \ref{eq:limiter bound} holds true for all vertices one 3002 \] 3003 \end{enumerate} 3004 3005 Ensuring Equation \ref{eq:limiter bound} holds true for all vertices one 3006 3006 arrives at the definition 3007 3007 \[ … … 3009 3009 \] 3010 3010 which will guarantee that no vertex 'cuts' through the bed. Finally, should 3011 $\bar{h_i} < \epsilon$ and therefore $\alpha < 0$, we suggest setting 3011 $\bar{h_i} < \epsilon$ and therefore $\alpha < 0$, we suggest setting 3012 3012 $alpha=0$ and similarly capping $\alpha$ at 1 just in case. 3013 3013 3014 3014 %Furthermore, 3015 %dropping the $\epsilon$ ensures that alpha is always positive and also 3015 %dropping the $\epsilon$ ensures that alpha is always positive and also 3016 3016 %provides a numerical safety {??) 3017 3018 3017 3018 3019 3019 3020 3020 … … 3951 3951 http://www.ga.gov.au/meta/ANZCW0703008022.html 3952 3952 3953 3953 \bibitem[ZR1999]{ZR1999} 3954 \newblock {Catastrophic Collapse of Water Supply Reservoirs in Urban Areas}. 3955 \newblock C.~Zoppou and S.~Roberts. 3956 \newblock {\em ASCE J. Hydraulic Engineering}, 125(7):686--695, 1999. 3957 3958 \bibitem[Toro1999]{Toro1992} 3959 \newblock Riemann problems and the waf method for solving the two-dimensional 3960 shallow water equations. 3961 \newblock E.~F. Toro. 3962 \newblock {\em Philosophical Transactions of the Royal Society, Series A}, 3963 338:43--68, 1992. 3964 3965 \bibitem{KurNP2001} 3966 \newblock Semidiscrete central-upwind schemes for hyperbolic conservation laws 3967 and hamilton-jacobi equations. 3968 \newblock A.~Kurganov, S.~Noelle, and G.~Petrova. 3969 \newblock {\em SIAM Journal of Scientific Computing}, 23(3):707--740, 2001. 3954 3970 \end{thebibliography}{99} 3955 3971 -
anuga_core/documentation/user_manual/definitions.tex
r4376 r4377 17 17 \newcommand{\mpi}{\textsc{mpi}} 18 18 19 \newcommand{\hmin}{h_{\m box{{\scriptstyle min}}}}19 \newcommand{\hmin}{h_{\min}} 20 20 21 21 \newcommand{\UU}{\mathbf{U}} … … 39 39 \newenvironment{displayedcode} 40 40 {\begin{tabular}{p{0.41cm}l}} 41 41 {\end{tabular}}
Note: See TracChangeset
for help on using the changeset viewer.