Skip to content

Commit ff393c8

Browse files
committed
constant rate jump assembly working
1 parent f7a21e8 commit ff393c8

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

src/ModelingToolkit.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ include("build_function.jl")
103103

104104
export ODESystem, ODEFunction
105105
export SDESystem, SDEFunction
106+
export JumpSystem
106107
export ODEProblem, SDEProblem, NonlinearProblem, OptimizationProblem
107108
export NonlinearSystem, OptimizationSystem
108109
export ode_order_lowering

src/systems/jumps/jumpsystem.jl

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,24 @@ function JumpSystem(eqs, iv, states, ps; systems = JumpSystem[],
1414
JumpSystem(eqs, iv, convert.(Variable, states), convert.(Variable, ps), name, systems)
1515
end
1616

17-
function generate_rate_function(js, rate)
18-
f = striplines(build_function(rate, states(js), parameters(js), independent_variable(js)))
19-
end
20-
21-
function generate_affect_function(js, affect)
22-
# waiting on integrator build_function form
23-
end
24-
17+
generate_rate_function(js, rate) = build_function(rate, states(js), parameters(js),
18+
independent_variable(js),
19+
expression=Val{false})
20+
21+
generate_affect_function(js, affect) = build_function(affect, states(js),
22+
parameters(js),
23+
independent_variable(js),
24+
expression=Val{false},
25+
integrator_args=true)[2]
2526
function assemble_vrj(js, vrj)
2627
rate = generate_rate_function(js, vrj.rate)
27-
affect = generate_affect_function(js, vrj.affect)
28+
affect = generate_affect_function(js, vrj.affect!)
2829
VariableRateJump(rate, affect)
2930
end
3031

3132
function assemble_crj(js, crj)
32-
rate = generate_rate_function(js, vrj.rate)
33-
affect = generate_affect_function(js, vrj.affect)
33+
rate = generate_rate_function(js, crj.rate)
34+
affect = generate_affect_function(js, crj.affect!)
3435
ConstantRateJump(rate, affect)
3536
end
3637

0 commit comments

Comments
 (0)