diff --git a/src/initialization.jl b/src/initialization.jl index 83c4819c7..a29aea650 100644 --- a/src/initialization.jl +++ b/src/initialization.jl @@ -3,7 +3,7 @@ A collection of all the data required for `OverrideInit`. """ -struct OverrideInitData{IProb, UIProb, IProbMap, IProbPmap} +struct OverrideInitData{IProb, UIProb, IProbMap, IProbPmap, M} """ The `AbstractNonlinearProblem` to solve for initialization. """ @@ -30,15 +30,25 @@ struct OverrideInitData{IProb, UIProb, IProbMap, IProbPmap} initialized will be returned as-is. """ initializeprobpmap::IProbPmap + """ + Additional metadata required by the creator of the initialization. + """ + metadata::M function OverrideInitData(initprob::I, update_initprob!::J, initprobmap::K, - initprobpmap::L) where {I, J, K, L} + initprobpmap::L, metadata::M) where {I, J, K, L, M} @assert initprob isa Union{SCCNonlinearProblem, NonlinearProblem, NonlinearLeastSquaresProblem} - return new{I, J, K, L}(initprob, update_initprob!, initprobmap, initprobpmap) + return new{I, J, K, L, M}( + initprob, update_initprob!, initprobmap, initprobpmap, metadata) end end +function OverrideInitData( + initprob, update_initprob!, initprobmap, initprobpmap; metadata = nothing) + OverrideInitData(initprob, update_initprob!, initprobmap, initprobpmap, metadata) +end + """ get_initial_values(prob, valp, f, alg, isinplace; kwargs...) diff --git a/test/downstream/initialization.jl b/test/downstream/initialization.jl index c5bbb2a44..6776ccb61 100644 --- a/test/downstream/initialization.jl +++ b/test/downstream/initialization.jl @@ -78,7 +78,6 @@ end @test occursin("Initialization status: OVERDETERMINED", sprint(summary, prob)) end - @testset "CheckInit" begin @testset "ODEProblem" begin function rhs(u, p, t)