Skip to content

Commit d2ff85f

Browse files
Update OptimizationSystem and NonlinearSystem
1 parent 10f6bdc commit d2ff85f

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

src/systems/jumps/jumpsystem.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,8 @@ function DiffEqBase.DiscreteProblem(sys::JumpSystem, u0map, tspan::Union{Tuple,
291291
end
292292
end
293293

294-
df = DiscreteFunction{true, true}(f; syms = Symbol.(states(sys)), paramsyms = Symbol.(ps), sys = sys,
294+
df = DiscreteFunction{true, true}(f; syms = Symbol.(states(sys)),
295+
paramsyms = Symbol.(ps), sys = sys,
295296
observed = observedfun)
296297
DiscreteProblem(df, u0, tspan, p; kwargs...)
297298
end
@@ -331,7 +332,8 @@ function DiscreteProblemExpr(sys::JumpSystem, u0map, tspan::Union{Tuple, Nothing
331332
u0 = $u0
332333
p = $p
333334
tspan = $tspan
334-
df = DiscreteFunction{true, true}(f, syms = $(Symbol.(states(sys))), paramsyms = Symbol.(ps))
335+
df = DiscreteFunction{true, true}(f, syms = $(Symbol.(states(sys))),
336+
paramsyms = $(Symbol.(parameters(sys))))
335337
DiscreteProblem(df, u0, tspan, p)
336338
end
337339
end

src/systems/nonlinear/nonlinearsystem.jl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,9 @@ function SciMLBase.NonlinearFunction{iip}(sys::NonlinearSystem, dvs = states(sys
240240
jac_prototype = sparse ?
241241
similar(calculate_jacobian(sys, sparse = sparse),
242242
Float64) : nothing,
243-
syms = Symbol.(states(sys)), observed = observedfun)
243+
syms = Symbol.(states(sys)),
244+
paramsyms = Symbol.(parameters(sys)),
245+
observed = observedfun)
244246
end
245247

246248
"""
@@ -285,7 +287,8 @@ function NonlinearFunctionExpr{iip}(sys::NonlinearSystem, dvs = states(sys),
285287
NonlinearFunction{$iip}(f,
286288
jac = jac,
287289
jac_prototype = $jp_expr,
288-
syms = $(Symbol.(states(sys))))
290+
syms = $(Symbol.(states(sys))),
291+
paramsyms = $(Symbol.(parameters(sys))))
289292
end
290293
!linenumbers ? striplines(ex) : ex
291294
end
@@ -314,6 +317,7 @@ function process_NonlinearProblem(constructor, sys::NonlinearSystem, u0map, para
314317

315318
f = constructor(sys, dvs, ps, u0; jac = jac, checkbounds = checkbounds,
316319
linenumbers = linenumbers, parallel = parallel, simplify = simplify,
320+
syms = Symbol.(dvs), paramsyms = Symbol.(ps),
317321
sparse = sparse, eval_expression = eval_expression, kwargs...)
318322
return f, u0, p
319323
end

src/systems/optimization/optimizationsystem.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,8 @@ function DiffEqBase.OptimizationProblem{iip}(sys::OptimizationSystem, u0map,
273273
grad = _grad,
274274
hess = _hess,
275275
hess_prototype = hess_prototype,
276+
syms = Symbol.(states(sys)),
277+
paramsyms = Symbol.(parameters(sys)),
276278
cons = cons,
277279
cons_j = cons_j,
278280
cons_h = cons_h,
@@ -287,6 +289,8 @@ function DiffEqBase.OptimizationProblem{iip}(sys::OptimizationSystem, u0map,
287289
SciMLBase.NoAD();
288290
grad = _grad,
289291
hess = _hess,
292+
syms = Symbol.(states(sys)),
293+
paramsyms = Symbol.(parameters(sys)),
290294
hess_prototype = hess_prototype,
291295
expr = obj_expr)
292296
end
@@ -399,9 +403,13 @@ function OptimizationProblemExpr{iip}(sys::OptimizationSystem, u0,
399403
cons = $cons
400404
cons_j = $cons_j
401405
cons_h = $cons_h
406+
syms = $(Symbol.(states(sys)))
407+
paramsyms = $(Symbol.(parameters(sys)))
402408
_f = OptimizationFunction{iip}(f, SciMLBase.NoAD();
403409
grad = grad,
404410
hess = hess,
411+
syms = syms,
412+
paramsyms = paramsyms,
405413
hess_prototype = hess_prototype,
406414
cons = cons,
407415
cons_j = cons_j,
@@ -421,9 +429,13 @@ function OptimizationProblemExpr{iip}(sys::OptimizationSystem, u0,
421429
hess = $_hess
422430
lb = $lb
423431
ub = $ub
432+
syms = $(Symbol.(states(sys)))
433+
paramsyms = $(Symbol.(parameters(sys)))
424434
_f = OptimizationFunction{iip}(f, SciMLBase.NoAD();
425435
grad = grad,
426436
hess = hess,
437+
syms = syms,
438+
paramsyms = paramsyms,
427439
hess_prototype = hess_prototype,
428440
expr = obj_expr)
429441
OptimizationProblem{$iip}(_f, u0, p; lb = lb, ub = ub, kwargs...)

0 commit comments

Comments
 (0)