Skip to content

Commit 8020ed0

Browse files
fixup! fix: create and solve initialization system in linearization_function
1 parent 1b17f09 commit 8020ed0

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/systems/abstractsystem.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1781,7 +1781,7 @@ function linearization_function(sys::AbstractSystem, inputs,
17811781
error("Number of unknown variables ($(length(sts))) does not match the number of input unknowns ($(length(u)))")
17821782
if initialize && !isempty(alge_idxs) # This is expensive and can be omitted if the user knows that the system is already initialized
17831783
initprob = NonlinearLeastSquaresProblem(initfn, u, p)
1784-
@set! fun.initializeproblem = initprob
1784+
@set! fun.initializeprob = initprob
17851785
residual = fun(u, p, t)
17861786
if norm(residual[alge_idxs]) > (eps(eltype(residual)))
17871787
prob = ODEProblem(fun, u, (t, t + 1), p)

test/downstream/linearize.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,10 @@ lsys = ModelingToolkit.reorder_unknowns(lsys0, unknowns(ssys), desired_order)
120120
lsyss, _ = ModelingToolkit.linearize_symbolic(pid, [reference.u, measurement.u],
121121
[ctr_output.u])
122122

123-
@test substitute(lsyss.A, ModelingToolkit.defaults(pid)) == lsys.A
124-
@test substitute(lsyss.B, ModelingToolkit.defaults(pid)) == lsys.B
125-
@test substitute(lsyss.C, ModelingToolkit.defaults(pid)) == lsys.C
126-
@test substitute(lsyss.D, ModelingToolkit.defaults(pid)) == lsys.D
123+
@test substitute(lsyss.A, merge(ModelingToolkit.defaults(pid), ModelingToolkit.guesses(pid))) == lsys.A
124+
@test substitute(lsyss.B, merge(ModelingToolkit.defaults(pid), ModelingToolkit.guesses(pid))) == lsys.B
125+
@test substitute(lsyss.C, merge(ModelingToolkit.defaults(pid), ModelingToolkit.guesses(pid))) == lsys.C
126+
@test substitute(lsyss.D, merge(ModelingToolkit.defaults(pid), ModelingToolkit.guesses(pid))) == lsys.D
127127

128128
# Test with the reverse desired unknown order as well to verify that similarity transform and reoreder_unknowns really works
129129
lsys = ModelingToolkit.reorder_unknowns(lsys, unknowns(ssys), reverse(desired_order))

0 commit comments

Comments
 (0)