Skip to content

GMRES Driver Improvements - #10

Draft
patrikrac wants to merge 8 commits into
iterorganization:developfrom
patrikrac:feature/gmres_performance
Draft

GMRES Driver Improvements #10
patrikrac wants to merge 8 commits into
iterorganization:developfrom
patrikrac:feature/gmres_performance

Conversation

@patrikrac

Copy link
Copy Markdown
Collaborator

GMRES Driver Improvements

The current GMRES driver was left-preconditioned only and its stopping criterium was based on the preconditioned relative residual (standard for left preconditioned Krylov methods).


The update delivers following improvements aiming at improving robustness and reducing iteration counts in a variety of simulations:

  • Fixed a bug in the Gram-Schmidt orthogonalization loops which could cause unnecessary iterations.
  • Added switch for right preconditioning -> Default set to right in since we can capture the true residual.
  • Added a breakdown guard that allows for "happy" breakdown of the Krylov subspace and thus early exiting.
  • Added right hand side normalized stopping criterion which better accounts for good initial guesses.

@N-Schwarz

Copy link
Copy Markdown
Collaborator

Hi @patrikrac , what is the status on this?

@patrikrac

Copy link
Copy Markdown
Collaborator Author

Hi @N-Schwarz, I didn't get around to rerunning the regression tests yet. I will start them now since I am back from holidays. I imagine though i will probably still run into issues with the stellerator cases, or is this fixed now?
From a code side this should be final.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants