Implementation of direct and iterative methods for a class of Helmholtz wave problems
In this article, the applicability and the performance of two direct (DirCSR and DirSkyline) and one iterative (IterCG_CSR) methods for solving large linear systems of equations are analyzed. Alternative ways of storing the coefficient matrix K generated by the application of the finite element method (FEM) to the Helmholtz equation for wave propagation in coastal regions are considered. The two direct methods are based on a Crout variant, the LDLt factorization, but they are implemented with two different sparse storage modes, one being the standard skyline, and the other being the compressed sparse row. The preconditioner of the conjugate gradients iterative method is the above DirCSR, with a minor parameter adjustment. These methods are compared in terms of CPU time, size of the matrices and number of iterations, for the same systems of equations with complex symmetric and indefinite matrices. Their behavior in low resolution grids is also investigated because this is a critical issue in practical applications. All these methods were implemented in a wave propagation model (DREAMS) for harbours and sheltered zones, which is used to generate the FEM systems of equations to be solved.
waves helmholtz equations preconditioners direct and iterative solvers finite element matrices