Skip to content

Fix for the Kerker preconditioner

Description

The code was using CG as linear solver, implicitly assuming the matrix is semi-definite positive. This is only the case is the lowest eigenvalue of the Laplacian is larger than q_0^2.

The problem is now switching to the QMR solver that does not require this.

The CG solver is now changed to draw an error is the matrix is detected to not be semi-definite positive during the execution of the solver. The Poisson CG solver are now sign swapped to be consistent.

News snippet

Fix for the Kerker preconditioner.

Checklist

  • I have checked that my code follows the Octopus coding standards
  • I have added tests for all the new features added in this request.
Edited by Nicolas Tancogne-Dejean

Merge request reports

Loading