Skip to content

Commit 31ed013

Browse files
fix: don't copy variables to Initial parameters in ReconstructInitializeprob
1 parent a59215b commit 31ed013

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/systems/nonlinear/initializesystem.jl

+6-5
Original file line numberDiff line numberDiff line change
@@ -310,12 +310,9 @@ end
310310
function ReconstructInitializeprob(
311311
srcsys::AbstractSystem, dstsys::AbstractSystem)
312312
syms = reduce(
313-
vcat, reorder_parameters(dstsys, parameters(dstsys; initial_parameters = true));
313+
vcat, reorder_parameters(dstsys, parameters(dstsys));
314314
init = [])
315-
srcsyms = map(syms) do sym
316-
iscall(sym) && operation(sym) isa Initial ? arguments(sym)[1] : sym
317-
end
318-
getter = getu(srcsys, srcsyms)
315+
getter = getu(srcsys, syms)
319316
setter = setp_oop(dstsys, syms)
320317
return ReconstructInitializeprob(getter, setter)
321318
end
@@ -338,6 +335,10 @@ function (rip::ReconstructInitializeprob)(srcvalp, dstvalp)
338335
else
339336
u0 = T.(state_values(dstvalp))
340337
end
338+
buf, repack, alias = SciMLStructures.canonicalize(SciMLStructures.Tunable(), newp)
339+
if eltype(buf) != T
340+
newp = repack(T.(buf))
341+
end
341342
return u0, newp
342343
end
343344

0 commit comments

Comments
 (0)