Skip to content

raz-mon/Helmholtz_Solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helmholtz Solver

A solver for the Helmholtz equation.

Abstract

The Generalized Minimization of Residuals (GMRES) method is a powerful method for solving linear systems. Nevertheless it may have some restrictions and disabilities that arise from the complex nature of the systems we are dealing with. The 2-D Helmholtz equation with a spatially dependent wave number is one of these systems. Solving such a system may be very slow (when feasible). In this project, we seek to find the best methods for choosing preconditioners for solving the heterogeneous Helmholtz equation using GMRES (with varying preconditioner). We test a wide range of options for realistic grids for the wave number, for a range of grid sizes, using a robust and generic algorithm.

Helmholtz equation

The equation we are dealing with looks as follow:

WhatsApp Image 2022-08-28 at 12 13 55

is a linear partial differential equation, which depicts waves and diffusion.

Setup

We are using several patterns for the wave-number dependency.

WhatsApp Image 2022-08-28 at 11 57 46

Algorithm

Green's function

We use Green's function in order to find the solution for in-homogeneous Helmholtz equation. The Green's function (denoted as G), is the solution for the following equation:

WhatsApp Image 2022-08-28 at 12 04 31

For the case of Helmholtz equation (L), Green's function looks as follow:

WhatsApp Image 2022-08-28 at 11 59 15

Scheme

For a given FGMRES iteraion, our algorithm conducts the following sequence:

WhatsApp Image 2022-08-28 at 12 07 37

where m_0 is the current wave number, K is the kernel we are using in order to create the Green's function and q is the right-hand-side (RHS) of the linear system Au=q.

About

A solver for the Helmholtz equation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages