  In this paper we generalize and improve a recently developed domain
decomposition preconditioner for the iterative solution of discretized
Helmholtz equations. We introduce an improved method for transmission at the
internal boundaries using perfectly matched layers. Simultaneous forward and
backward sweeps are introduced, thereby improving the possibilities for
parallellization. Finally, the method is combined with an outer two-grid
iteration. The method is studied theoretically and with numerical examples. It
is shown that the modifications lead to substantial decreases in computation
time and memory use, so that computation times become comparable to that of the
fastests methods currently in the literature for problems with up to 10^8
degrees of freedom.
