Solution of two-dimensional water-wave propagation problems by Chebyshev collocation

V. G. Panchang, D. A. Kopriva

Research output: Contribution to journalArticle

11 Citations (Scopus)


A two-dimensional, elliptic, reduced wave equation was proposed in the mid-seventies to investigate water-wave propagation for coastal engineering applications. However, it is extremely difficult to solve that inseparable, complex equation except for very small sea areas. For larger regions, approximate equation methods such as the "parabolic equation method" are used. These methods are inappropriate if wave backscattering or reflections (by bathymetry or structures) are significant. To avoid computational difficulties typical of the elliptic wave equation, the solution of the associated hyperbolic Euler equations has been proposed by several authors who used finite-differences. The finite-difference scheme requires a large number of grid points (in excess of 20 points/wavelength in some cases) to yield satisfactory results. An alternative solution using Chebyshev collocation is considered here. The Chebyshev spectral collocation method yields greater accuracy than finite-differences with far fewer grid points. The feasibility of the method is examined by applying it to problems with wave diffraction and reflection (in the vicinity of breakwaters) and wave refraction-diffraction (by bathymetry). Comparisons of model results with hydraulic model data indicate that the Chebyshev method is an effective tool for simulating two-dimensional wave propagation. Unlike the approximate equation methods, it is not limited to situations of negligible backscattering or paraxiality. Also, it requires comparatively little computer storage, thus enabling its application to larger sea areas.

Original languageEnglish
Pages (from-to)625-640
Number of pages16
JournalMathematical and Computer Modelling
Issue number6
Publication statusPublished - 1989


ASJC Scopus subject areas

  • Modelling and Simulation
  • Computer Science Applications

Cite this