Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
  • 21:28
    KirillZubov review_requested #241
  • 20:54
    ChrisRackauckas synchronize #638
  • 20:54

    ChrisRackauckas on scimlbase

    changes for OrdinaryDiffEq (compare)

  • 20:51
    ChrisRackauckas opened #324
  • 20:51

    ChrisRackauckas on docs

    big docs update (compare)

  • 20:09
    SandradelMarSoto starred SciML/StochasticDiffEq.jl
  • 20:05
    JuliaTagBot commented #163
  • 19:49
    ChrisRackauckas commented #323
  • 19:32

    ChrisRackauckas on gh-pages

    build based on f90312b (compare)

  • 19:23
    KirillZubov synchronize #241
  • 19:23

    KirillZubov on fix_normalizing_coefficient

    fix (compare)

  • 19:20
    ChrisRackauckas commented #430
  • 19:20

    ChrisRackauckas on master

    Update common_solver_opts.md Merge pull request #430 from Ok… (compare)

  • 19:20
    ChrisRackauckas closed #430
  • 18:02
    KirillZubov opened #241
  • 18:01

    KirillZubov on fix_normalizing_coefficient

    fix normalizing coefficient (compare)

  • 17:57
    OkonSamuel opened #430
  • 17:02
    Mrc010 edited #323
  • 17:01
    Mrc010 edited #323
[slack] <chrisrackauckas> odd
[slack] <chrisrackauckas> what if you expand it yourself?
[slack] <Donald Lee> how would you do that?
[slack] <chrisrackauckas> testfxn(-60:0.1:100)
[slack] <chrisrackauckas> and then plot
[slack] <chrisrackauckas> I meant make that into a plottable object.
[slack] <Brian Groenke> has anyone here used Unitful with DifferentialEquations.jl ? Preliminary benchmarks I've run show a performance hit of 10% or more which is a bit unfortunate.
[slack] <chrisrackauckas> it should all compile away, but there's other issues and I wouldn't recommend unitful
[slack] <Adam Gerlach> I would like to do a Jet Transport based on a MTK model and am hitting many road blocks. It looks like TaylorSeries IC doesn't work w/ DiffEq in general. produces LoadError: MethodError: no method matching TaylorN{Float64}(::Rational{Int64}) for both Tsit5() and TaylorMethod . As a work around, I looked into building the eom function and calling TaylorIntegration directly, however the parsing performed in taylorinteg is hitting a roadblock w/ RuntimeGeneratedFunctions . I would prefer to used DiffEq directly but is there a simple stop-gap workaround for this. e.g. produce a function instead of RuntimeGeneratedFunctions ?
[slack] <Adam Gerlach> For ref RE Jet transport: https://perezhz.github.io/TaylorIntegration.jl/latest/pendulum/
[slack] <chrisrackauckas> where are the rational numbers coming from?
[slack] <Adam Gerlach> Let me put together a quick MWE

[slack] <Adam Gerlach> ```using TaylorSeries, OrdinaryDiffEq, TaylorIntegration

function vanderpol!(du,u,ps,t)
du[1] = u[2]
du[2] = ps[1](1-u[1]^2)u[2]-u[1]

tspan = (0.0, 7.0)
u0 = [1.4, 2.4]
ps = [1.0]

prob = ODEProblem(vanderpol!, u0, tspan, ps)
solve(prob, Tsit5()) # success
solve(prob, TaylorMethod(20)) #success

TaylorSeries Expansion

ξ = set_variables("ξ", numvars=2, order=20)# \xi
u0ξ = u0.+ξ

prob2 = ODEProblem(vanderpol!, u0ξ, tspan, ps)
solve(prob2, Tsit5()) #LoadError: MethodError: no method matching TaylorN{Float64}(::Rational{Int64})```

[slack] <chrisrackauckas> yeah just change qoldinit, q... etc.
[slack] <chrisrackauckas> or make it promote rationals, which is the real solution.
[slack] <Adam Gerlach> not clear on first statement
[slack] <chrisrackauckas> there are keyword arguments without exact floating point representations
[slack] <chrisrackauckas> so they are kept as rationals and convert
[slack] <Adam Gerlach> for solve ?
[slack] <Adam Gerlach> I see it. Thanks.
[slack] <Adam Gerlach> No luck.
solve(prob2, Tsit5(); qmin = Float64(OrdinaryDiffEq.qmin_default(alg)), qoldinit = OrdinaryDiffEq.isadaptive(alg) ? Float64(1//10^4) : 0.0, gamma = Float64(OrdinaryDiffEq.gamma_default(alg))) ERROR: LoadError: MethodError: no method matching TaylorN{Float64}(::Float64)
[slack] <Adam Gerlach> Is DiffEq essentially trying to cast to TaylorN ?
[slack] <chrisrackauckas> some of those things effect state
[slack] <chrisrackauckas> so it's trying to make them state variables.
[slack] <Adam Gerlach> hmm... not seeing a logical way around this as you need to do the conversion based on the expansion variables already defined.
[slack] <wuerfel> Something in the world of MTK/SymbolicUtils changed: upon creation of equations there is some simplification happening ( x ~ a + b + a returns x ~ b + 2a )which broke my tests. Does anyone one knows where this changes comes from? Is there any progress on the direct comparison of two equations or the total ordering of terms? There are some oldish issues about that (i.e. https://github.com/JuliaSymbolics/SymbolicUtils.jl/issues/85)…
[slack] <chrisrackauckas> yes it's the same PR with the 100x-1000x acceleration
[slack] <chrisrackauckas> JuliaSymbolics/SymbolicUtils.jl#154
[slack] <Donald Lee> Chris, I figured out that the plotting issue happens if I use CVODE_BDF(), when I tested it with the Lorenz equations.

[slack] <Donald Lee> ```using DifferentialEquations
using Sundials
using Plots

function lorenz!(du,u,p,t)
du[1] = 10.0(u[2]-u[1])
du[2] = u[1]
(28.0-u[3]) - u[2]
du[3] = u[1]u[2] - (8/3)u[3]

u0 = [1.0;0.0;0.0]
tspan = (0.0,100.0)
prob = ODEProblem(lorenz!,u0,tspan)

sol = solve(prob)

sol = solve(prob, CVODE_BDF())

plot(sol, vars=(0,1))

@. testfxn(t) = sol(t, idxs=1)
plot(0.0:0.1:100, testfxn)```

[slack] <Donald Lee> Do you think that could be related to the following error?: https://files.slack.com/files-pri/T68168MUP-F01KWTUKKKM/download/image.png
[slack] <wuerfel> great, thanks for the reference! calling simplify.(eqs) seems to solve the problem for me, at first i had no broadcasting. simplify will just do nothing if applied to a vector of equations, this might be worth an issue in symbolic utils?
[slack] <chrisrackauckas> where are the zero dimensional arrays coming from?
[slack] <Donald Lee> from the solution
[slack] <chrisrackauckas> that doesn't seem like an issue
[slack] <chrisrackauckas> simplify on an array is different from simplify on the arguments?
[slack] <chrisrackauckas> you're using 0 dimensional variables in the solution?
[slack] <Donald Lee> my u and p are vectors, but sol(1, idxs=1), for example, shows up as a zero dimensional array

[slack] <ignace-computing> Hello diffeq enthusiasts,

I am looking for advice on accurate Finite Volume simulation packages/tools in Julia.
Specifically, it would be nice to simulate a 2D (stiff) time-dependent convection-diffusion problem.

Would you have any suggestions?
Thank you!

[slack] <chrisrackauckas> do finite volume to get the ODEs and then put it to a stiff ODE solver
[slack] <chrisrackauckas> we don't have auto spatial FVM right now.

[slack] <Donald Lee> so I figured out what's causing the zero dimensional array.

@. testfxn(t) = sol(t, idxs=1) typeof(testfxn(1))
It's Float64 with solve(prob) and Array{Float64,0} with solve(prob, CVODE_BDF()).

[slack] <chrisrackauckas> oh 🤔
[slack] <chrisrackauckas> can you get an MWE with that? Simplify it down?
[slack] <chrisrackauckas> That would be good to figure out and fix.
[slack] <Donald Lee> and post to sundials issues?
[slack] <chrisrackauckas> yes
[slack] <wuerfel> true