Waves: Handling of current

Each of the nonlinear wave theories implemented allows for a uniform Eulerian current, but none are designed to deal with a current that varies with time or spatial location. As the theories are nonlinear, it is not possible to simply analyse the wave assuming zero current and then add in the current afterwards, as we do for Airy waves. Instead, we adopt the following compromise.

The current profile is defined as usual, and the current speed with which we analyse the wave is the component of current in the wave direction at the mean water level, $c_\textrm{mwl}$. The wave theory thus gives us the total fluid velocity, $\vec{v}\urm{w}(\vec{x}, t; c_\textrm{mwl})$, at any given point $\vec{x}$ and time $t$, assuming a constant current velocity, $c_\textrm{mwl} \hat{\vec{w}}$, where $\hat{\vec{w}}$ is a vector in the wave direction. To adjust this value for a general current velocity profile, $\vec{c}(\vec{x}, t)$, we apply the formula \begin{equation} \vec{v}(\vec{x}, t) = \vec{v}\urm{w}(\vec{x}, t; c_\textrm{mwl}) - c_\textrm{mwl} \hat{\vec{w}} + \vec{c}(\vec{x}, t) \end{equation} so that the value of $\vec{v}(\vec{x}, t)$, the total fluid velocity at $\vec{x}$, now accounts for the general current profile. The compromise here is that the wave theory itself was applied assuming constant uniform current. In the case that $\vec{c}(\vec{x}, t) = c_\textrm{mwl} \hat{\vec{w}}$, the above formula reduces to $\vec{v}(\vec{x}, t) = \vec{v}\urm{w}(\vec{x}, t; c_\textrm{mwl})$, as we would expect.

During the build-up period, we incorporate the ramping factor $R$ \begin{equation} \vec{v}(\vec{x}, t) = R\,[\vec{v}\urm{w}(\vec{x}, t; c_\textrm{mwl}) - c_\textrm{mwl} \hat{\vec{w}}] + \vec{c}(\vec{x}, t) \end{equation} and if, in addition, the current is ramped, then the whole of the current profile has the ramping factor applied, so \begin{equation} \vec{v}(\vec{x}, t) = R\,[\vec{v}\urm{w}(\vec{x}, t; c_\textrm{mwl}) - c_\textrm{mwl} \hat{\vec{w}} + \vec{c}(\vec{x}, t)] \end{equation}