1 Introduction
This paper is concerned with computing three-dimensional steady free-surface flow of an inviscid fluid over a bottom topography. Upstream from the bottom disturbance, the flow approaches an undisturbed free stream, while downstream from the disturbance there is a wave pattern on the surface which depends on the features of the bottom topography and the speed of the oncoming flow. The surface wave pattern is closely related to a ship wake generated at the stern of a steadily moving vessel. Other realisations of these flows include large-scale oceanic flows over seamounts, or rivers flowing steadily over underwater ridges and isolated obstructions.
The two-dimensional version of this problem has an extensive history. Typically, complex variable methods are used to reformulate the problem in terms of an integral equation, which can be solved numerically using collocation (Forbes & Schwartz Reference Forbes and Schwartz1982; King & Bloor Reference King and Bloor1990; Zhang & Zhu Reference Zhang and Zhu1996b ; Chuang Reference Chuang2000; Dias & Vanden-Broeck Reference Dias and Vanden-Broeck2002; Binder, Dias & Vanden-Broeck Reference Binder, Dias and Vanden-Broeck2006; Binder, Blyth & McCue Reference Binder, Blyth and McCue2013; Hocking, Holmes & Forbes Reference Hocking, Holmes and Forbes2013; Pethiyagoda, Moroney & McCue Reference Pethiyagoda, Moroney and McCue2018b ). With these schemes, the effects of bottom topography and nonlinearity on the downstream waves can be explored in some detail. Alternatively, other approaches include solving for the coefficients in a series solution (Dias & Vanden-Broeck Reference Dias and Vanden-Broeck1989; Higgins, Read & Belward Reference Higgins, Read and Belward2006). In contrast to fully numerical studies, analytical progress has been made in two dimensions by linearising the problem (limit of vanishingly small bottom obstruction) (Lamb Reference Lamb1932; Gazdar Reference Gazdar1973; Forbes & Schwartz Reference Forbes and Schwartz1982; King & Bloor Reference King and Bloor1990), applying a weakly nonlinear expansion which leads to a steady forced Korteweg–de Vries equation (Dias & Vanden-Broeck Reference Dias and Vanden-Broeck2002; Binder et al. Reference Binder, Dias and Vanden-Broeck2006; Chardard et al. Reference Chardard, Dias, Nguyen and Vanden-Broeck2011; Binder, Blyth & Balasuriya Reference Binder, Blyth and Balasuriya2014), or using asymptotic analysis (limit of vanishingly small fluid speed) (Chapman & Vanden-Broeck Reference Chapman and Vanden-Broeck2006; Lustri, McCue & Binder Reference Lustri, McCue and Binder2012).
Steady flow in three dimensions presents a number of additional challenges. First, complex variable methods no longer apply in three dimensions, thus many elegant mathematical tricks are no longer appropriate. Second, even if a boundary integral approach is used, the numerical task is much more demanding due to the size of the problem. Third, the actual wave patterns that develop behind a bottom obstruction are much more complicated in three dimensions. For these reasons, despite the extensive history of studying the two-dimensional version (see above), there are surprisingly few attempts to analyse the three-dimensional problem. Certainly, the linear problem is reasonably straightforward to handle with Fourier transforms (many such problems are treated in Wehausen & Laitone (Reference Wehausen and Laitone1960), for example) and there is a history of attention given to various three-dimensional problems involving internal gravity waves (mountain waves) in compressible fluids (Broutman, Rottman & Eckermann Reference Broutman, Rottman and Eckermann2010; Eckermann et al. Reference Eckermann, Lindeman, Broutman, Ma and Boybeyi2010; Teixeira Reference Teixeira2014). However, as far as we are aware, there has been no thorough numerical study of fully nonlinear steady free-surface flows of an ideal fluid over a bottom topography that give rise to surface gravity wave patterns.
In this paper, we start by following the approach of Forbes (Reference Forbes1989) and others (Părău & Vanden-Broeck Reference Părău and Vanden-Broeck2002, Reference Părău and Vanden-Broeck2011; Părău, Vanden-Broeck & Cooker Reference Părău, Vanden-Broeck and Cooker2005a ,Reference Părău, Vanden-Broeck and Cooker b , Reference Părău, Vanden-Broeck and Cooker2007a ,Reference Părău, Vanden-Broeck and Cooker b ) who apply a boundary integral formulation based on Green’s functions for three-dimensional steady flows past submerged singularities and surface pressure distributions. The effect of this framework is to reduce a three-dimensional problem into a two-dimensional one. We adapt their formulation to apply for flow past a bottom obstruction and then build on the work of Pethiyagoda et al. (Reference Pethiyagoda, McCue, Moroney and Back2014a ), Pethiyagoda, McCue & Moroney (Reference Pethiyagoda, McCue and Moroney2014b ) to develop a Jacobian-free Newton–Krylov (JFNK) method to solve the nonlinear system arising from collocation. The problems considered in Pethiyagoda et al. (Reference Pethiyagoda, McCue, Moroney and Back2014a ,Reference Pethiyagoda, McCue and Moroney b ) are for an infinitely deep fluid and so do not take into account a channel bottom, which we assume is of arbitrary shape. As such, the preconditioner required in Pethiyagoda et al. (Reference Pethiyagoda, McCue, Moroney and Back2014a ,Reference Pethiyagoda, McCue and Moroney b ) has a more simple structure with only one fully dense block. On the other hand, for our finite-depth flows, we have had to take a more considered approach in terms of blocking and banding the preconditioner. We find that our numerical scheme is highly effective and allows a much larger number of grid points when compared to the standard approach without preconditioning.
The outline of our paper is as follows. In § 2 we formulate the problem in terms of a velocity potential
$\unicode[STIX]{x1D6F7}(x,y,z)$
, which satisfied Laplace’s equation throughout the fluid domain, and the unknown free surface
$z=\unicode[STIX]{x1D701}(x,y)$
. There are two inputs to the dimensionless problem, the Froude number
$F$
and the dimensionless description of the bottom topography,
$z=\unicode[STIX]{x1D6FD}(x,y)$
. We recast the problem by applying a boundary integral method so that ultimately the governing equations are a system of two integrodifferential equations. In § 3 we discretise our governing equations to produce a nonlinear system of algebraic equations, which we solve using a JFNK method. The preconditioner we use is related to the linear problem, as we explain in § 4. In § 5 we present numerical results, including free-surface profiles for subcritical and supercritical flows and a variety of bottom configurations. Our results highlight the role of nonlinearity, as we illustrate features of surface wave patterns that are observed only for highly nonlinear solutions. Finally, we close our paper in § 6 with a summary and discussion of the relationship between our solutions and those due to steadily moving ships.
2 Formulating the problem
2.1 Problem definition
We consider the irrotational flow of an inviscid, incompressible fluid bounded above by a free surface and below by a channel bottom with arbitrary topography. Far upstream, there is a uniform stream flowing with constant velocity
$U$
and depth
$H$
. Cartesian coordinates are set up such that the flow is predominantly in the positive
$x$
-direction and gravity acts in the negative
$z$
-direction. Due to the bottom topography, a wave pattern resembling a ship’s wake appears on the free surface. A schematic of the problem set-up is shown in figure 1. We are interested in the steady-state problem that arises from the long-time limit of this set-up.
Diagram of the flow problem. The
$x$
-axis is aligned with the direction of the flow far upstream. The fluid is bounded above by the free surface
$z=\unicode[STIX]{x1D701}(x,y)$
and bounded below by the topography
$z=\unicode[STIX]{x1D6FD}(x,y)$
, which, in this schematic, is an isolated bump.

The problem is non-dimensionalised by scaling all lengths by the upstream depth,
$H$
, and all velocities by
$U$
. By denoting the free surface by
$z=\unicode[STIX]{x1D701}(x,y)$
and the bottom boundary by
$z=\unicode[STIX]{x1D6FD}(x,y)$
, the dimensionless problem is to solve Laplace’s equation for the velocity potential
$\unicode[STIX]{x1D6F7}(x,y,z)$
,
subject to the kinematic, dynamic and radiation conditions:
where
$F$
is the depth-based Froude number,
$F=U/\sqrt{gH}$
. We assume the dimensionless bottom topography
$z=\unicode[STIX]{x1D6FD}(x,y)$
has the property
$\unicode[STIX]{x1D6FD}\rightarrow -1$
as
$x^{2}+y^{2}\rightarrow \infty$
; that is, the bottom surface becomes flat away from the origin.
The velocity potential on the free surface
$z=\unicode[STIX]{x1D701}(x,y)$
is denoted by
$\unicode[STIX]{x1D719}(x,y)=\unicode[STIX]{x1D6F7}(x,y,\unicode[STIX]{x1D701}(x,y))$
; on the bottom boundary
$z=\unicode[STIX]{x1D6FD}(x,y)$
, it is denoted by
$\unicode[STIX]{x1D713}(x,y)=\unicode[STIX]{x1D6F7}(x,y,\unicode[STIX]{x1D6FD}(x,y))$
. With this notation, the dynamic condition (2.4) can be rewritten to incorporate the kinematic condition (2.2) as
We use this form of the boundary condition below.
At this stage it is worth noting that once a solution is computed, the pressure acting on the channel bottom can be calculated by rearranging and evaluating Bernoulli’s equation along the bottom boundary to give
Our numerical scheme presented in § 3 solves for the velocity potential
$\unicode[STIX]{x1D713}$
. As such, the pressure field
$p(x,y,\unicode[STIX]{x1D6FD})$
can be computed at very little additional cost and thus, in principle, the total force acting on the bottom topography can be calculated numerically by integrating the pressure over the bottom boundary.
To keep the scheme general, the bottom topography is left arbitrary in our formulation. However, for the purposes of presenting results, we make use of the bottom shape
which represents a Gaussian bump centred at
$(b_{1},b_{2})$
with height
$\unicode[STIX]{x1D716}$
and ‘width’
$\unicode[STIX]{x1D6FF}$
. We shall also use combinations of Gaussian bumps with different centres and widths.
2.2 Boundary integral formulation
In order to compute numerical solutions to (2.1) subject to (2.2)–(2.6), the problem is now reformulated into an integral equation using Green’s second theorem on the functions
$\unicode[STIX]{x1D6F7}-x$
in the flow domain, with the Green’s function
Omitting the details, this reformulation results in the integral equation
where
$$\begin{eqnarray}\displaystyle I_{1} & = & \displaystyle \iint _{\mathbb{R}^{2}}(\unicode[STIX]{x1D719}(x,y)-\unicode[STIX]{x1D719}(x^{\ast },y^{\ast })-x+x^{\ast })\nonumber\\ \displaystyle & & \displaystyle \quad \times \,K_{1}(x,y,x^{\ast },y^{\ast },\unicode[STIX]{x1D701},\unicode[STIX]{x1D701}_{x},\unicode[STIX]{x1D701}_{y},\unicode[STIX]{x1D701}(x^{\ast },y^{\ast }))\,\text{d}x\,\text{d}y,\end{eqnarray}$$
$$\begin{eqnarray}\displaystyle I_{3} & = & \displaystyle \iint _{\mathbb{R}^{2}}(\unicode[STIX]{x1D713}(x,y)-x)\nonumber\\ \displaystyle & & \displaystyle \times \,-\!K_{1}(x,y,x^{\ast },y^{\ast },\unicode[STIX]{x1D6FD},\unicode[STIX]{x1D6FD}_{x},\unicode[STIX]{x1D6FD}_{y},\unicode[STIX]{x1D701}(x^{\ast },y^{\ast }))\,\text{d}x\,\text{d}y,\end{eqnarray}$$
Very similar boundary integral formulations have been applied by other authors for steady three-dimensional flows – for example, for flows involving submerged singularities (Forbes Reference Forbes1989; Forbes & Hocking Reference Forbes and Hocking2005; Pethiyagoda et al. Reference Pethiyagoda, McCue, Moroney and Back2014a ,Reference Pethiyagoda, McCue and Moroney b ) and flows past pressure distributions (Părău & Vanden-Broeck Reference Părău and Vanden-Broeck2002, Reference Părău and Vanden-Broeck2011; Părău et al. Reference Părău, Vanden-Broeck and Cooker2005a ,Reference Părău, Vanden-Broeck and Cooker b , Reference Părău, Vanden-Broeck and Cooker2007a ,Reference Părău, Vanden-Broeck and Cooker b ). The key difference here is that we have allowed for an arbitrary bottom topography, which makes (2.11) more complicated.
In summary, we have reformulated our problem with the use of a boundary integral method so that, for a given bottom topography
$\unicode[STIX]{x1D6FD}(x,y)$
and Froude number
$F$
, we are required to solve the integral equation (2.11) and the dynamic condition (2.7) for the two velocity potentials
$\unicode[STIX]{x1D719}(x,y)$
,
$\unicode[STIX]{x1D713}(x,y)$
and the surface elevation
$\unicode[STIX]{x1D701}(x,y)$
. For boundary conditions we impose the radiation condition (2.5)–(2.6).
3 Numerical method
3.1 Collocation scheme
The governing equations (2.7) and (2.11) are highly nonlinear. For the most gentle case in which the bottom topography is almost flat, we can simplify these equations to produce a linear problem, as detailed in § 4. However, to capture the full nonlinear features that arise for distinctively non-flat bottom topographies, we solve the equations numerically. With that in mind, the infinite plane is truncated such that
$-\infty <x<\infty$
becomes
$x_{1}<x<x_{N}$
and
$-\infty <y<\infty$
becomes
$y_{1}<y<y_{M}$
. Mesh points are then introduced as
$x_{i}=x_{1}+(i-1)\unicode[STIX]{x0394}x$
,
$i=1,2,\ldots ,N$
and
$y_{j}=y_{1}+(j-1)\unicode[STIX]{x0394}y$
,
$j=1,2,\ldots ,M$
. The point
$x_{1}$
is chosen as a suitably far-upstream value such that the surface is considered flat there. The point
$y_{1}$
is chosen such that
$y_{1}=-y_{M}$
, although the scheme allows for asymmetrical meshes. The vector of
$3(N+1)M$
unknowns
$\boldsymbol{u}$
is
The components of
$\boldsymbol{u}$
are ordered by slicing the domain in the
$x$
-direction. The values of the functions at the upstream truncation are placed before the derivatives of the corresponding slice.
The problem is solved using an inexact Newton method with an equation of the form
$\boldsymbol{F}(\boldsymbol{u})=\mathbf{0}$
. First, the values for the equation for the free surface and the velocity potential on the free surface and the bottom surface are calculated using the trapezoidal rule. The singular integral
$I_{2}$
can be written as
$I_{2}=I_{2}^{\prime }+I_{2}^{\prime \prime }$
, where
with
and
The integral
$I_{2}^{\prime \prime }$
can be evaluated analytically to give
$$\begin{eqnarray}\displaystyle \iint \frac{\text{d}s\,\text{d}t}{\sqrt{As^{2}+Bst+Ct^{2}}} & = & \displaystyle \frac{t}{\sqrt{A}}\ln (2As+Bt+2\sqrt{A(As^{2}+Bst+Ct^{2})})\nonumber\\ \displaystyle & & \displaystyle +\,\frac{s}{\sqrt{C}}\ln (2Ct+Bs+2\sqrt{C(As^{2}+Bst+Ct^{2})}).\qquad\end{eqnarray}$$
Evaluating the boundary integral equation (2.11) at the half-mesh points
$(x_{i+1/2},y_{j},i=1,2,\ldots ,N-1,j=1,2,\ldots ,M)$
produces
$(N-1)M$
equations. Evaluating the boundary integral equation (2.11) at the half-mesh points on the bottom surface, that is, replacing
$\unicode[STIX]{x1D701}(x^{\ast },y^{\ast })$
with
$\unicode[STIX]{x1D6FD}(x^{\ast },y^{\ast })$
and
$\unicode[STIX]{x1D719}(x^{\ast },y^{\ast })$
with
$\unicode[STIX]{x1D713}(x^{\ast },y^{\ast })$
, produces another
$(N-1)M$
equations. A further
$(N-1)M$
equations come from evaluating the dynamic condition (2.7) at the half-mesh points. The last
$6M$
equations come from the radiation condition outlined in Scullen (Reference Scullen1998),
for
$j=1,2,\ldots ,M$
. The value
$n=0.05$
represents the upstream decay rate; this particular value was also used by Pethiyagoda et al. (Reference Pethiyagoda, McCue, Moroney and Back2014a
). We now have
$3(N+1)M$
nonlinear equations (that make up the vector
$\boldsymbol{F}$
) for the
$3(N+1)M$
unknowns in (3.1).
3.2 Jacobian-free Newton–Krylov method
A Jacobian-free Newton–Krylov (JFNK) method is used to solve the system
This method uses a damped Newton iteration
with a simple line search to find
$\unicode[STIX]{x1D707}_{k}$
such that there is a sufficient decrease in the nonlinear residual. The Newton step is found by satisfying
where
$\unicode[STIX]{x1D645}$
is the Jacobian matrix. A generalised minimum residual (GMRES) method (Saad & Schultz Reference Saad and Schultz1986) with right preconditioning is used to solve for
$\unicode[STIX]{x1D739}\boldsymbol{u}_{k}$
. The approximate solution for
$\unicode[STIX]{x1D739}\boldsymbol{u}_{k}$
is found, after
$m$
iterations, by projecting onto the Krylov subspace
where
$\unicode[STIX]{x1D645}_{k}=\unicode[STIX]{x1D645}(\boldsymbol{u}_{k})$
and
$\boldsymbol{F}_{k}=\boldsymbol{F}(\boldsymbol{u}_{k})$
. The preconditioner matrix
$\unicode[STIX]{x1D64B}\approx \unicode[STIX]{x1D645}_{k}$
is a sparse approximation to the full Jacobian
$\unicode[STIX]{x1D645}_{k}$
and will be discussed further later. The purpose of the preconditioner is to reduce the number of iterations of the GMRES algorithm by reducing the dimension of the Krylov subspace necessary to find an accurate value for
$\unicode[STIX]{x1D739}\boldsymbol{u}_{k}$
.
The benefit of using a Krylov subspace method is that it does not require the full Jacobian to be formed. The Jacobian is only actioned on vectors to form the basis of the preconditioned Krylov subspace
${\mathcal{K}}_{m}$
. First-order quotients can be used to approximate these actions without having to explicitly form
$\unicode[STIX]{x1D645}_{k}$
:
where
$\boldsymbol{v}$
is an arbitrary vector used to form the Krylov subspace and
$h$
is a sufficiently small shift (Brown & Saad Reference Brown and Saad1990). Due to both the action of the Jacobian and the Newton correction both being approximated, we are left with an inexact Newton method, which leads to only superlinear and not quadratic convergence (Knoll & Keyes Reference Knoll and Keyes2004).
The aim when forming the preconditioner matrix
$\unicode[STIX]{x1D64B}$
is to construct an approximation to the Jacobian
$\unicode[STIX]{x1D645}_{k}$
that is easy to form and factorise, and exhibits a clustering of eigenvalues in the spectrum of the preconditioned Jacobian
$\unicode[STIX]{x1D645}_{k}\unicode[STIX]{x1D64B}^{-1}$
. A good starting point for such a preconditioner is to consider a simplified form of the equations. In our case, we will be applying our integral formulation to the linearised problem that arises in the limit as the bottom topography approaches a flat bottom.
4 The linear problem
4.1 Exact solution
In this section we consider the linearised version of (2.7) and (2.11) which arises from taking the limit that the perturbation of the bottom topography from a flat surface vanishes. This is done mathematically via a perturbation expansion in a parameter
$\unicode[STIX]{x1D716}$
which is a measure of the ‘height’ of the bottom disturbance. For the particular example (2.9), the parameter
$\unicode[STIX]{x1D716}$
is defined as the height of the Gaussian.
By taking the linear limit, the conditions on
$z=\unicode[STIX]{x1D701}(x,y)$
and
$z=\unicode[STIX]{x1D6FD}(x,y)$
are projected onto the planes
$z=0$
and
$z=-1$
, respectively. Omitting the details, the linearised problem is to solve Laplace’s equation
subject to the kinematic, dynamic and radiation conditions (2.2)–(2.5), which are linearised under the perturbation expansion to become
The linear problem (4.1)–(4.6) can be solved exactly using Fourier transforms to give
$$\begin{eqnarray}\displaystyle \unicode[STIX]{x1D701}(x,y) & = & \displaystyle \frac{F^{2}}{2\unicode[STIX]{x03C0}^{2}}\int _{-\unicode[STIX]{x03C0}/2}^{\unicode[STIX]{x03C0}/2}\int _{0}^{\infty }\frac{k^{2}\,\text{sech}(k)\tilde{\unicode[STIX]{x1D6FD}}(k,\unicode[STIX]{x1D713})\cos (k[|x|\cos \unicode[STIX]{x1D713}+y\sin \unicode[STIX]{x1D713}])}{kF^{2}-\sec ^{2}\unicode[STIX]{x1D713}\tanh k}\,\text{d}k\,\text{d}\unicode[STIX]{x1D713}\nonumber\\ \displaystyle & & \displaystyle -\,\frac{2F^{2}H(x)}{\unicode[STIX]{x03C0}}\int _{\unicode[STIX]{x1D713}_{0}}^{\unicode[STIX]{x03C0}/2}\frac{k_{1}^{2}\,\text{sech}(k_{1})\tilde{\unicode[STIX]{x1D6FD}}(k_{1},\unicode[STIX]{x1D713})\sin (k_{1}x\cos \unicode[STIX]{x1D713})\cos (k_{1}y\sin \unicode[STIX]{x1D713})}{F^{2}-\sec ^{2}\unicode[STIX]{x1D713}\,\text{sech}^{2}k_{1}}\,\text{d}\unicode[STIX]{x1D713},\qquad\end{eqnarray}$$
where
$H(x)$
is the Heaviside function,
$\tilde{\unicode[STIX]{x1D6FD}}(k,\unicode[STIX]{x1D713})$
is the Fourier transform of
$\unicode[STIX]{x1D6FD}(x,y)+1$
in polar coordinates,
$\unicode[STIX]{x1D713}_{0}=0$
for
$F<1$
,
$\unicode[STIX]{x1D713}_{0}=\arccos (1/F)$
for
$F>1$
and the path of
$k$
-integration is taken below the pole
$k=k_{1}$
, where
$k_{1}$
is the real positive root of
$kF^{2}-\sec ^{2}\unicode[STIX]{x1D713}\tanh k=0$
. This formula (4.7) provides an extremely good approximation to the free surface for flow regimes in which the bottom topography is almost flat.
It is interesting to note that the exact solution (4.7) looks very similar to that for free-surface flow past a pressure distribution
$p(x,y)$
that has been applied to the surface (Pethiyagoda, McCue & Moroney Reference Pethiyagoda, McCue and Moroney2015). In fact, the two problems are closely related. Suppose we have a linear solution for flow past a bottom obstruction for a given bottom shape
$z=\unicode[STIX]{x1D6FD}(x,y)$
and corresponding Fourier transform
$\tilde{\unicode[STIX]{x1D6FD}}(k,\unicode[STIX]{x1D713})$
. Then for the related linear problem of flow past a pressure distribution, if the pressure
$p(x,y)$
is chosen so that its Fourier transform is given by
then the wave pattern behind the pressure distribution is given by (4.7), except there is an addition term
$-p(x,y)$
on the right-hand side. That is, in the linear regime, the wave pattern downstream from the disturbance is the same. Therefore, given that the problem of flow past an applied pressure is used as a model for studying ship wakes, there is a direct relationship between the wave patterns considered in this paper and ship waves. We comment further on this relationship in § 6.
4.2 Boundary integral formulation
Apart from benefiting from writing out the exact solution (4.7), the other reason for us to pursue the linearised problem is to construct a preconditioner for the fully nonlinear problem. For this purpose we reformulate the linear problem (4.1)–(4.6) using Green’s second theorem to give
$$\begin{eqnarray}\displaystyle 2\unicode[STIX]{x03C0}(\unicode[STIX]{x1D719}^{\ast }-x^{\ast }) & = & \displaystyle \iint _{\mathbb{R}^{2}}\frac{\unicode[STIX]{x1D701}_{x}}{\sqrt{(x-x^{\ast })^{2}+(y-y^{\ast })^{2}}}\,\text{d}x\,\text{d}y\nonumber\\ \displaystyle & & \displaystyle +\,\iint _{\mathbb{R}^{2}}\frac{\unicode[STIX]{x1D6FD}_{x}}{\sqrt{(x-x^{\ast })^{2}+(y-y^{\ast })^{2}+1}}\,\text{d}x\,\text{d}y\nonumber\\ \displaystyle & & \displaystyle +\,\iint _{\mathbb{R}^{2}}\frac{(\unicode[STIX]{x1D713}-x^{\ast })}{((x-x^{\ast })^{2}+(y-y^{\ast })^{2}+1)^{3/2}}\,\text{d}x\,\text{d}y,\end{eqnarray}$$
which is coupled to the dynamic condition
By applying the same discretisation to that described in § 3.1, we can derive a completely analogous system of
$3(N+1)M$
equations for the same
$3(N+1)M$
unknowns (3.1). The resulting equations in their exact form are detailed in the supplementary material available at https://doi.org/10.1017/jfm.2018.254. We are interested in exploiting the structure and entries of the Jacobian,
$\tilde{\unicode[STIX]{x1D645}}$
, of this new linear system.
Figure 2 shows the similarity between the nonlinear Jacobian
$\unicode[STIX]{x1D645}_{k}$
and the Jacobian of the corresponding linear problem
$\tilde{\unicode[STIX]{x1D645}}$
. The visualisation shows that
$\tilde{\unicode[STIX]{x1D645}}$
shares the structure of
$\unicode[STIX]{x1D645}_{k}$
, while being much easier to form as analytical formulae exist for the derivatives which are provided in their exact form in the supplementary material. Since analytical formulae exist for the elements of
$\tilde{\unicode[STIX]{x1D645}}$
, the elements can be calculated independently and utilise parallel processing. We are also able to exploit the block structure of the matrix by forming the blocks separately. This is useful as
$\tilde{\unicode[STIX]{x1D645}}_{2,3}=\tilde{\unicode[STIX]{x1D645}}_{3,2}$
, where
$\tilde{\unicode[STIX]{x1D645}}$
is treated as a
$3\times 3$
block matrix, and
$\tilde{\unicode[STIX]{x1D645}}_{2,2}=\tilde{\unicode[STIX]{x1D645}}_{3,3}$
, which allows us to save time by not explicitly forming two blocks.
Visualisation of the nonlinear and linear Jacobians showing the logarithm (base 10) of the magnitudes of the entries. Entries with larger magnitudes are represented by darker shades and zero entries are coloured white. Jacobians were generated from the problem on a
$31\times 31$
mesh with
$\unicode[STIX]{x0394}x=\unicode[STIX]{x0394}y=0.8$
,
$F=0.6$
, and a single Gaussian bump on the bottom surface with scale parameter
$\unicode[STIX]{x1D716}=0.1$
. (a) The full Jacobian for the completely nonlinear problem, which is generated using finite differences. (b) The Jacobian of the linearised problem. The linear Jacobian can be generated analytically by taking derivatives of the linearised equations. The two Jacobians clearly share a similar structure, with dense blocks and sparse blocks in the same places. The key differences are the top-middle block having more of a diagonal structure and the bottom-right block only having the block diagonal structure in the linear case. The structural similarities suggest that the linear Jacobian may be a good approximation for the nonlinear Jacobian.
An effective preconditioner has to reduce the dimension of the Krylov subspace required to find a solution. To test whether the linear Jacobian is an effective preconditioner, we can compare the eigenvalues,
$\unicode[STIX]{x1D706}$
, of the nonlinear Jacobian and the preconditioned nonlinear Jacobian. Figure 3(a) shows the eigenvalues of the nonlinear Jacobian
$\unicode[STIX]{x1D645}_{k}$
for a flat surface. Figure 3(b) shows the eigenvalues for the nonlinear Jacobian preconditioned with the linear Jacobian – that is,
$\unicode[STIX]{x1D645}_{k}\tilde{\unicode[STIX]{x1D645}}^{-1}$
. The clustering of eigenvalues is much tighter than the non-preconditioned Jacobian. Thus, we chose that
$\unicode[STIX]{x1D64B}=\tilde{\unicode[STIX]{x1D645}}$
.
Eigenvalue plots of (a) the full nonlinear Jacobian
$\unicode[STIX]{x1D645}_{k}$
for an initial guess of a flat surface with
$F=0.6$
and
$\unicode[STIX]{x1D716}=0.1$
on a
$31\times 31$
mesh with
$\unicode[STIX]{x0394}x=\unicode[STIX]{x0394}y=0.8$
and the full nonlinear Jacobian preconditioned with (b) the linear preconditioner
$\unicode[STIX]{x1D645}_{k}\tilde{\unicode[STIX]{x1D645}}^{-1}$
and (c) the banded linear preconditioner
$\unicode[STIX]{x1D645}_{k}\unicode[STIX]{x1D64B}^{-1}$
. The effect of preconditioning is a tight clustering of the eigenvalues,
$\unicode[STIX]{x1D706}$
, around
$1$
. This tight clustering is desirable as a smaller spectrum of the preconditioned Jacobian,
$\unicode[STIX]{x1D70E}(\unicode[STIX]{x1D645}_{k}\tilde{\unicode[STIX]{x1D645}}^{-1})$
, will result in a smaller Krylov subspace required to find a solution to the Newton step
$\unicode[STIX]{x1D6FF}\boldsymbol{u}_{k}$
.

Now that we have a preconditioner
$\unicode[STIX]{x1D64B}$
that is cheap to form, we want to find a way to reduce the large memory requirement to store
$\unicode[STIX]{x1D64B}$
. In the four dense blocks in
$\unicode[STIX]{x1D64B}$
the magnitude of the elements decays to zero away from the main diagonal. This structure suggests that it is possible to store only the elements near the diagonal using a banded approximation of the dense blocks. Indeed, we follow this approach and use a banded version of
$\tilde{\unicode[STIX]{x1D645}}$
for our preconditioner
$\unicode[STIX]{x1D64B}$
. The details are described in the Appendix. Figure 3(c) shows the eigenvalues for the nonlinear Jacobian preconditioned with the banded preconditioner,
$\unicode[STIX]{x1D645}_{k}\unicode[STIX]{x1D64B}^{-1}$
. While the clustering is not as tight as when using the full linear Jacobian, the dimension of the Krylov subspace required to find a solution is still significantly reduced.
5 Numerical results
Results were computed using MATLAB on either a standard desktop computer with a maximum of
$16$
GB of system memory or a high performance computer with up to
$450$
GB of system memory. Apart from system memory, the high performance computer also benefits from a higher number of processing cores, which allows parallelised code to perform faster. In all cases, we utilised the KINSOL implementation of the JFNK method (Hindmarsh et al.
Reference Hindmarsh, Brown, Grant, Lee, Serban, Shumaker and Woodward2005). For the following, note that an
$N\times M$
mesh means
$N$
grid points in the
$x$
-direction and
$M$
grid points in the
$y$
-direction.
Numerical solutions for subcritical flow past a single bump (2.9) centred at the origin. Solutions were computed for
$-7\leqslant x\leqslant 17$
,
$-12\leqslant y\leqslant 12$
using a
$281\times 281$
mesh with
$\unicode[STIX]{x0394}x=\unicode[STIX]{x0394}y=0.0857$
,
$\unicode[STIX]{x1D6FF}=0.5$
and
$F=0.6$
. (a,b) The linear solution. (c,d) The nonlinear solution for
$\unicode[STIX]{x1D716}=0.1$
. (e,f) The nonlinear solution for
$\unicode[STIX]{x1D716}=0.285$
. (g) A comparison of the two nonlinear surfaces along the centreline
$y=0$
.
5.1 Subcritical flow
Subcritical flows are defined by
$F<1$
. In this regime, the wave pattern is characterised by the presence of both divergent and transverse waves. In figure 4, we provide some representative results for a fixed subcritical Froude number
$F=0.6$
. In all cases, the bottom topography takes the form (2.9) with
$\unicode[STIX]{x1D6FF}=0.5$
, which represents a single Gaussian-type bump with height
$\unicode[STIX]{x1D716}$
on an otherwise flat bottom.
Figure 4(a,b) shows the wave pattern for the exact linear solution (4.7), which is valid for small bump heights,
$\unicode[STIX]{x1D716}\ll 1$
. We can see that, for this linear solution, the wave pattern appears to be dominated by the transverse waves which run roughly perpendicular to the direction of flow. Similar free-surface profiles are provided in figure 4(c,d). This time the bump height was fixed to be
$\unicode[STIX]{x1D716}=0.1$
and the solution was computed using our fully nonlinear numerical scheme. Thus we can see for small (
$\unicode[STIX]{x1D716}\ll 1$
) to moderately small (
$\unicode[STIX]{x1D716}=0.1$
) obstructions, the linear and nonlinear results are not significantly different.
For larger values of
$\unicode[STIX]{x1D716}$
, differences emerge between the linear and nonlinear regimes, and these differences become more pronounced as
$\unicode[STIX]{x1D716}$
increases. For example, in figure 4(e,f) we present results for
$\unicode[STIX]{x1D716}=0.285$
, which represents a highly nonlinear solution. In figure 4(e), in particular, we see a remarkably nonlinear wave pattern with sharp divergent waves shaped like dorsal fins, whose amplitude is much higher than the transverse waves (these are reminiscent of the highly nonlinear solutions computed by Pethiyagoda et al. (Reference Pethiyagoda, McCue and Moroney2014b
) for flow past a submerged source singularity). It is important to emphasise that the distinctive shape of the sharp divergent waves are not predicted by linear theory, demonstrating that for sufficiently large disturbances to the free stream, a nonlinear formulation is required to accurately describe the wave pattern.
As an indication of the relative vertical scales involved, we present in figure 4(g) a plot of the two nonlinear surfaces along the centreline
$y=0$
. Clearly the amplitude of the waves for
$\unicode[STIX]{x1D716}=0.285$
is significantly higher than that for
$\unicode[STIX]{x1D716}=0.1$
, as expected. Further, the waves for
$\unicode[STIX]{x1D716}=0.285$
appear to have broader troughs and sharper crests. Another feature of figure 4(g) is that even though the Froude number is fixed, the wavelength is smaller for the more nonlinear solution. These are all commonly observed properties of nonlinear free-surface flows in two dimensions (Forbes & Schwartz Reference Forbes and Schwartz1982; Forbes Reference Forbes1985; McCue & Forbes Reference McCue and Forbes2002).
We note that for
$F=0.6$
, we did not compute solutions for
$\unicode[STIX]{x1D716}>0.285$
. From a mathematical perspective, we expect that solutions will exist up to some maximum value of
$\unicode[STIX]{x1D716}$
, at which point the surface will be in some limiting configuration which is likely to have the maximum surface height at
$F^{2}/2$
(Bernoulli’s equation (2.4) does not allow for the free surface to be higher than
$F^{2}/2$
). This limiting configuration would be some type of complicated three-dimensional analogue of Stokes’ limiting configuration in two dimensions (with a
$120^{\circ }$
corner at the crest).
Returning to the free-surface profile in figure 4(c,d), small-amplitude waves appear ahead of the bottom disturbance which are not physical and are caused by truncating the domain upstream. These spurious numerical artefacts appear in all of our solutions for subcritical Froude numbers, and can be moderated by truncating further upstream (which, for a fixed grid spacing, involves increasing the number of grid points) or by varying the parameter
$n$
in the radiation condition (3.7)–(3.12). Note that these numerical waves appear larger in figure 4(c,d) than in figure 4(e,f); however, in fact, they are similar in size (see figure 4
g, for example). It is the vertical scaling of the surfaces that causes this illusion.
Numerical solutions for supercritical flow past a single bump (2.9) centred at the origin. Solutions were computed for
$-21\leqslant x\leqslant 51$
,
$-36\leqslant y\leqslant 36$
using a
$281\times 281$
mesh with
$\unicode[STIX]{x0394}x=\unicode[STIX]{x0394}y=0.257$
,
$x_{1}=-21$
,
$\unicode[STIX]{x1D6FF}=3$
and
$F=3$
. (a,b) The linear solution. (c,d) The nonlinear solution with
$\unicode[STIX]{x1D716}=0.1$
. (e,f) The nonlinear solution with
$\unicode[STIX]{x1D716}=2.75$
. As an indication of the relative vertical scales in these plots, the maximum height for the solution in (c,d) is
$\unicode[STIX]{x1D701}(x,0)=1.091$
while the maximum height for the solution in (e,f) is
$\unicode[STIX]{x1D701}(x,0)=2.556$
. (g) A cut along the centreline for the solution with
$\unicode[STIX]{x1D716}=2.75$
, including the free surface
$\unicode[STIX]{x1D701}(x,0)$
and the bottom
$\unicode[STIX]{x1D6FD}(x,0)$
.
5.2 Supercritical flow
Supercritical flows are for
$F>1$
. In figure 5, we present supercritical solutions for the representative value
$F=3$
. Again, we have chosen the bottom obstruction to be a single bump of the form (2.9), but now with
$\unicode[STIX]{x1D6FF}=3$
. Figure 5(a,b) shows free-surface profiles for the exact linear solution (4.7), while figure 5(c,d) shows the surfaces for the bump height
$\unicode[STIX]{x1D716}=0.1$
. The first point to note here is that the wave pattern appears very different from that presented for subcritical flows. This qualitative difference is well known, and is for the most part due to supercritical wave patterns being entirely made up of divergent waves. According to linear theory, the mathematical reason for the absence of transverse waves is that the dispersion relation
$kF^{2}-\sec ^{2}\unicode[STIX]{x1D713}\tanh k=0$
has no real positive roots for
$0\leqslant \unicode[STIX]{x1D713}<\arccos (1/F)$
. Physically, if we consider an extremely localised disturbance, then for supercritical flow the surface elevation at a single point downstream is due to a wave that began propagating out from the disturbance at the group velocity some time ago, while for subcritical flow the elevation at a single point is due to two waves that began propagating at two different previous times (geometric constructions like these are explained in detail in Lamb (Reference Lamb1932), Wehausen & Laitone (Reference Wehausen and Laitone1960), Soomere (Reference Soomere2007), Pethiyagoda et al. (Reference Pethiyagoda, Moroney, MacFarlane, Binns and McCue2018a
), for example). The second point to note is that for such a small value as
$\unicode[STIX]{x1D716}=0.1$
, the nonlinear wave pattern appears very similar to the linear solution.
We are motivated to increase the bump height
$\unicode[STIX]{x1D716}$
to observe the effects of nonlinearity. It turns out that we are able to compute numerical solutions to the fully nonlinear problem for much larger values of
$\unicode[STIX]{x1D716}$
. For example, in figure 5(e,f) we show free-surface profiles for
$\unicode[STIX]{x1D716}=2.75$
. Given that
$\unicode[STIX]{x1D716}$
measures the height of the Gaussian (2.9), this value of
$\unicode[STIX]{x1D716}$
corresponds to a significant deviation from a flat bottom. To illustrate the scales involved, we have presented in figure 5(g) a slice of the solution along the centreline
$y=0$
, including the free surface
$z=\unicode[STIX]{x1D701}(x,0)$
and the bottom boundary
$z=\unicode[STIX]{x1D6FD}(x,0)$
. This type of solution is very interesting because the bottom disturbance is much higher than the depth of the channel far upstream, even though the bump itself does not pierce the surface.
Further, we can see some features in figure 5(e,f) that are not present in the linear solution. For example, the V-shaped wave ridge is much steeper for
$\unicode[STIX]{x1D716}=2.75$
than the linear solution; the angle of this V-shaped ridge (the apparent wake angle) is larger than that for the linear solution, and there appears to be a second, smaller, V-shaped wedge that forms a distance behind the disturbance. This is a new feature that is not able to be predicted by linear theory.
To investigate these nonlinear effects further, we show in figure 6(a) the dependence of the apparent wake angle on the obstruction height
$\unicode[STIX]{x1D716}$
for two supercritical Froude numbers,
$F=3$
and
$4$
. These two plots show how the wake angle is significantly lower for the larger Froude number, which is true for both linear and nonlinear regimes. In addition, the increase in wake angle with nonlinearity is clear from these plots. Also shown in figure 6(b) is a plot of the maximum steepness of the surface versus the obstruction height
$\unicode[STIX]{x1D716}$
. Here wave steepness is defined to be the maximum slope on the outside of the (main) V-shaped ridge that extends to the far field. We see that the wave steepness clearly increases with nonlinearity. Presumably this steepness will continue to increase as
$\unicode[STIX]{x1D716}$
increases, until the surface near the origin reaches its limiting height of
$F^{2}/2$
.
Plots of (a) the apparent wake angle and (b) the wave steepness against bump height
$\unicode[STIX]{x1D716}$
for
$F=3$
(solid blue circles) and
$4$
(open red circles). The apparent wake angle is given by the angle between the V-shaped ridge and the centreline. The wave steepness is defined as the maximum slope of the surface on the outside of the V-shaped ridge. These results demonstrate that nonlinearity has a significant effect on the wave pattern for supercritical flow regimes.

5.3 Multiple bumps
An advantage of formulating our numerical scheme with an arbitrarily defined bottom topography
$z=\unicode[STIX]{x1D6FD}(x,y)$
is that solutions can easily be computed for flow over multiple bumps on the bottom surface. Two such flow configurations are shown in figure 7 for a fixed Froude number
$F=0.6$
. Figure 7(a,b) shows the numerical solution to the nonlinear problem with two bumps positioned symmetrically across the
$x$
-axis. The wave trains appear independent for sufficiently small
$x$
and then interfere with each other at approximately
$x=30$
. In figure 7(c,d) we show the wave pattern for flow past two bumps positioned asymmetrically across the
$x$
-axis. In this configuration, one of the bumps is further downstream than the other one. Again, the wave trains interfere with each other, as expected. Note for this configuration there is no direct analogue in two dimensions.
We now consider the situation in which there are two bumps positioned inline along the
$x$
-axis. Four free-surface profiles for this configuration are presented in figure 8, again for
$F=0.6$
. The profile in figure 8(a,b) is a linear solution computed for two bumps that are positioned 4 wavelengths apart, giving rise to constructive interference of the transverse waves. In contrast, the profile in figure 8(c,d) is a linear solution computed for two bumps that are positioned 4.5 wavelengths apart, leading to destructive interference. Here a single wavelength is given by
$2\unicode[STIX]{x03C0}/k$
, where
$k$
is the real positive root of the linear dispersion relation
$kF^{2}-\tanh k=0$
(for
$F=0.6$
this linear wavelength is approximately
$2.28$
). As the transverse waves decay in amplitude (like
$x^{-1/2}$
for
$x\gg 1$
) the interference is not absolute (for example, the waves do not completely cancel each other out in the new figure 8
c,d). However, the effects are strong and, for the case of constructive interference, we see the resulting transverse waves downstream become larger than the divergent waves, which is unusual for this Froude number.
Analogous nonlinear profiles are presented in figure 8(e,f) and figure 8(g,h). In this nonlinear case there is no obvious wavelength as the linear theory no longer applies. Instead, we have computed these solutions for bumps that are approximately 4 and 4.5 wavelengths apart, where a single wavelength is estimated from a nonlinear solution with a single hump. Again, the visual differences between the two cases are clear from these figures. To support these results, in figure 9 we have presented centreline plots which more clearly show the effects of (transverse) wave interference. Similar plots can be generated for bumps that are separated by any number of wavelengths, and the wave profiles exhibit similar properties. These results are reminiscent of the wave interference effects that occur at the stern of a steadily moving ship, although in that context it is also of interest to study interference by divergent waves (Noblesse et al. Reference Noblesse, He, Zhu, Hong, Zhang, Zhu and Yang2014; Zhang et al. Reference Zhang, He, Zhu, Yang, Li, Zhu, Lin and Noblesse2015; Zhu et al. Reference Zhu, He, Zhang, Wu, Wan, Zhu and Noblesse2015).
Numerical solutions for subcritical flow past two bumps of the form (2.9). Solutions were computed for
$-7\leqslant x\leqslant 53$
,
$-30\leqslant y\leqslant 30$
using a
$281\times 281$
mesh with
$\unicode[STIX]{x0394}x=\unicode[STIX]{x0394}y=0.2143$
,
$F=0.6$
, bump height
$\unicode[STIX]{x1D716}=0.2$
,
$\unicode[STIX]{x1D6FF}=0.5$
and the upstream truncation point
$x_{1}=-7$
. (a,b) The solution for flow past two bumps positioned symmetrically across the
$x$
-axis at
$(0,8)$
and
$(0,-8)$
. (c,d) The solution for flow past two bumps offset in the
$x$
-direction at
$(10,10)$
and
$(0,-10)$
.
Free-surface profiles for linear and nonlinear flow past two submerged bumps positioned inline along the
$x$
-axis, calculated for
$\unicode[STIX]{x1D716}=0.1$
,
$\unicode[STIX]{x1D6FF}=0.5$
and
$F=0.6$
. The separation distance between the humps is chosen so that the wave profiles exhibit constructive interference (linear in a,b and nonlinear in e,f) and destructive interference (linear in c,d and nonlinear in g,h) of the transverse waves. The nonlinear solutions were generated for
$-7\leqslant x\leqslant 53$
using a
$281\times 281$
mesh with
$\unicode[STIX]{x0394}x=\unicode[STIX]{x0394}y=0.2143$
. Note the centreline plots for these solutions are provided in Figure 9.
Centreline plots exhibiting both destructive (blue solid) and constructive (red dashed) interference along the
$y$
-axis, computed for
$\unicode[STIX]{x1D716}=0.1$
,
$\unicode[STIX]{x1D6FF}=0.5$
and
$F=0.6$
, as in Figure 8. (a) Linear solutions. (b) Nonlinear solutions.

5.4 Flow past a crater
We now turn our attention to flow past an isolated crater, which is easy to implement with our numerical scheme (see Zhang & Zhu (Reference Zhang and Zhu1996a
), Wade et al. (Reference Wade, Binder, Mattner and Denier2017) for the two-dimensional analogue). In particular, we consider flow over an inverted Gaussian, which is (2.9) with
$\unicode[STIX]{x1D716}<0$
. Figure 10(a,b) shows surface profiles for
$\unicode[STIX]{x1D716}=-0.1$
, which is a relatively shallow crater, while figure 10(c,d) is for
$\unicode[STIX]{x1D716}=-0.62$
, a relatively deep crater. The solution for
$\unicode[STIX]{x1D716}=-0.1$
has a wave pattern that is very similar to the linear solution (not shown) and is also an almost-exact reflection of the surface for
$\unicode[STIX]{x1D716}=0.1$
(see figure 4
c,d). On the other hand, the highly nonlinear solution for
$\unicode[STIX]{x1D716}=-0.62$
is interesting because its wave pattern appears very different from both the linear solution and the nonlinear solution for flow over a standard Gaussian. For example, even though this is a highly nonlinear solution, the divergent waves do not resemble the steep dorsal fins we see in figure 4(e).
Nonlinear solutions for subcritical flow past a submerged crater centred at the origin. Solutions were computed using a
$281\times 281$
mesh with
$\unicode[STIX]{x0394}x=\unicode[STIX]{x0394}y=0.0857$
,
$x_{1}=-7$
,
$\unicode[STIX]{x1D6FF}=0.5$
,
$F=0.6$
with
$\unicode[STIX]{x1D716}=-0.1$
in (a,b) and
$\unicode[STIX]{x1D716}=-0.62$
in (c,d). The solutions show that for the near-linear case (a,b), the wave patterns are the inverse of the solution for flow past a bump; however, for the more nonlinear case (c,d), the first wave crest is much higher than the rest of the waves and the transverse waves appear to be out of phase with the divergent waves. As an indication of the relative vertical scales in these plots, the maximum height for the solution in (a,b) is 0.020 while the maximum height for the solution in (c,d) is 0.073.
6 Discussion
We have conducted a numerical investigation into the problem of three-dimensional steady free-surface flow over an arbitrary bottom topography. By applying the boundary integral framework outlined by Forbes (Reference Forbes1989), we have been able to compute fully nonlinear numerical solutions for a range of localised bottom obstructions. Following our previous work (Pethiyagoda et al. Reference Pethiyagoda, McCue, Moroney and Back2014a ,Reference Pethiyagoda, McCue and Moroney b ), the approach we have followed is to develop a JFNK method which allows for many more grid points on the free surface than are normally used (Părău & Vanden-Broeck Reference Părău and Vanden-Broeck2002, Reference Părău and Vanden-Broeck2011; Părău et al. Reference Părău, Vanden-Broeck and Cooker2005a ,Reference Părău, Vanden-Broeck and Cooker b , Reference Părău, Vanden-Broeck and Cooker2007a ,Reference Părău, Vanden-Broeck and Cooker b ). As such, we have been able to compute highly nonlinear solutions which show wave features that are not observed for the linear regime.
We now provide some further comments on the close relationship between the steady wave pattern that is generated by flow over an isolated bottom obstacle and the ship wake that forms behind the stern of a steadily moving ship. This connection is particularly noteworthy because steady ship wakes have been the subject of renewed theoretical interest in recent years in the physics and applied mathematics community; for example, in the context of determining the apparent wake angle (Rabaud & Moisy Reference Rabaud and Moisy2013; Darmon, Benzaquen & Raphaël Reference Darmon, Benzaquen and Raphaël2014; Dias Reference Dias2014; He et al. Reference He, Zhang, Zhu, Wu, Yang, Noblesse, Gu and Li2014; Noblesse et al. Reference Noblesse, He, Zhu, Hong, Zhang, Zhu and Yang2014; Miao & Liu Reference Miao and Liu2015; Pethiyagoda et al. Reference Pethiyagoda, McCue and Moroney2015), understanding interference between bow and stern flows (Zhang et al. Reference Zhang, He, Zhu, Yang, Li, Zhu, Lin and Noblesse2015; Zhu et al. Reference Zhu, He, Zhang, Wu, Wan, Zhu and Noblesse2015), considering the effects of shear (Ellingsen Reference Ellingsen2014; Li & Ellingsen Reference Li and Ellingsen2016; Smeltzer & Ellingsen Reference Smeltzer and Ellingsen2017) and unpicking the wave pattern via time-frequency analysis (Torsvik et al. Reference Torsvik, Soomere, Didenkulova and Sheremet2015; Pethiyagoda, McCue & Moroney Reference Pethiyagoda, McCue and Moroney2017; Pethiyagoda et al. Reference Pethiyagoda, Moroney, MacFarlane, Binns and McCue2018a ).
What is common to all of these papers is that the wave disturbance due to a ship is approximated by considering a steady moving pressure distribution applied to the free surface. In an attempt to make the connection between these two problems clearer, we noted in § 4 that, at least for the linear regime, flow past a given isolated pressure distribution gives exactly the same wake as flow past certain isolated bottom obstructions. Thus we conclude there is a direct quantitative relationship between the two problems, and many of the properties of ship wakes (such as apparent wake angle, wave interference, and time-frequency heat maps) carry over to the problem of flow past a bottom obstruction in the linear regime.
The key further point to make here is that the nonlinear problems of flow past a pressure distribution and flow over a bottom obstruction are not the same. As the size of the disturbance in each case increases, nonlinear effects become more pronounced. We demonstrate this point in figure 11 by showing wave patterns for flow past a bottom obstruction (2.9) with
$F=0.6$
,
$\unicode[STIX]{x1D716}=0.285$
and
$\unicode[STIX]{x1D6FF}=0.5$
and flow past the pressure distribution
with the same parameter values. For this choice, the form of the wake downstream from the disturbance is the same in the linear regime
$\unicode[STIX]{x1D716}\ll 1$
. However, as is clearly demonstrated in figure 11, for a moderately large value of
$\unicode[STIX]{x1D716}$
(which is a measure of nonlinearity), the surfaces are distinct. As the nonlinearity increases, the solution for flow past a bottom topography produces sharp crests on the divergent waves and the height of the transverse waves is much smaller than the divergent waves, contrasted with the flow past a pressure solution still looking linear. Thus, in summary, the linearised problem of flow past one or a combination of isolated bumps is the same as flow due to a number of isolated pressure patches on the surface (provided the precise form of the pressure is chosen according to (4.8)), the latter being routinely used as a simple model for ship wakes. However, the nonlinear versions of these problems are very different, and only through a fully nonlinear numerical scheme can these differences be highlighted.
Nonlinear solutions for flow past a localised pressure distribution (4.8) (a) and an isolated bottom obstruction (2.9) (b) for
$F=0.6$
on
$-7\leqslant x\leqslant 17$
,
$-12\leqslant y\leqslant 12$
using a
$281\times 281$
mesh with
$\unicode[STIX]{x0394}x=\unicode[STIX]{x0394}y=0.0857$
,
$\unicode[STIX]{x1D6FF}=0.5$
,
$\unicode[STIX]{x1D716}=0.285$
. For
$\unicode[STIX]{x1D716}\ll 1$
, these two problems have the same solution for the wake downstream; however, in this figure it is clear that in this highly nonlinear regime (large
$\unicode[STIX]{x1D716}$
), the computed surface wave patterns are very different.

A benefit of our numerical scheme is the ease with which it can be extended to include other physical effects. For example, if the effects of surface tension are included on the free surface, the only change to the governing equations (2.1)–(2.6) is to add a higher-order term in Bernoulli’s equation to represent the surface tension parameter multiplied by mean curvature (Părău et al. Reference Părău, Vanden-Broeck and Cooker2007b ). For our purposes, we need to consider the effects of this extra term on the Jacobian of the system. It turns out that the top-left block (of the nine blocks) of the Jacobian is altered by surface tension, with extra non-zero entries appearing near the main diagonal. As a consequence, we expect that our approach of using the Jacobian from the linear version of the problem as a preconditioner will carry over, and thus we should be able adapt our scheme to compute accurate solutions with gravity–capillary waves. We leave this topic for future work.
We close by mentioning that our work can be adapted in many ways to further explore free-surface flows over bottom topographies. As mentioned in the Introduction, there is a plethora of published research for the two-dimensional case and, with our scheme, many extensions to three dimensions are now possible. Furthermore, the shape and properties of highly nonlinear steady ship waves are still not well understood, for the most part due to an absence of accurate numerical solutions. Our numerical approach provides an opportunity for computational results in this area of interest.
Acknowledgements
S.W.M. acknowledges the support of the Australian Research Council via the Discovery Project DP140100933. The authors acknowledge the computational resources and technical support provided by the High Performance Computing and Research Support group, Queensland University of Technology. We are grateful to the three anonymous referees for their insightful comments.
Supplementary material
Supplementary material is available at https://doi.org/10.1017/jfm.2018.254.
Appendix. Banding the preconditioner
Storing the full
$\unicode[STIX]{x1D64B}$
requires a large amount of memory. To overcome this problem
$\unicode[STIX]{x1D64B}$
can be split into blocks, which can each use different storage methods. The sparse blocks,
$\unicode[STIX]{x1D64B}_{1,1}$
,
$\unicode[STIX]{x1D64B}_{1,2}$
,
$\unicode[STIX]{x1D64B}_{1,3}$
,
$\unicode[STIX]{x1D64B}_{2,2}$
and
$\unicode[STIX]{x1D64B}_{3,3}$
, can utilise sparse storage methods while the dense blocks can be stored separately. Alternatively, the dense blocks cannot be stored at all and can just be formed whenever the preconditioner is being applied. This leads to a smaller memory requirement but leads to a large increase in runtime.
Visualisations of the full, block-banded, block LU block-banded, and block iLU block-banded preconditioner on a
$31\times 31$
mesh with
$\unicode[STIX]{x0394}x=\unicode[STIX]{x0394}y=0.4$
,
$F=0.6$
and a single Gaussian bump on the bottom surface with scale parameter
$\unicode[STIX]{x1D716}=0.1$
. (a) Full Jacobian from the linear problem. (b) Banded approximation of (a), showing a great reduction of non-zero values resulting in less memory required for storage. (c) Block LU factorisation of (b). Note that only the centre and right blocks in the third row become dense after the block LU factorisation. By banding the blocks before factorising, the number of dense blocks has been reduced from six down to two.
For use in the JFNK algorithm, it is beneficial for the preconditioner to be factorised such that it can be applied faster when necessary. Since
$\unicode[STIX]{x1D64B}$
is already split into blocks, a block LU factorisation can be utilised. This factorisation treats
$\unicode[STIX]{x1D64B}$
as a
$3\times 3$
matrix and applies the factorisation:
$\unicode[STIX]{x1D64B}=\unicode[STIX]{x1D647}\unicode[STIX]{x1D650}$
, where
$\unicode[STIX]{x1D647}$
and
$\unicode[STIX]{x1D650}$
are
$3\times 3$
block lower and upper triangular matrices, respectively, with
$(N+1)M\times (N+1)M$
identity matrices along the main diagonal of
$\unicode[STIX]{x1D647}$
. The nine factored blocks are stored separately. While this factorisation makes applying the preconditioner more effective, the process leads to more dense blocks in storage. To reduce the memory required to store all the blocks, the dense blocks can be approximated. Figure 2(b) shows that in the dense blocks the magnitudes of the values decay away from the main diagonal, leading to the idea that a banded approximation could be used. Figure 12 shows a visualisation of the full and banded
$\unicode[STIX]{x1D64B}$
. The banded storage utilised takes block bands – that is, it takes
$b$
$(N+1)\times (N+1)$
blocks in each row. This is done instead of regular banding because of the block structure in the matrix. Keeping these blocks ensures that all of the values that correspond to an entire slice of the
$y$
-axis are kept in
$\unicode[STIX]{x1D64B}$
. From the visualisation it is clear that banding the dense blocks will reduce the memory requirement for storing
$\unicode[STIX]{x1D64B}$
as there are far fewer elements being stored. Table 1 shows the details of the memory savings achieved by banding the dense blocks of
$\unicode[STIX]{x1D64B}$
.
Table showing the approximate memory used to store the preconditioner for particular mesh sizes. As the mesh size increases, the amount of memory required for the full preconditioner increases rapidly. The memory savings from using the banded preconditioner are more pronounced for finer meshes, as the bandwidth is taken to be a fraction of the number of mesh points in the
$y$
-direction.






