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

Diagnonally Implicit Multistage Class #440

Merged
merged 17 commits into from
Oct 24, 2023
Merged

Conversation

atb1995
Copy link
Collaborator

@atb1995 atb1995 commented Sep 7, 2023

This code change adds an Implicit Multistage class which allows for general diagonally implicit Runge-Kutta schemes by passing in a Butcher Tableau. It also adds the Implicit Midpoint and a two stage scheme developed by Qin and Zhang. The butcher tableau is of the form:

[a_00 0 . 0 ]
[a_10 a_11 . 0 ]
[ . . . . ]
[ b_0 b_1 . b_s]

I have tested a Trapezium Rule version vs the regular TrapeziumRule for Williamson 1 & 6, and the errors are of the order 10^-9. QinZhang and ImplicitMidpoint also run nicely for Williamson 1 and 6.

Copy link
Contributor

@tommbendall tommbendall left a comment

Choose a reason for hiding this comment

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

Looks like it has implemented nicely and it's great to have ImplicitMidpoint through this method! I have a bunch of picky issues, which I'm afraid also apply to the ExplicitMultistage schemes (and I'm sorry for missing them the first time round...)

gusto/time_discretisation.py Outdated Show resolved Hide resolved
gusto/time_discretisation.py Outdated Show resolved Hide resolved
gusto/time_discretisation.py Outdated Show resolved Hide resolved
gusto/time_discretisation.py Outdated Show resolved Hide resolved
gusto/time_discretisation.py Show resolved Hide resolved
gusto/time_discretisation.py Outdated Show resolved Hide resolved
gusto/time_discretisation.py Outdated Show resolved Hide resolved
gusto/time_discretisation.py Outdated Show resolved Hide resolved
gusto/time_discretisation.py Outdated Show resolved Hide resolved
@atb1995 atb1995 mentioned this pull request Oct 19, 2023
Copy link
Contributor

@tommbendall tommbendall 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 great to me. Thanks for all the effort in making the documentation look nice!!

@tommbendall tommbendall merged commit 01cb56d into main Oct 24, 2023
4 checks passed
@tommbendall tommbendall deleted the implicit_multistage2 branch October 24, 2023 14:21
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