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

Use solution object in all solvers #261

Merged
merged 11 commits into from
Dec 21, 2024

Conversation

ErikQQY
Copy link
Member

@ErikQQY ErikQQY commented Dec 16, 2024

Refactored all boundary conditions' definitions to use the solution object. So this is definitely a breaking release, all downstream packages utilizing BoundaryValueDiffEq.jl(if not using Shooting methods) would be affected.

Some affected packages(some from JuliaHub direct dependents):

  • BVProblemLibrary.jl
  • SciMLBenchmarks.jl
  • DiffEqDocs.jl
  • DifferentialEquations.jl
  • Manifolds.jl
  • QuanEstimation.jl
  • InformationGeometry.jl

Copy link
Contributor

github-actions bot commented Dec 16, 2024

Benchmark Results

master 25f6c2b... master/25f6c2bc1bbe6d...
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK2() 6.77 ± 0.18 ms 6.67 ± 0.17 ms 1.02
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK3() 2.56 ± 0.13 ms 2.59 ± 0.12 ms 0.99
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK4() 0.915 ± 0.058 ms 0.91 ± 0.047 ms 1.01
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK5() 0.958 ± 0.074 ms 0.96 ± 0.073 ms 0.997
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK6() 1.06 ± 0.088 ms 1.07 ± 0.12 ms 0.997
Simple Pendulum/IIP/MultipleShooting(10, Tsit5; grid_coarsening = false) 1.92 ± 0.57 ms 1.93 ± 0.58 ms 0.998
Simple Pendulum/IIP/MultipleShooting(10, Tsit5; grid_coarsening = true) 3.53 ± 0.31 ms 3.53 ± 0.26 ms 1
Simple Pendulum/IIP/MultipleShooting(100, Tsit5; grid_coarsening = false) 0.0525 ± 0.006 s 0.0532 ± 0.0057 s 0.987
Simple Pendulum/IIP/MultipleShooting(100, Tsit5; grid_coarsening = true) 0.0667 ± 0.0087 s 0.0648 ± 0.0092 s 1.03
Simple Pendulum/IIP/Shooting(Tsit5()) 0.22 ± 0.075 ms 0.244 ± 0.076 ms 0.902
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK2() 0.0388 ± 0.0031 s 0.0386 ± 0.0032 s 1
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK3() 11.3 ± 0.68 ms 11.3 ± 0.71 ms 1
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK4() 3.29 ± 0.19 ms 3.28 ± 0.19 ms 1
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK5() 3.38 ± 0.31 ms 3.34 ± 0.27 ms 1.01
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK6() 3.5 ± 0.22 ms 3.48 ± 0.3 ms 1
Simple Pendulum/OOP/MultipleShooting(10, Tsit5; grid_coarsening = false) 3.34 ± 2.5 ms 3.41 ± 2.6 ms 0.979
Simple Pendulum/OOP/MultipleShooting(10, Tsit5; grid_coarsening = true) 6.02 ± 4.8 ms 5.96 ± 4.4 ms 1.01
Simple Pendulum/OOP/MultipleShooting(100, Tsit5; grid_coarsening = false) 0.0992 ± 0.0042 s 0.098 ± 0.0033 s 1.01
Simple Pendulum/OOP/MultipleShooting(100, Tsit5; grid_coarsening = true) 0.12 ± 0.0091 s 0.118 ± 0.0094 s 1.01
Simple Pendulum/OOP/Shooting(Tsit5()) 0.592 ± 0.032 ms 0.596 ± 0.039 ms 0.994
time_to_load 7.15 ± 0.035 s 7.15 ± 0.048 s 1

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).

@ErikQQY ErikQQY closed this Dec 17, 2024
@ErikQQY ErikQQY reopened this Dec 17, 2024
@ErikQQY ErikQQY marked this pull request as ready for review December 17, 2024 14:12
@ChrisRackauckas
Copy link
Member

Just missing a test for the array indexing.

@ChrisRackauckas ChrisRackauckas merged commit f06cbf7 into SciML:master Dec 21, 2024
32 of 36 checks passed
@ErikQQY ErikQQY deleted the qqy/interpsol_for_all branch December 22, 2024 17:53
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