diff --git a/src/systems/nonlinear/initializesystem.jl b/src/systems/nonlinear/initializesystem.jl index c03524c61b..3fc98e0af6 100644 --- a/src/systems/nonlinear/initializesystem.jl +++ b/src/systems/nonlinear/initializesystem.jl @@ -539,7 +539,7 @@ function is_parameter_solvable(p, pmap, defs, guesses) end function SciMLBase.remake_initialization_data( - sys::AbstractSystem, odefn, u0, t0, p, newu0, newp) + sys::AbstractSystem, odefn, u0, t0, p, newu0, newp, kwargs...) if u0 === missing && p === missing return odefn.initialization_data end @@ -575,7 +575,7 @@ function SciMLBase.remake_initialization_data( resid_prototype = calculate_resid_prototype( length(oldinitprob.f.resid_prototype), new_initu0, new_initp)) end - initprob = remake(oldinitprob; f = newf, u0 = new_initu0, p = new_initp) + initprob = remake(oldinitprob; f = newf, u0 = new_initu0, p = new_initp, kwargs...) return SciMLBase.OverrideInitData(initprob, oldinitdata.update_initializeprob!, oldinitdata.initializeprobmap, oldinitdata.initializeprobpmap) end @@ -648,7 +648,7 @@ function SciMLBase.remake_initialization_data( u0map, pmap, defs, cmap, dvs, ps) kws = maybe_build_initialization_problem( sys, op, u0map, pmap, t0, defs, guesses, missing_unknowns; - use_scc, initialization_eqs, allow_incomplete = true) + use_scc, initialization_eqs, allow_incomplete = true, kwargs...) return get(kws, :initialization_data, nothing) end diff --git a/test/initializationsystem.jl b/test/initializationsystem.jl index 54b847c64a..33a94e21ac 100644 --- a/test/initializationsystem.jl +++ b/test/initializationsystem.jl @@ -1475,4 +1475,12 @@ end @test SciMLBase.successful_retcode(sol) @test sol.ps[Γ[1]] ≈ 5.0 end + + @testset "warn_initialize_determined propagates through remake" begin + u0 = [X1 => 1.0, X2 => 2.0] + ps = [k1 => 0.1, k2 => 0.2, Γ => [5.0]] + @test_nowarn prob = Problem(nlsys, u0, ps, warn_initialize_determined = false) + @test_nowarn prob2 = remake(prob; p = [k2 => 2.], warn_initialize_determined = false) + end end +