Skip to content

Change ODEIntreface to BVPInterface in extension #272

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

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ErikQQY
Copy link
Member

@ErikQQY ErikQQY commented Jan 27, 2025

Trying to address #209

Basically, BVPInterface is the successor of ODEInterface with several bug fixes, has more algorithms for BVP solving, and will be interfacing more solvers in the future

@ChrisRackauckas
Copy link
Member

Amazing!

Copy link
Contributor

Benchmark Results

master 0143c3f... master/0143c3f3b10571...
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK2() 6.89 ± 0.23 ms 6.81 ± 0.25 ms 1.01
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK3() 2.53 ± 0.15 ms 2.54 ± 0.13 ms 0.996
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK4() 0.904 ± 0.064 ms 0.907 ± 0.064 ms 0.997
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK5() 2.54 ± 0.42 ms 2.48 ± 0.44 ms 1.02
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK6() 1.07 ± 0.14 ms 1.06 ± 0.15 ms 1.01
Simple Pendulum/IIP/MultipleShooting(10, Tsit5; grid_coarsening = false) 2.03 ± 0.61 ms 1.97 ± 0.58 ms 1.03
Simple Pendulum/IIP/MultipleShooting(10, Tsit5; grid_coarsening = true) 3.68 ± 0.9 ms 3.61 ± 0.88 ms 1.02
Simple Pendulum/IIP/MultipleShooting(100, Tsit5; grid_coarsening = false) 0.0559 ± 0.011 s 0.0556 ± 0.0082 s 1
Simple Pendulum/IIP/MultipleShooting(100, Tsit5; grid_coarsening = true) 0.0705 ± 0.015 s 0.0693 ± 0.012 s 1.02
Simple Pendulum/IIP/Shooting(Tsit5()) 0.252 ± 0.075 ms 0.248 ± 0.077 ms 1.02
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK2() 0.0405 ± 0.00095 s 0.0387 ± 0.00087 s 1.04
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK3() 12 ± 0.5 ms 11.4 ± 0.23 ms 1.05
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK4() 3.46 ± 0.23 ms 3.33 ± 0.21 ms 1.04
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK5() 10 ± 0.84 ms 9.8 ± 0.84 ms 1.02
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK6() 3.67 ± 0.29 ms 3.54 ± 0.28 ms 1.03
Simple Pendulum/OOP/MultipleShooting(10, Tsit5; grid_coarsening = false) 3.63 ± 2.6 ms 3.5 ± 2.6 ms 1.04
Simple Pendulum/OOP/MultipleShooting(10, Tsit5; grid_coarsening = true) 6.33 ± 4.2 ms 6.06 ± 4.3 ms 1.04
Simple Pendulum/OOP/MultipleShooting(100, Tsit5; grid_coarsening = false) 0.108 ± 0.0088 s 0.103 ± 0.0038 s 1.05
Simple Pendulum/OOP/MultipleShooting(100, Tsit5; grid_coarsening = true) 0.134 ± 0.014 s 0.124 ± 0.0072 s 1.08
Simple Pendulum/OOP/Shooting(Tsit5()) 0.651 ± 0.06 ms 0.624 ± 0.054 ms 1.04
time_to_load 5.93 ± 0.11 s 5.67 ± 0.041 s 1.05

Benchmark Plots

A plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR.
Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).

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