Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add GMRES restart option #2910

Merged
merged 3 commits into from Apr 27, 2020
Merged

add GMRES restart option #2910

merged 3 commits into from Apr 27, 2020

Conversation

joergbuchwald
Copy link
Member

@joergbuchwald joergbuchwald commented Apr 20, 2020

add restart option for the GMRES solver (Eigen-unsupported).
It sets the number of iterations before a restart is conducted. It can improve the convergence behavior. However, increasing the value comes with a tradeoff in time and memory. First tests suggest that the default value (30) is already quite optimal in most cases.

  1. Feature description was added to the changelog
  2. Tests covering your feature were added?
  3. Any new feature or behavior change was documented?

add gmres restart test1

set gmres restart test2

add restart option for all Preconditioners (final)
@joergbuchwald joergbuchwald changed the title add GMRES option restart add GMRES restart option Apr 20, 2020
Copy link
Member

@wenqing wenqing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

Copy link
Member

@endJunction endJunction left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clang-format is required on the whole change.
Documention.
Testcase?

Looks ok otherwise. Nice addition!

Copy link
Member

@TomFischer TomFischer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When Dimas issues are resolved and tests are green: ⏩

@TomFischer TomFischer merged commit 9ce7bf3 into ufz:master Apr 27, 2020
}

template <>
void EigenIterativeLinearSolver<Eigen::GMRES<EigenMatrix::RawMatrixType, Eigen::IncompleteLUT<double>>>::setRestart(int const restart)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joergbuchwald clang-format. Use pre-commit checks.

@endJunction
Copy link
Member

@joergbuchwald Small testcase using the option, something from SteadyStateDiffusion, for example, would be good.

@ogsbot
Copy link
Member

ogsbot commented Jun 19, 2020

OpenGeoSys development has been moved to GitLab.

See this pull request on GitLab.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants