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

Rckirby/explicit #90

Merged
merged 12 commits into from
Aug 14, 2024
Merged

Rckirby/explicit #90

merged 12 commits into from
Aug 14, 2024

Conversation

rckirby
Copy link
Collaborator

@rckirby rckirby commented Jul 27, 2024

This PR does two things:

  1. It adds an optimized explicit time stepper (which inherits from DIRK since it's an SDIRK). One accesses this with stage_type="explicit" instead of stage_type="dirk". It automatically sets up SNES to never rebuild the jacobian or preconditioner, which is an optimization that works for RK. So users just have to provide mass matrix inversion parameters.
  2. It also adds a new family of "pseudo-energy-conserving" explicit RK methods from de Leon, Ketcheson, and Ranocha.

Copy link
Collaborator

@ScottMacLachlan ScottMacLachlan left a comment

Choose a reason for hiding this comment

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

I would love to see a test or two focused on the explicit time steppers. Is there a reason to not expand test_wave_energy.py to run these schemes through their paces?

@rckirby
Copy link
Collaborator Author

rckirby commented Aug 14, 2024

I would love to see a test or two focused on the explicit time steppers. Is there a reason to not expand test_wave_energy.py to run these schemes through their paces?

Yes, good point. I've done this now.

@rckirby rckirby merged commit 0592971 into master Aug 14, 2024
2 checks passed
@rckirby rckirby deleted the rckirby/explicit branch August 14, 2024 14:40
@rckirby rckirby mentioned this pull request Aug 14, 2024
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