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

Can't access component array field in continuous callback with variable rate jump #471

Closed
damienBloch opened this issue Feb 9, 2025 · 2 comments
Labels

Comments

@damienBloch
Copy link

Describe the bug 🐞

When using a component array for u, it is not possible to access its fields directly in a continuous callback when also using a variable rate jump.

Expected behavior

In the example below, I would expect to be able to access u.r in the callback condition.
This is indeed the not an issue when using ConstantRateJump instead of VariableRateJump.
I can access this field in condition by doing u.u.r, but it makes it painful to switch from constant to variable jump for more complex situations.

Minimal Reproducible Example 👇

using ComponentArrays
using DifferentialEquations

function f!(du, u, p, t)
	@static_unpack r, v = u

	du.r = v
	du.v = -r
end

u_0 = ComponentArray(r = [0.0, 0.0, 0.0], v = [1.0, 0.0, 0.0])
ode_prob = ODEProblem(f!, u_0, (0.0, 10))

rate(u, p, t) = 1.0
jump!(integrator) = nothing

jump_prob = JumpProblem(ode_prob, Direct(), VariableRateJump(rate, jump!))

condition(u, p, t) = u.r[1] - 1.0
function callback!(integrator)
	integrator.u.r[1] = 0.0
	reset_aggregated_jumps!(integrator)
end


solve(jump_prob, Tsit5(), callback = ContinuousCallback(condition, callback!))

Error & Stacktrace ⚠️

ERROR: LoadError: type ExtendedJumpArray has no field r
Stacktrace:
  [1] getproperty
    @ .\Base.jl:49 [inlined]
  [2] condition(u::ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, p::Float64, t::OrdinaryDiffEqCore.ODEIntegrator{Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, true, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Nothing, Float64, SciMLBase.NullParameters, Float64, Float64, Float64, Float64, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, ODESolution{Float64, 2, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, ODEProblem{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Tuple{Float64, Float64}, true, SciMLBase.NullParameters, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.InterpolationData{ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, Nothing}, SciMLBase.DEStats, Nothing, Nothing, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.DEOptions{Float64, Float64, Float64, Float64, PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Nothing, CallbackSet{Tuple{ContinuousCallback{JumpProcesses.var"#171#173"{Int64}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}, ContinuousCallback{typeof(condition), typeof(callback!), typeof(callback!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}}, Tuple{}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Tuple{}, Tuple{}, Tuple{}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Float64, Nothing, OrdinaryDiffEqCore.DefaultInit, Nothing})
    @ Main c:\Users\bloch\OneDrive\Bureau\obsidian-vault\PhD thesis\src\multiple-atoms\bug.jl:19
  [3] determine_event_occurance
    @ C:\Users\bloch\.julia\packages\DiffEqBase\R2Vjs\src\callbacks.jl:293 [inlined]
  [4] find_callback_time(integrator::OrdinaryDiffEqCore.ODEIntegrator{Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, true, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Nothing, Float64, SciMLBase.NullParameters, Float64, Float64, Float64, Float64, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, ODESolution{Float64, 2, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, ODEProblem{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Tuple{Float64, Float64}, true, SciMLBase.NullParameters, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.InterpolationData{ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, Nothing}, SciMLBase.DEStats, Nothing, Nothing, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.DEOptions{Float64, Float64, Float64, Float64, PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Nothing, CallbackSet{Tuple{ContinuousCallback{JumpProcesses.var"#171#173"{Int64}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}, ContinuousCallback{typeof(condition), typeof(callback!), typeof(callback!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}}, Tuple{}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Tuple{}, Tuple{}, Tuple{}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Float64, Nothing, OrdinaryDiffEqCore.DefaultInit, Nothing}, callback::ContinuousCallback{typeof(condition), typeof(callback!), typeof(callback!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}, counter::Int64)
    @ DiffEqBase C:\Users\bloch\.julia\packages\DiffEqBase\R2Vjs\src\callbacks.jl:401
  [5] macro expansion
    @ C:\Users\bloch\.julia\packages\DiffEqBase\R2Vjs\src\callbacks.jl:139 [inlined]
  [6] find_first_continuous_callback(integrator::OrdinaryDiffEqCore.ODEIntegrator{Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, true, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Nothing, Float64, SciMLBase.NullParameters, Float64, Float64, Float64, Float64, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, ODESolution{Float64, 2, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, ODEProblem{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Tuple{Float64, Float64}, true, SciMLBase.NullParameters, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.InterpolationData{ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, Nothing}, SciMLBase.DEStats, Nothing, Nothing, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.DEOptions{Float64, Float64, Float64, Float64, PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Nothing, CallbackSet{Tuple{ContinuousCallback{JumpProcesses.var"#171#173"{Int64}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}, ContinuousCallback{typeof(condition), typeof(callback!), typeof(callback!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}}, Tuple{}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Tuple{}, Tuple{}, Tuple{}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Float64, Nothing, OrdinaryDiffEqCore.DefaultInit, Nothing}, callbacks::Tuple{ContinuousCallback{JumpProcesses.var"#171#173"{Int64}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}, ContinuousCallback{typeof(condition), typeof(callback!), typeof(callback!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}})
    @ DiffEqBase C:\Users\bloch\.julia\packages\DiffEqBase\R2Vjs\src\callbacks.jl:127
  [7] find_first_continuous_callback
    @ C:\Users\bloch\.julia\packages\DiffEqBase\R2Vjs\src\callbacks.jl:125 [inlined]
  [8] handle_callbacks!(integrator::OrdinaryDiffEqCore.ODEIntegrator{Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, true, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Nothing, Float64, SciMLBase.NullParameters, Float64, Float64, Float64, Float64, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, ODESolution{Float64, 2, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, ODEProblem{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Tuple{Float64, Float64}, true, SciMLBase.NullParameters, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.InterpolationData{ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, Nothing}, SciMLBase.DEStats, Nothing, Nothing, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.DEOptions{Float64, Float64, Float64, Float64, PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Nothing, CallbackSet{Tuple{ContinuousCallback{JumpProcesses.var"#171#173"{Int64}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}, ContinuousCallback{typeof(condition), typeof(callback!), typeof(callback!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}}, Tuple{}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Tuple{}, Tuple{}, Tuple{}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Float64, Nothing, OrdinaryDiffEqCore.DefaultInit, Nothing})
    @ OrdinaryDiffEqCore C:\Users\bloch\.julia\packages\OrdinaryDiffEqCore\33WQj\src\integrators\integrator_utils.jl:338
  [9] _loopfooter!(integrator::OrdinaryDiffEqCore.ODEIntegrator{Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, true, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Nothing, Float64, SciMLBase.NullParameters, Float64, Float64, Float64, Float64, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, ODESolution{Float64, 2, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, ODEProblem{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Tuple{Float64, Float64}, true, SciMLBase.NullParameters, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.InterpolationData{ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, Nothing}, SciMLBase.DEStats, Nothing, Nothing, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.DEOptions{Float64, Float64, Float64, Float64, PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Nothing, CallbackSet{Tuple{ContinuousCallback{JumpProcesses.var"#171#173"{Int64}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}, ContinuousCallback{typeof(condition), typeof(callback!), typeof(callback!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}}, Tuple{}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Tuple{}, Tuple{}, Tuple{}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Float64, Nothing, OrdinaryDiffEqCore.DefaultInit, Nothing})
    @ OrdinaryDiffEqCore C:\Users\bloch\.julia\packages\OrdinaryDiffEqCore\33WQj\src\integrators\integrator_utils.jl:243
 [10] loopfooter!
    @ C:\Users\bloch\.julia\packages\OrdinaryDiffEqCore\33WQj\src\integrators\integrator_utils.jl:207 [inlined]
 [11] solve!(integrator::OrdinaryDiffEqCore.ODEIntegrator{Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, true, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Nothing, Float64, SciMLBase.NullParameters, Float64, Float64, Float64, Float64, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, ODESolution{Float64, 2, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, ODEProblem{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Tuple{Float64, Float64}, true, SciMLBase.NullParameters, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.InterpolationData{ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}, Vector{Float64}, Vector{Vector{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}}}, Nothing, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, Nothing}, SciMLBase.DEStats, Nothing, Nothing, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, OrdinaryDiffEqTsit5.Tsit5Cache{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, OrdinaryDiffEqCore.DEOptions{Float64, Float64, Float64, Float64, PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Nothing, CallbackSet{Tuple{ContinuousCallback{JumpProcesses.var"#171#173"{Int64}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}, ContinuousCallback{typeof(condition), typeof(callback!), typeof(callback!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}}, Tuple{}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Tuple{}, Tuple{}, Tuple{}}, ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Float64, Nothing, OrdinaryDiffEqCore.DefaultInit, Nothing})
    @ OrdinaryDiffEqCore C:\Users\bloch\.julia\packages\OrdinaryDiffEqCore\33WQj\src\solve.jl:616
 [12] __solve(jump_prob::JumpProblem{true, ODEProblem{ExtendedJumpArray{Float64, 1, ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(r = ViewAxis{1:3, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()), v = ViewAxis{4:6, nothing, Shaped1DAxis{(3,)}}(Shaped1DAxis{(3,)}()))}}}, Vector{Float64}}, Tuple{Float64, Float64}, true, SciMLBase.NullParameters, ODEFunction{true, SciMLBase.AutoSpecialize, JumpProcesses.var"#147#149"{Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(f!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, Direct, CallbackSet{Tuple{ContinuousCallback{JumpProcesses.var"#171#173"{Int64}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, JumpProcesses.var"#172#174"{Random.TaskLocalRNG, Int64, VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}}, Tuple{}}, Nothing, Tuple{VariableRateJump{typeof(rate), typeof(jump!), Nothing, Nothing, Nothing, Nothing, Float64, Int64}}, Nothing, Nothing, Random.TaskLocalRNG, @Kwargs{callback::Nothing}}, alg::Tsit5{typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!), Static.False}, timeseries::Vector{Any}, ts::Vector{Any}, ks::Vector{Any}, recompile::Type{Val{true}}; kwargs::@Kwargs{callback::ContinuousCallback{typeof(condition), typeof(callback!), typeof(callback!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}})
    @ JumpProcesses C:\Users\bloch\.julia\packages\JumpProcesses\8No28\src\solve.jl:6
 [13] __solve (repeats 5 times)
    @ C:\Users\bloch\.julia\packages\JumpProcesses\8No28\src\solve.jl:1 [inlined]
 [14] #solve#58
    @ C:\Users\bloch\.julia\packages\DiffEqBase\R2Vjs\src\solve.jl:1151 [inlined]
 [15] top-level scope
    @ c:\Users\bloch\OneDrive\Bureau\obsidian-vault\PhD thesis\src\multiple-atoms\bug.jl:26
 [16] include(fname::String)
    @ Main .\sysimg.jl:38
 [17] run(debug_session::VSCodeDebugger.DebugAdapter.DebugSession, error_handler::VSCodeDebugger.var"#3#4"{String})
    @ VSCodeDebugger.DebugAdapter c:\Users\bloch\.vscode\extensions\julialang.language-julia-1.127.2\scripts\packages\DebugAdapter\src\packagedef.jl:122
 [18] startdebugger()
    @ VSCodeDebugger c:\Users\bloch\.vscode\extensions\julialang.language-julia-1.127.2\scripts\packages\VSCodeDebugger\src\VSCodeDebugger.jl:45
 [19] top-level scope
    @ c:\Users\bloch\.vscode\extensions\julialang.language-julia-1.127.2\scripts\debugger\run_debugger.jl:12
 [20] include(mod::Module, _path::String)
    @ Base .\Base.jl:557
 [21] exec_options(opts::Base.JLOptions)
    @ Base .\client.jl:323
 [22] _start()
    @ Base .\client.jl:531
in expression starting at c:\Users\bloch\OneDrive\Bureau\obsidian-vault\PhD thesis\src\multiple-atoms\bug.jl:26

Environment:

Using Julia Version 1.11.3, DifferentialEquations v7.15.0, JumpProcesses v9.14.1, and ComponentArrays v0.15.23.

@damienBloch damienBloch added the bug label Feb 9, 2025
@isaacsas
Copy link
Member

When you use VariableRateJumps your input u is wrapped in an ExtendedJumpArray, hence why you need to use u.u. Unfortunately, while we've discussed changing this, it is fundamental to how the solvers for VariableRateJumps currently work, so isn't something that can be trivially fixed (i.e it would require a different method for integrating propensities of VariableRateJumps, and a breaking update to JumpProcesses). It will hopefully get changed in the future, but probably not until someone has time to work on it or we get a GSOC student interested in such changes.

@damienBloch
Copy link
Author

Ok, I see, also just saw that its indeed explained in ExtendedJumpArray documentation.
Thanks for the answer (and the overall great library)!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants