Skip to content

Commit 432d14d

Browse files
Merge pull request #913 from AayushSabharwal/as/no-init
feat: support `NoInit` in `get_initial_values`
2 parents b557669 + f9bd62e commit 432d14d

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/initialization.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,16 @@ function get_initial_values(prob, valp, f, alg::OverrideInit,
271271
return u0, p, success
272272
end
273273

274+
"""
275+
$(TYPEDSIGNATURES)
276+
277+
Do not run any initialization routine, and simply return the state and parameter values
278+
stored in `integrator` successfully.
279+
"""
280+
function get_initial_values(prob, integrator, f, ::NoInit, iip; kwargs...)
281+
return state_values(integrator), parameter_values(integrator), true
282+
end
283+
274284
is_trivial_initialization(::Nothing) = true
275285

276286
function is_trivial_initialization(initdata::OverrideInitData)

test/initialization.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,3 +286,13 @@ end
286286
@test success
287287
end
288288
end
289+
290+
@testset "NoInit" begin
291+
prob = ODEProblem(ones(2), (0.0, 1.0), ones(2)) do u, p, t
292+
return u
293+
end
294+
u, p, success = SciMLBase.get_initial_values(prob, prob, prob.f, SciMLBase.NoInit(), Val(true))
295+
@test u == ones(2)
296+
@test p == ones(2)
297+
@test success
298+
end

0 commit comments

Comments
 (0)