Shallow water equations (SWE): well-posed initial data for single travelling pulse

This question concerns the 1-dimensional (i.e. only one spatial dimension) shallow water equations (SWE) shown below and how to find initial conditions such that we obtain a travelling pulse/wave instead of the typical water droplet scenario that yields two travelling waves in opposite directions (this corresponds to setting the momentum $$m$$ to zero everywhere as initial condition). Also, I use the Roe scheme to solve this problem numerically.

The SWEs are

\begin{align} \begin{pmatrix} h \\ m \end{pmatrix}_{t} + \begin{pmatrix} m \\ \frac{m^{2}}{h} + \frac{1}{2} gh^{2} \end{pmatrix}_{x} = \begin{pmatrix} 0 \\ -ghB_{x} \end{pmatrix}, \end{align}

where $$B(x)$$ denotes the bottom's elevation (over the $$x$$-axis), or the bathymetry if you will. I will set $$B=0$$, so we do not have to worry about reflections. Let's say I set the initial data for the state variable $$h$$ to $$h(x,0)=\phi(x)$$, where $$\phi$$ denotes some Gaussian. How do I construct a intitial condition for $$m$$ such that I obtain a single travelling pulse in my simulation? See figure below of the results I obtain for zero momentum initial data.

What I would like is just one "bump". I have tried setting the initial momentum as large as possible for the higher water staples and also positive, so that (in my mind) we will get a right-going wave. This led to spurious solutions unfortunately. I read somewhere that you have to consider eigenvectors to obtain such initial data, but I don't understand what they mean. Eigenvectors of the Roe-average-matrix?

Yes, this is what I found in LeVeque's book (right after I posted my question). I am looking at those integral curves in Figure 13.12. Is it the case that $$u_{0}(0)$$ and $$h_{0}(0)$$ are always equal to zero, or can be set to any point in the state space, e.g. zero? What I am looking for specifically is a closed expression for $$u_{0}(x)$$ (or $$m_{0}(x)$$) given $$h_{0}(x)$$, so if I understand this correctly I would obtain

\begin{align} &\text{Given:}& h_{0}(x) &= H + a\exp\left(-\frac{(x-L/2)^{2}}{w^{2}}\right), \\[3mm] &\text{simple wave going rightwards}\implies& u_{0}(x) &= 2\sqrt{gh_{0}(x)}. \end{align}

Here I have just set $$h_{0}(0)=0$$ and $$u_{0}(0)=0$$, but this seems unsatisfactory since $$h_{0}(0)=H\equiv1$$ with my initial data. Now, according to the integral curves in Fig 13.12, I may choose $$h_{*}=h_{0}(0)=1$$ and $$m_{*}=m_{0}(0)=0$$. I then obtain as a closed expression for $$u_{0}$$ (or $$m_{0}(0)$$ rather)

\begin{align} m_{0}(x) = 2h_{0}(x)\left(\sqrt{g}-\sqrt{gh_{0}(x)}\right). \end{align}

This is according to equation (13.31) in LeVeque's book. Is this the correct formulation? Thank you for your time.

What this means specifically is that your initial data should satisfy $$u_0(x) \pm 2\sqrt{gh_0(x)} = u_0(0) \pm 2\sqrt{gh_0(0)}.$$ Here $$h_0(x), u_0(x)$$ are the initial depth and velocity. If you take "+" the solution will go left, and if you take "-" it will go right.
• I tried a simulation using the second proposed formulation of $m_{0}(x)$ and it worked perfectly! It gave me a simple wave without any backwards travelling wavelets. – SimpleProgrammer May 6 at 14:48
• The values $h_0(0)$ and $u_0(0)$ are just the depth and momentum at a particular point (I took $x=0$ but since this relation holds for all points, you can pick any point). There is no need to choose specifically $h_0(0)=0$. – David Ketcheson May 7 at 17:51