# SciMLBenchmarks.jl: Comparison with Fixed timestep methods

**URL:** https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246
**Category:** Modelling & Simulations
**Created:** [August 3, 2022, 4:37pm UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246 "2022-08-03T16:37:11Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![Mikel\_Antonana](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikel_antonana/32/3095_2.png) [@Mikel\_Antonana](https://discourse.julialang.org/u/Mikel_Antonana)
#### Post date: [August 3, 2022, 4:37pm UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/1 "2022-08-03T16:37:11Z")

</div>

Hi,

I have run a benchmark to compare adaptive and fixed step size method DPRKN12():

```julia
tols=abstols=reltols=[1e-8, 1e-9, 1e-10, 1e-11, 1e-12, 1e-13, 1e-14, 1e-15]
dts= [15., 25.,35., 50., 65., 75., 100., 125.]

setups = [
           Dict(:alg=>DPRKN12(),:adaptive=>true)
           Dict(:alg=>DPRKN12(),:adaptive=>false,:dts=>dts)   
]

solnames = ["DPRKN12 (adaptive)", "DPRKN12 (fixed)"]

wp1 = WorkPrecisionSet(prob,abstols,reltols,setups;appxsol=test_solx2nd,save_everystep=false,numruns=10,names=solnames);

plot(wp1)

```

I got the following warning which I relate to "Dict(:alg=\>DPRKN12(),:adaptive=\>false,:dts=\>dts) " code. Did I make something wrong?

“┌ Warning: Warning: Unrecognized keyword arguments found. Future versions will error.  
│ The only allowed keyword arguments to `solve` are: …”

Thanks,  
M.

---

<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: [August 3, 2022, 10:48pm UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/2 "2022-08-03T22:48:12Z")

</div>

> [@Mikel\_Antonana](#):
>
> I got the following warning which I relate to "Dict(:alg=\>DPRKN12(),:adaptive=\>false,:dts=\>dts) " code. Did I make something wrong?
> 
> “┌ Warning: Warning: Unrecognized keyword arguments found. Future versions will error.  
> │ The only allowed keyword arguments to `solve` are: …”
> 
> Thanks,  
> M.

Can you share what it said? `...` is not very informative when what comes after that tells you exactly what caused the issue.

---

<div class="post-metadata">

### Author: ![Mikel\_Antonana](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikel_antonana/32/3095_2.png) [@Mikel\_Antonana](https://discourse.julialang.org/u/Mikel_Antonana)
#### Post date: [August 4, 2022, 7:58am UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/3 "2022-08-04T07:58:18Z")

</div>

Okay, this is the full message:

> Blockquote  
> ┌ Warning: Warning: Unrecognized keyword arguments found. Future versions will error.  
> │ The only allowed keyword arguments to `solve` are:  
> │ (:dense, :saveat, :save\_idxs, :tstops, :d\_discontinuities, :save\_everystep, :save\_on, :save\_start, :save\_end, :initialize\_save, :adaptive, :abstol, :reltol, :dt, :dtmax, :dtmin, :force\_dtmin, :internalnorm, :controller, :gamma, :beta1, :beta2, :qmax, :qmin, :qsteady\_min, :qsteady\_max, :qoldinit, :failfactor, :calck, :alias\_u0, :maxiters, :callback, :isoutofdomain, :unstable\_check, :verbose, :merge\_callbacks, :progress, :progress\_steps, :progress\_name, :progress\_message, :timeseries\_errors, :dense\_errors, :calculate\_errors, :initializealg, :alg, :save\_noise, :delta, :seed, :alg\_hints, :kwargshandle, :trajectories, :batch\_size, :sensealg, :advance\_to\_tstop, :stop\_at\_next\_tstop)  
> │ See [https://diffeq.sciml.ai/stable/basics/common\_solver\_opts/](https://diffeq.sciml.ai/stable/basics/common_solver_opts/) for more details.  
> │  
> │ Set kwargshandle=KeywordArgError for an error message and more details.  
> │ Set kwargshandle=KeywordArgSilent to ignore this message.  
> └ @ DiffEqBase /home/mikel/.julia/packages/DiffEqBase/ziNGu/src/solve.jl:210  
> Blockquote

---

<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: [August 4, 2022, 10:30am UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/4 "2022-08-04T10:30:35Z")

</div>

Are you on an old version? The next thing that it would print out is the name of the extra argument? Can you share `]st`?

---

<div class="post-metadata">

### Author: ![Mikel\_Antonana](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikel_antonana/32/3095_2.png) [@Mikel\_Antonana](https://discourse.julialang.org/u/Mikel_Antonana)
#### Post date: [August 4, 2022, 12:29pm UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/5 "2022-08-04T12:29:47Z")

</div>

> [@ChrisRackauckas](#):
>
> The next thing that it would print out is the name of the extra argument?

I am using Julia 1.6.6 version and ] st info is:

[6e4b80f9] BenchmarkTools v1.3.1  
[2b5f629d] DiffEqBase v6.83.1  
[f3b72e0c] DiffEqDevTools v2.29.0  
[5789e2e9] FileIO v1.14.0  
[0e44f5e4] Hwloc v2.0.0  
[7073ff75] IJulia v1.23.3  
[58bc7355] IRKGaussLegendre v0.1.1  
[033835bb] JLD2 v0.4.22  
[b964fa9f] LaTeXStrings v1.3.0  
[0db19996] NBInclude v2.3.0  
[1dea7af3] OrdinaryDiffEq v5.71.0  
[d96e819e] Parameters v0.12.3  
[91a5bcdd] Plots v1.27.6  
[731186ca] RecursiveArrayTools v2.26.3  
[189a3867] Reexport v1.2.2  
[37e2e46d] LinearAlgebra

Which extra argument do you mean to print?  
Anyway, I would like to clarify that the result is correct (I attach the result of the plot(w1)). The drawback is that the warning messages fill the Jupyter document.

![plotw1](https://global.discourse-cdn.com/julialang/original/3X/2/1/216ad86a079d4d0d2d04859be3b397e9a175f56d.png)

---

<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: [August 4, 2022, 12:31pm UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/6 "2022-08-04T12:31:46Z")

</div>

What happens if you do `]up`? You’re on old versions. If that doesn’t work, `]add DiffEqDevTools@2.31`

---

<div class="post-metadata">

### Author: ![Mikel\_Antonana](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikel_antonana/32/3095_2.png) [@Mikel\_Antonana](https://discourse.julialang.org/u/Mikel_Antonana)
#### Post date: [August 4, 2022, 1:30pm UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/7 "2022-08-04T13:30:58Z")

</div>

> [@ChrisRackauckas](#):
>
> DiffEqDevTools

I do ] up, and warning messages have disappeared.

Thank a lot

- For another time, I will previously update to the latest version.

---

<div class="post-metadata">

### Author: ![Mikel\_Antonana](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikel_antonana/32/3095_2.png) [@Mikel\_Antonana](https://discourse.julialang.org/u/Mikel_Antonana)
#### Post date: [August 4, 2022, 5:02pm UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/8 "2022-08-04T17:02:25Z")

</div>

Sorry, but I’m making some improvements to our IRKGL16 implementation and I have a new question. In the future, can we use kwargs keyword arguments in the ODEProblem definition?

```julia
 ODEProblem(f::ODEFunction,u0,tspan,p=NullParameters();kwargs...)

```

Now, we use kwargs arguments in the IRKGL16() mixed precision implementation and the execution shows the following warning message:

```julia
 prob= ODEProblem(NbodyODE!,u0,tspan,Gm1;lpp=lpp)
 sol=solve(prob,IRKGL16(), reltol=1e-20, abstol=1e-20, adaptive=true)

```

```julia
┌ Warning: Unrecognized keyword arguments found. Future versions will error.
│ The only allowed keyword arguments to `solve` are:
│ (:dense, :saveat, :save_idxs, :tstops, :d_discontinuities, :save_everystep, :save_on, :save_start, :save_end, :initialize_save, :adaptive, :abstol, :reltol, :dt, :dtmax, :dtmin, :force_dtmin, :internalnorm, :controller, :gamma, :beta1, :beta2, :qmax, :qmin, :qsteady_min, :qsteady_max, :qoldinit, :failfactor, :calck, :alias_u0, :maxiters, :callback, :isoutofdomain, :unstable_check, :verbose, :merge_callbacks, :progress, :progress_steps, :progress_name, :progress_message, :timeseries_errors, :dense_errors, :weak_timeseries_errors, :weak_dense_errors, :calculate_errors, :initializealg, :alg, :save_noise, :delta, :seed, :alg_hints, :kwargshandle, :trajectories, :batch_size, :sensealg, :advance_to_tstop, :stop_at_next_tstop, :default_set, :second_time, :prob_choice)
│ 
│ See https://diffeq.sciml.ai/stable/basics/common_solver_opts/ for more details.
│ 
│ Set kwargshandle=KeywordArgError for an error message.
│ Set kwargshandle=KeywordArgSilent to ignore this message.
└ @ DiffEqBase /home/mikel/.julia/packages/DiffEqBase/HDcso/src/solve.jl:816

Unrecognized keyword arguments: [:lpp]

Áfter update, I understand I am using the last version,

 [6e4b80f9] BenchmarkTools v1.3.1
  [2b5f629d] DiffEqBase v6.94.4
  [f3b72e0c] DiffEqDevTools v2.31.0
  [5789e2e9] FileIO v1.15.0
  [0e44f5e4] Hwloc v2.0.0
  [7073ff75] IJulia v1.23.3
  [58bc7355] IRKGaussLegendre v0.1.2
  [033835bb] JLD2 v0.4.22
  [b964fa9f] LaTeXStrings v1.3.0
  [0db19996] NBInclude v2.3.0
  [1dea7af3] OrdinaryDiffEq v6.19.3
  [d96e819e] Parameters v0.12.3
  [91a5bcdd] Plots v1.31.5
  [731186ca] RecursiveArrayTools v2.31.2
  [189a3867] Reexport v1.2.2
  [37e2e46d] LinearAlgebra

```

Thank you in advance for your help

M.

---

<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: [August 4, 2022, 8:26pm UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/9 "2022-08-04T20:26:20Z")

</div>

> [@Mikel\_Antonana](#):
>
> In the future, can we use kwargs keyword arguments in the ODEProblem definition?

Yes. `lpp` isn’t a valid keyword argument though. If it’s an algorithm-specific argument, then it should go into the algorithm, i.e. `IRKGL16(;lpp=lpp)` or `IRKGL16(lpp)`.

---

<div class="post-metadata">

### Author: ![Mikel\_Antonana](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikel_antonana/32/3095_2.png) [@Mikel\_Antonana](https://discourse.julialang.org/u/Mikel_Antonana)
#### Post date: [August 5, 2022, 10:22am UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/10 "2022-08-05T10:22:13Z")

</div>

“lpp” is not algorithm-specific argument.  
Do you have an example where `kwargs` keyword arguments are applied ?

Regards,  
M.

---

<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: [August 5, 2022, 12:15pm UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/11 "2022-08-05T12:15:07Z")

</div>

> [@Mikel\_Antonana](#):
>
> Do you have an example where `kwargs` keyword arguments are applied ?

What do you mean? The list is just [https://diffeq.sciml.ai/stable/basics/common\_solver\_opts/](https://diffeq.sciml.ai/stable/basics/common_solver_opts/)

> [@Mikel\_Antonana](#):
>
> “lpp” is not algorithm-specific argument.

What does it do?

---

<div class="post-metadata">

### Author: ![Mikel\_Antonana](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikel_antonana/32/3095_2.png) [@Mikel\_Antonana](https://discourse.julialang.org/u/Mikel_Antonana)
#### Post date: [August 5, 2022, 4:39pm UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/12 "2022-08-05T16:39:42Z")

</div>

I was wrong and I have already fixed the problem with the “lpp” argument.  
Thank you, and I hope to finish the improvements in the IRKGL16 implementation soon.

---

<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: [August 5, 2022, 5:40pm UTC](https://discourse.julialang.org/t/scimlbenchmarks-jl-comparison-with-fixed-timestep-methods/85246/13 "2022-08-05T17:40:54Z")

</div>

Good to hear. Yeah I saw some of the benchmarks and it looks really good!
