Skip to content
This repository was archived by the owner on Jun 14, 2025. It is now read-only.

Conversation

@cmikida2
Copy link
Contributor

@cmikida2 cmikida2 commented May 5, 2021

Aims to implement the order and timestep adaptive backward differentiation formulas/numerical differentiation formulas as Leap timesteppers. The method here matches that of MATLAB ode15s and Scipy's integrate.bdf. In particular, this paper from Shampine and Reichelt describes the method well.

Draft until:

@inducer
Copy link
Owner

inducer commented May 7, 2021

To cut down on noise in my email, I'm unsubscribing from this PR. When it next needs my attention, please @-mention me or hit the "request review" button. Otherwise, I may not see your messages in a timely manner.

@cmikida2 cmikida2 changed the title WIP: Adaptive BDF/NDF in Leap Adaptive BDF/NDF in Leap May 11, 2021
@cmikida2
Copy link
Contributor Author

@inducer with the addition of fixed-order convergence tests (I managed to get the "bootstrapping" to work with some finagling), this is now ready to be discussed. Note also the dependence on the forked dagrt branch bdf-builtins, which has its own PR here, and I imagine will be the topic of a large portion of the discussion.

@cmikida2 cmikida2 mentioned this pull request May 11, 2021
3 tasks
test/test_bdf.py Outdated
bs_targ=0.05, show_dag=show_dag, plot=plot,
implicit=True, solver=newton_solver,
solver_hook=solver_hook)
# Use "DEBUG" to trace execution
Copy link
Owner

Choose a reason for hiding this comment

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

How come so much of this is commented out?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was something I did when unifying this convergence test within a utility, and was an erroneous artifact. No longer present as of 6606465.

Comment on lines +26 to +29
pytest.importorskip("scipy")
pytest.importorskip("cantera")
pytest.importorskip("pyrometheus")
pytest.importorskip("jax")
Copy link
Owner

Choose a reason for hiding this comment

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

We should make it so that this actually runs in CI.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, I can take care of this. I know I had to rip out a Scipy importorskip in a previous PR, so I can look there to remember how I did it.

Copy link
Owner

Choose a reason for hiding this comment

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

I'll help. You'll need to set up a Conda-based CI, which I think I can probably do more quickly.

Copy link
Owner

Choose a reason for hiding this comment

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

#20

Copy link
Owner

Choose a reason for hiding this comment

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

08017c2 and 01f6f8a should do the trick.

Copy link
Owner

Choose a reason for hiding this comment

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

Maybe a38620c and 7e0d1b9?

@inducer inducer marked this pull request as draft May 12, 2021 18:42
@inducer
Copy link
Owner

inducer commented May 12, 2021

Thanks! I'm converting this back to draft pending the two items I added to the description, to avoid me merging this by accident before it's ready.

@inducer
Copy link
Owner

inducer commented May 13, 2021

@cmikida2 Not sure what happened with the CI there. You can use https://github.com/marketplace/actions/debugging-with-tmate to SSH in and see if you figure out what crashed the CI.

@cmikida2
Copy link
Contributor Author

@inducer I've just looked this over again and brought it up to speed with the main leap branch. It remains, as far as I can see, ready for a further look, or at the very least is in a good position for someone else to pick it up and make any further tweaks necessary.

I'll also note that the previous failing CI issue, in which (by looking at previous workflows) the reactor test was failing deep in the guts of Jax somewhere, appears to have been dealt with via ebfe487.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants