Skip to content

Commit c089d7f

Browse files
committed
Swap isdefined for applicable
1 parent cf9403d commit c089d7f

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

lib/OrdinaryDiffEqCore/src/initialize_dae.jl

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ function _initialize_dae!(integrator, prob::ODEProblem,
5050
if SciMLBase.has_initializeprob(prob.f)
5151
_initialize_dae!(integrator, prob,
5252
OverrideInit(integrator.opts.abstol), x)
53-
elseif !isdefined(Main, :OrdinaryDiffEqNonlinearSolve)
53+
elseif !applicable(_initialize_dae!, integrator, prob,
54+
BrownFullBasicInit(integrator.opts.abstol), x)
5455
error("`OrdinaryDiffEqNonlinearSolve` is not loaded, which is required for the default initialization algorithm (`BrownFullBasicInit` or `ShampineCollocationInit`). To solve this problem, either do `using OrdinaryDiffEqNonlinearSolve` or pass `initializealg = CheckInit()` to the `solve` function. This second option requires consistent `u0`.")
5556
else
5657
_initialize_dae!(integrator, prob,
@@ -63,7 +64,9 @@ function _initialize_dae!(integrator, prob::DAEProblem,
6364
if SciMLBase.has_initializeprob(prob.f)
6465
_initialize_dae!(integrator, prob,
6566
OverrideInit(integrator.opts.abstol), x)
66-
elseif !isdefined(Main, :OrdinaryDiffEqNonlinearSolve)
67+
elseif !applicable(_initialize_dae!, integrator, prob,
68+
BrownFullBasicInit(), x) && !applicable(_initialize_dae!,
69+
integrator, prob, ShampineCollocationInit(), x)
6770
error("`OrdinaryDiffEqNonlinearSolve` is not loaded, which is required for the default initialization algorithm (`BrownFullBasicInit` or `ShampineCollocationInit`). To solve this problem, either do `using OrdinaryDiffEqNonlinearSolve` or pass `initializealg = CheckInit()` to the `solve` function. This second option requires consistent `u0`.")
6871
elseif prob.differential_vars === nothing
6972
_initialize_dae!(integrator, prob,

0 commit comments

Comments
 (0)