We present a fast solver for the Helmholtz equation Δu ± λ2u = f, in a 3D rectangular box. The method is based on the application of the discrete Fourier transform accompanied by a subtraction technique which allows us to reduce the errors associated with the Gibbs phenomenon and achieve any prescribed rate of convergence. The algorithm requires O(N3 log N) operations, where N is the number of grid points in each direction. We solve a Dirichlet boundary problem for the Helmholtz equation. We also extend the method to the solution of mixed problems, where Dirichlet boundary conditions are specified on some faces and Neumann boundary conditions are specified on other faces. High-order accuracy is achieved by a comparatively small number of points. For example, for the accuracy of 10-8 the resolution of only 16-32 points in each direction is necessary.
|Number of pages||24|
|State||Published - 1999|