@@ -523,7 +523,8 @@ an updated `prob` to be used for solving. All implementations should accept arbi
523523keyword arguments.
524524
525525Should be called before the problem is solved, after performing type-promotion on the
526- problem.
526+ problem. If the returned problem is not `===` the provided `prob`, it is assumed to
527+ contain the `u0` and `p` passed as keyword arguments.
527528
528529# Keyword Arguments
529530
@@ -1249,7 +1250,9 @@ end
12491250
12501251function get_concrete_problem (prob:: SteadyStateProblem , isadapt; kwargs... )
12511252 prob = get_updated_symbolic_problem (_get_root_indp (prob), prob; kwargs... )
1252- kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1253+ if prob != = prob
1254+ kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1255+ end
12531256 p = get_concrete_p (prob, kwargs)
12541257 u0 = get_concrete_u0 (prob, isadapt, Inf , kwargs)
12551258 u0 = promote_u0 (u0, p, nothing )
@@ -1258,7 +1261,9 @@ end
12581261
12591262function get_concrete_problem (prob:: NonlinearProblem , isadapt; kwargs... )
12601263 prob = get_updated_symbolic_problem (_get_root_indp (prob), prob; kwargs... )
1261- kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1264+ if prob != = prob
1265+ kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1266+ end
12621267 p = get_concrete_p (prob, kwargs)
12631268 u0 = get_concrete_u0 (prob, isadapt, nothing , kwargs)
12641269 u0 = promote_u0 (u0, p, nothing )
@@ -1267,7 +1272,9 @@ end
12671272
12681273function get_concrete_problem (prob:: NonlinearLeastSquaresProblem , isadapt; kwargs... )
12691274 prob = get_updated_symbolic_problem (_get_root_indp (prob), prob; kwargs... )
1270- kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1275+ if prob != = prob
1276+ kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1277+ end
12711278 p = get_concrete_p (prob, kwargs)
12721279 u0 = get_concrete_u0 (prob, isadapt, nothing , kwargs)
12731280 u0 = promote_u0 (u0, p, nothing )
@@ -1290,7 +1297,9 @@ end
12901297
12911298function get_concrete_problem (prob, isadapt; kwargs... )
12921299 prob = get_updated_symbolic_problem (_get_root_indp (prob), prob; kwargs... )
1293- kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1300+ if prob != = prob
1301+ kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1302+ end
12941303 p = get_concrete_p (prob, kwargs)
12951304 tspan = get_concrete_tspan (prob, isadapt, kwargs, p)
12961305 u0 = get_concrete_u0 (prob, isadapt, tspan[1 ], kwargs)
@@ -1310,7 +1319,9 @@ end
13101319
13111320function get_concrete_problem (prob:: DAEProblem , isadapt; kwargs... )
13121321 prob = get_updated_symbolic_problem (_get_root_indp (prob), prob; kwargs... )
1313- kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1322+ if prob != = prob
1323+ kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1324+ end
13141325 p = get_concrete_p (prob, kwargs)
13151326 tspan = get_concrete_tspan (prob, isadapt, kwargs, p)
13161327 u0 = get_concrete_u0 (prob, isadapt, tspan[1 ], kwargs)
@@ -1335,7 +1346,9 @@ end
13351346
13361347function get_concrete_problem (prob:: DDEProblem , isadapt; kwargs... )
13371348 prob = get_updated_symbolic_problem (_get_root_indp (prob), prob; kwargs... )
1338- kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1349+ if prob != = prob
1350+ kwargs = (; kwargs... , u0 = SII. state_values (prob), p = SII. parameter_values (prob))
1351+ end
13391352 p = get_concrete_p (prob, kwargs)
13401353 tspan = get_concrete_tspan (prob, isadapt, kwargs, p)
13411354 u0 = get_concrete_u0 (prob, isadapt, tspan[1 ], kwargs)
0 commit comments