Skip to content

Commit 5c5df72

Browse files
feat: allow nothing to override retained values in remake_initializeprob
1 parent 7b354cd commit 5c5df72

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/systems/nonlinear/initializesystem.jl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,11 @@ function SciMLBase.remake_initializeprob(sys::ODESystem, odefn, u0, t0, p)
242242
u0 = todict(u0)
243243
defs = defaults(sys)
244244
varmap = merge(defs, u0)
245+
for k in collect(keys(varmap))
246+
if varmap[k] === nothing
247+
delete!(varmap, k)
248+
end
249+
end
245250
varmap = canonicalize_varmap(varmap)
246251
missingvars = setdiff(unknowns(sys), collect(keys(varmap)))
247252
setobserved = filter(keys(varmap)) do var
@@ -268,6 +273,16 @@ function SciMLBase.remake_initializeprob(sys::ODESystem, odefn, u0, t0, p)
268273
p = merge(meta.pmap, p)
269274
end
270275
end
276+
for k in collect(keys(u0))
277+
if u0[k] === nothing
278+
delete!(u0, k)
279+
end
280+
end
281+
for k in collect(keys(p))
282+
if p[k] === nothing
283+
delete!(p, k)
284+
end
285+
end
271286

272287
initprob = InitializationProblem(sys, t0, u0, p)
273288
initprobmap = getu(initprob, unknowns(sys))

0 commit comments

Comments
 (0)