Skip to content

Incorrect behavior with save_everystep and saveat set #29

@dburov190

Description

@dburov190

Here's an MWE:

using OrdinaryDiffEq
using ODEInterfaceDiffEq

function lorenz(rhs, z, p, t)
  rhs[1] = p.sigma * (z[2] - z[1])
  rhs[2] = z[1] * (p.rho - z[3]) - z[2]
  rhs[3] = z[1] * z[2] - p.beta * z[3]
end
struct LorenzParameters
  sigma::Float64
  beta::Float64
  rho::Float64
end

z0 = [1; 0; 0]
z0 = Float64.(z0)
p = LorenzParameters(10, 8/3, 28)
pb = ODEProblem(lorenz, z0, (0.0, 4.0), p)
sol = solve(pb, dop853(); saveat = 1e-3, save_everystep = true)
println(issorted(sol.t))

Outputs false. As a result, here's what you get if you plot one of the variables:
julia_failed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions