From acb6951989769e1fff0af91964cc1c3409d75d7f Mon Sep 17 00:00:00 2001 From: Aayush Sabharwal Date: Mon, 14 Apr 2025 10:50:45 +0530 Subject: [PATCH 1/3] feat: add `metadata` to `OverrideInitData` --- src/initialization.jl | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/initialization.jl b/src/initialization.jl index 83c4819c7..56858f9f9 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,12 +30,17 @@ 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 = nothing) 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 From a510e1124154643b5a02079f64c6de03f7ee9198 Mon Sep 17 00:00:00 2001 From: Aayush Sabharwal Date: Mon, 14 Apr 2025 10:50:49 +0530 Subject: [PATCH 2/3] refactor: format --- test/downstream/initialization.jl | 1 - 1 file changed, 1 deletion(-) 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) From a86592241f6428a505bce359f0881210c9ad2793 Mon Sep 17 00:00:00 2001 From: Aayush Sabharwal Date: Mon, 14 Apr 2025 16:07:41 +0530 Subject: [PATCH 3/3] fix: fix `OverrideInitData` constructor --- src/initialization.jl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/initialization.jl b/src/initialization.jl index 56858f9f9..a29aea650 100644 --- a/src/initialization.jl +++ b/src/initialization.jl @@ -36,7 +36,7 @@ struct OverrideInitData{IProb, UIProb, IProbMap, IProbPmap, M} metadata::M function OverrideInitData(initprob::I, update_initprob!::J, initprobmap::K, - initprobpmap::L; metadata::M = nothing) where {I, J, K, L, M} + initprobpmap::L, metadata::M) where {I, J, K, L, M} @assert initprob isa Union{SCCNonlinearProblem, NonlinearProblem, NonlinearLeastSquaresProblem} return new{I, J, K, L, M}( @@ -44,6 +44,11 @@ struct OverrideInitData{IProb, UIProb, IProbMap, IProbPmap, M} 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...)