Robust and highly scalable parallel solution of the Helmholtz equation with large wave numbers

Dan Gordon, Rachel Gordon

Research output: Contribution to journalArticlepeer-review

Abstract

Numerical solution of the Helmholtz equation is a challenging computational task, particularly when the wave number is large. For two-dimensional problems, direct methods provide satisfactory solutions, but large three-dimensional problems become unmanageable. In this work, the block-parallel CARP-CG algorithm [Parallel Computing 36, 2010] is applied to the Helmholtz equation with large wave numbers. The effectiveness of this algorithm is shown both theoretically and practically, with numerical experiments on two- and three-dimensional domains, including heterogeneous cases, and a wide range of wave numbers. A second-order finite difference discretization scheme is used, leading to a complex, nonsymmetric and indefinite linear system. CARP-CG is both robust and efficient on the tested problems. On a fixed grid, its scalability improves as the wave number increases. Additionally, when the number of grid points per wavelength is fixed, the number of iterations increases linearly with the wave number. Convergence rates for heterogeneous cases are similar to those of homogeneous cases. CARP-CG also outperforms, at all wave numbers, one of the leading methods, based on the shifted Laplacian preconditioner with a complex shift and solved with a multigrid.

Original languageEnglish
Pages (from-to)182-196
Number of pages15
JournalJournal of Computational and Applied Mathematics
Volume237
Issue number1
DOIs
StatePublished - 1 Jan 2013

Keywords

  • CARP-CG
  • Helmholtz equation
  • High frequency
  • Large wave numbers
  • Parallel processing
  • Partial differential equations

ASJC Scopus subject areas

  • Computational Mathematics
  • Applied Mathematics

Fingerprint

Dive into the research topics of 'Robust and highly scalable parallel solution of the Helmholtz equation with large wave numbers'. Together they form a unique fingerprint.

Cite this