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

New base class DIRK_IMEX #112

Merged
merged 4 commits into from
Feb 13, 2025
Merged

New base class DIRK_IMEX #112

merged 4 commits into from
Feb 13, 2025

Conversation

jbigmanUT
Copy link
Contributor

Created new base class DIRK_IMEX which now ARS_DIRK_IMEX inherits from. Implicit tableau in ARS methods are now padded so sizing is uniform with methods requiring an implicit first step.

Modified DIRKIMEXMethod to allow for implicit first stages. Also combined loops for efficiency

Added remaining ARS schemes for completeness

Added some SSPk schemes from Pareschi and Russo to demonstrate new functionality in SSPK_DIRK_IMEX

Updated tests and demos accordingly

Created new base class DIRK_IMEX which now ARS_DIRK_IMEX inherits from.
Implicit tableau in ARS methods are now padded so sizing is uniform with
methods requiring an implicit first step.

Modified DIRKIMEXMethod to allow for implicit first stages. Also combined loops
for efficiency

Added additional ARS schemes for completeness

Added some SSPk schemes from Pareschi and Russo to demonstrate new functionality
in SSPK_DIRK_IMEX

Updated tests and demos accordingly
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.

Overall, this looks good to me - many thanks for the great work here! A couple of small issues to fix, and it would be great to get @rckirby's eyes on this as well.

I think the correct fix for the docs build is to edit line 51 of .github/workflows/docs.yml to take v2.5.0 to v3

irksome/__init__.py Outdated Show resolved Hide resolved
tests/test_imex.py Outdated Show resolved Hide resolved
Fixed a typo in test suite

Updated version in docs

Changed __init__.py to match style
Copy link
Collaborator

@rckirby rckirby left a comment

Choose a reason for hiding this comment

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

Thanks, this looks really good. I've made a few suggestions but think this is in great shape. Also, I approved the CI to start running (I had to do that since it's from a fork), so we want to make sure that goes through.

tests/test_imex.py Outdated Show resolved Hide resolved
irksome/sspk_dirk_imex_tableau.py Outdated Show resolved Hide resolved
irksome/sspk_dirk_imex_tableau.py Outdated Show resolved Hide resolved
irksome/dirk_imex_tableaux.py Outdated Show resolved Hide resolved
@ScottMacLachlan ScottMacLachlan mentioned this pull request Feb 12, 2025
@rckirby
Copy link
Collaborator

rckirby commented Feb 12, 2025

@jbigmanUT : @ScottMacLachlan just fixed the doc building issue for us, and it's merged. Can you merge our master branch to fix that on your PR, as we don't have write permission for you.

Dictionaries for SSPk and ARS schemes are now stored with their classes

Explicit parts of SSPk schemes are now available as a tableau via a new factory.
These tableau were also added to the testing in test_explicit.py

Testing in test_imex.py is now parameterized by the Butcher tableau
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.

This looks good to me. Thanks!

Copy link
Collaborator

@rckirby rckirby left a comment

Choose a reason for hiding this comment

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

Many thanks, I appreciate the contribution!

@rckirby rckirby merged commit 2afa46c into firedrakeproject:master Feb 13, 2025
2 checks passed
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.

3 participants