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

MGR strategies cleanup #2409

Merged
merged 22 commits into from
Nov 28, 2023
Merged

MGR strategies cleanup #2409

merged 22 commits into from
Nov 28, 2023

Conversation

castelletto1
Copy link
Contributor

@castelletto1 castelletto1 commented Apr 26, 2023

This PR introduces a method setReduction in class MGRStrategyBase that is used in the setup method in each strategy. For level lof each strategy the following details are specified:

m_levelFRelaxType[l]          // relaxation type
m_levelFRelaxIters[l]         // number of relaxation iteration
m_levelInterpType[l]          // interpolation type
m_levelRestrictType[l]        // restriction type
m_levelCoarseGridMethod[l]    // coarse grid method
m_levelGlobalSmootherType[l]  // global smoother type
m_levelGlobalSmootherIters[l] // number of global smoother iterations

Note that the F-relaxation type is now set instead of the method (see comment in hypre here). Also, methods have been added in class MGRStrategyBase to configure boomerAMG for mechanics, pressure and pressure/temperature systems.

Additional features that will be included as hypre allows for it:

  • setting the number of maximum points for interpolation operator on each level (generalization of function HYPRE_MGRSetPMaxElmts)
  • tuning of F-relaxation on levels beyond level 0

Copy link
Contributor

@francoishamon francoishamon left a comment

Choose a reason for hiding this comment

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

Great, thank you! Testing in progress

Copy link
Contributor

@victorapm victorapm left a comment

Choose a reason for hiding this comment

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

Thanks! Forgot to approve this before

@castelletto1
Copy link
Contributor Author

This PR is ready for a last round of review. Testing in progress for problems provided by @francoishamon.

@victorapm
Copy link
Contributor

Looks great to me. Thanks again!

Copy link
Contributor

@klevzoff klevzoff left a comment

Choose a reason for hiding this comment

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

I'm late to the party, but LGTM!

(also to shut up Slack bot asking me to review 😄 )

@castelletto1 castelletto1 added ci: run CUDA builds Allows to triggers (costly) CUDA jobs and removed flag: ready for review labels Nov 7, 2023
@paveltomin
Copy link
Contributor

anything in this PR that will affect runs with MGR?

@castelletto1 castelletto1 merged commit cac9479 into develop Nov 28, 2023
@castelletto1 castelletto1 deleted the feature/castelletto1/mgrCleanup branch November 28, 2023 21:23
ouassimkh pushed a commit that referenced this pull request Feb 16, 2024
* Cleaning MGR strategies
* Replacing FRelaxMethod with FRelaxType
* Allowing Gaussian elimination for wells (temporarily) only on CPU
* Unique jacobi for CPU and GPU in MGR strategies
* Removing calls to HYPRE_MGRSetTruncateCoarseGridThreshold in MGR strategies
---------
Co-authored-by: Randolph Settgast <settgast1@llnl.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci: run CUDA builds Allows to triggers (costly) CUDA jobs type: cleanup / refactor Non-functional change (NFC)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants