# Comparing ODE's

**URL:** <https://discourse.julialang.org/t/comparing-odes/79994>\
**Category:** Modelling & Simulations\
**Tags:** testing, ode\
**Created:** [April 25, 2022, 3:16pm UTC](https://discourse.julialang.org/t/comparing-odes/79994 "2022-04-25T15:16:04Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![BinaryBot](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/binarybot/32/45258_2.png) [@BinaryBot](https://discourse.julialang.org/u/BinaryBot)\
**Post date:** [April 25, 2022, 3:16pm UTC](https://discourse.julialang.org/t/comparing-odes/79994/1 "2022-04-25T15:16:04Z")

</div>

I would like to compare the simulation result of multiple version of ODE solvers (i.e compare different tolerance values and use different solvers). Is there a way that I can create a dictionary of the algorithms and their settings or something similar and pass it as an argument in place of `sol=solve(prob, alg= dict_of_alg[0])` ?

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [April 25, 2022, 3:26pm UTC](https://discourse.julialang.org/t/comparing-odes/79994/2 "2022-04-25T15:26:03Z")

</div>

Check out [GitHub - SciML/DiffEqDevTools.jl: Benchmarking, testing, and development tools for differential equations and scientific machine learning (SciML)](https://github.com/SciML/DiffEqDevTools.jl)

Specifically, look at how the benchmarks are done:

[https://benchmarks.sciml.ai/html/MultiLanguage/wrapper\_packages.html](https://benchmarks.sciml.ai/html/MultiLanguage/wrapper_packages.html)  
[https://benchmarks.sciml.ai/html/StiffODE/VanDerPol.html](https://benchmarks.sciml.ai/html/StiffODE/VanDerPol.html)

---

<div class="post-metadata">

**Author:** ![BinaryBot](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/binarybot/32/45258_2.png) [@BinaryBot](https://discourse.julialang.org/u/BinaryBot)\
**Post date:** [April 26, 2022, 2:40pm UTC](https://discourse.julialang.org/t/comparing-odes/79994/3 "2022-04-26T14:40:47Z")

</div>

I looked into DiffEqDevTools, it has some interesting benchmarking options.

I would however also like to just plot multiple solutions of solvers on top of each other. Is that possible using WorkPrecisionSet?

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [April 26, 2022, 7:28pm UTC](https://discourse.julialang.org/t/comparing-odes/79994/4 "2022-04-26T19:28:41Z")

</div>

Hmm, it doesn’t have that specific feature. I see. That would be good to package up into the dev tools though, so when you finish something up for what you need, if you don’t mind sharing the code that would be nice. I think a lot of people do similar tolerance studies so having a single form of it would be good.

---

<div class="post-metadata">

**Author:** ![BinaryBot](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/binarybot/32/45258_2.png) [@BinaryBot](https://discourse.julialang.org/u/BinaryBot)\
**Post date:** [May 2, 2022, 5:01pm UTC](https://discourse.julialang.org/t/comparing-odes/79994/5 "2022-05-02T17:01:35Z")

</div>

Currently I got away with just computing multiple solve functions as I could not find a efficient way to iterate through the different algorithms.
