BoundaryValueDiffEq.jl icon indicating copy to clipboard operation
BoundaryValueDiffEq.jl copied to clipboard

Change ODEIntreface to BVPInterface in extension

Open ErikQQY opened this issue 10 months ago • 2 comments

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

ErikQQY avatar Jan 27 '25 17:01 ErikQQY

Amazing!

ChrisRackauckas avatar Jan 27 '25 17:01 ChrisRackauckas

Benchmark Results

master 0143c3f3b10571... 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).

github-actions[bot] avatar Jan 27 '25 17:01 github-actions[bot]