OneDSurfaceWaves
This module solves the potential flow equations in $x, z$ beneath a free surface at $z = s(x, t)$. The numerical method uses a Taylor expansion of the boundary condition at the free surface due to Dommermuth and Yue (1987).
Governing equations
The two prognostic variables are the surface elevation, $s(x, t)$, and the surface potential $\Phi(x, t)$ defined via
The velocity and pressure fields are related to the velocity potential $\phi$ via
The surface elevation obeys
where $\phi_z \, |_{z=s}$ is the vertical gradient of the velocity potential –- the vertical velocity – at $z=s$.
The dynamic boundary condition on pressure at the surface of the ocean yields an evolution equation for $\Phi$:
where $\varpi$ is the atmospheric pressure at $z=s$.
Algorithm to obtain $\phi_z \, |_{z=s}$
The main difficulty is finding the vertical velocity at the surface, $\phi_z \, |_{z=s}$.
For this we introduce a perturbation expansion of $\phi$ at $z=s$,
where each $\phi_m$ is smaller than $\phi_{m-1}$ by $O(\epsilon)$, where $\epsilon$ is the surface slope (which must be small for the validity of this algorithm).