3
3
4
4
A collection of all the data required for `OverrideInit`.
5
5
"""
6
- struct OverrideInitData{IProb, UIProb, IProbMap, IProbPmap}
6
+ struct OverrideInitData{IProb, UIProb, IProbMap, IProbPmap, M }
7
7
"""
8
8
The `AbstractNonlinearProblem` to solve for initialization.
9
9
"""
@@ -30,15 +30,25 @@ struct OverrideInitData{IProb, UIProb, IProbMap, IProbPmap}
30
30
initialized will be returned as-is.
31
31
"""
32
32
initializeprobpmap:: IProbPmap
33
+ """
34
+ Additional metadata required by the creator of the initialization.
35
+ """
36
+ metadata:: M
33
37
34
38
function OverrideInitData (initprob:: I , update_initprob!:: J , initprobmap:: K ,
35
- initprobpmap:: L ) where {I, J, K, L}
39
+ initprobpmap:: L , metadata :: M ) where {I, J, K, L, M }
36
40
@assert initprob isa
37
41
Union{SCCNonlinearProblem, NonlinearProblem, NonlinearLeastSquaresProblem}
38
- return new {I, J, K, L} (initprob, update_initprob!, initprobmap, initprobpmap)
42
+ return new {I, J, K, L, M} (
43
+ initprob, update_initprob!, initprobmap, initprobpmap, metadata)
39
44
end
40
45
end
41
46
47
+ function OverrideInitData (
48
+ initprob, update_initprob!, initprobmap, initprobpmap; metadata = nothing )
49
+ OverrideInitData (initprob, update_initprob!, initprobmap, initprobpmap, metadata)
50
+ end
51
+
42
52
"""
43
53
get_initial_values(prob, valp, f, alg, isinplace; kwargs...)
44
54
0 commit comments