-
-
Notifications
You must be signed in to change notification settings - Fork 38
Open
Description
using JumpProcesses
rate(u, p, t; debug=true) = 5.0
function affect!(integrator)
integrator.u[1] += 1
nothing
end
jump = VariableRateJump(rate, affect!; urate=(u,p,t)->10.0, rateinterval=(u,p,t)->0.1)
prob = DiscreteProblem([0.0], (0.0, 2.0), [1.0])
jump_prob_c = JumpProblem(prob, Coevolve(), jump; dep_graph=[[1]])
function terminate_condition(u, t, integrator)
return u[1] >= 1
end
function terminate_affect!(integrator)
terminate!(integrator)
end
terminate_cb = DiscreteCallback(terminate_condition, terminate_affect!; save_positions = (false,true))
solve(jump_prob_c, SSAStepper(); callback=terminate_cb, save_end = false)gives
retcode: Terminated
Interpolation: Piecewise constant interpolation
t: 3-element Vector{Float64}:
0.0
0.04406872147816556
0.04406872147816556
u: 3-element Vector{Vector{Float64}}:
[0.0]
[1.0]
[1.0]
ignoring the callback's save_positions.
Metadata
Metadata
Assignees
Labels
No labels