Sponge Layer

The sponge layer technique introduced by Larsen and Dancy (L–D type, 1983) is implemented in the code. In this method, the variables \(\phi\) (i.e., \(\eta, u, v\)) are directly attenuated at every time step:

(16)\[\phi = \phi /C_s\]

where \(C_s\) is a damping coefficient function defined by:

(17)\[C_s = \alpha_s^{\gamma_x^{i-1}}, \ \ \ \ \ i=1,2, ..., n\]

in which \(\alpha_s\) and \(\gamma_s\) are two free parameters. \(i\) represents grid numbers. Chen et al. (1999) suggested that \(\alpha_s =2\), \(\gamma_s = 0.88 - 0.92\), and \(n=50 - 100\). The length of the sponge layer is usually taken to be one or two times the typical wavelength. Chen et al. also pointed out that the damping coefficients for optimal absorption are somewhat case–sensitive.

Recently, some problem was found in application of L–D type sponge layer for long–term simulations. The direct damping method combined with the TVD scheme generates sawtooth noises with a \(2 dx\) wave length. The sawtooth noises are usually not noticeable due to small magnitudes. However, they grow gradually with time and may become significant in a long term simulation. If this problem occurs, we suggest using the following friction–type or viscous–type sponge layers. Using the combination of L–D and friction/viscous sponge layers may remove the sawtooth noises and also make the wave damping more efficient.

Friction type and Diffusion type

The friction–type and viscous type sponge layers directly use the friction terms and diffusion terms existing in the model. The source term for the friction–type sponge can be described as:

(18)\[F_{frc} = - C_{sponge} |{\bf u_\alpha}| (u_\alpha, v_\alpha) h\]

Note that depth \(h\) is added in the formula above to make the source term depth–independent in terms of the flux–type momentum equations. For the diffusion–type sponge, the description of diffusion term follows exactly the eddy–viscosity breaking formulation with spatial varying viscosity coefficients \(\nu_{sponge}\). Both coefficients are smoothly ramped in space at the sponge layer boundaries. For example, for a sponge layer on the left end of the domain, \(C_{sponge}\) can be written as:

(19)\[C_{sponge} = C_{max} \left (1- \mbox{tanh} \frac{10 (i-1)}{I_{\mbox{width}}-1} \right)\]

where \(C_{max}\) is the maximum value of \(C_{sponge}\) used in the sponger layer. \(i\) and \(I_{\mbox{width}}\) represent the point number and the layer width in points, respectively. Similar expressions can be obtained for sponge layers on three other ends of the domain as well as the viscous sponge layer.

The width of the sponge layer is usually taken to be two or three wave lengths for the friction–type and viscous sponge layers. Narrow sponge layers can be used for L–D type sponge layer with a good efficiency but sawtooth noise generated by the method is a concern for long–term simulation.


Chen, Q., Madsen, P.A., Basco, D.R., 1999. “Current Effects on Nonlinear Interactions of Shallow–Water Waves”. J. of Waterway, Port, Coastal, and Ocean Eng. 125 (4).

Larsen, J. and Dancy, H., 1983. “Open boundaries in short wave simulations – A new approach”. Coastal Eng. 7 (3), 285-297.