Skip to content

Commit 4baabca

Browse files
fixup! feat: use SCCNonlinearProblem for initialization
1 parent b0060d0 commit 4baabca

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/systems/diffeqs/abstractodesystem.jl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,8 +1315,8 @@ function InitializationProblem{iip, specialize}(sys::AbstractODESystem,
13151315
end
13161316

13171317
ts = get_tearing_state(isys)
1318-
if warn_initialize_determined &&
1319-
(unassigned_vars = StructuralTransformations.singular_check(ts); !isempty(unassigned_vars))
1318+
unassigned_vars = StructuralTransformations.singular_check(ts)
1319+
if warn_initialize_determined && !isempty(unassigned_vars)
13201320
errmsg = """
13211321
The initialization system is structurally singular. Guess values may \
13221322
significantly affect the initial values of the ODE. The problematic variables \
@@ -1378,8 +1378,9 @@ function InitializationProblem{iip, specialize}(sys::AbstractODESystem,
13781378
end
13791379
for (k, v) in u0map)
13801380
end
1381-
TProb = if neqs == nunknown
1382-
use_scc ? SCCNonlinearProblem : NonlinearProblem
1381+
1382+
TProb = if neqs == nunknown && isempty(unassigned_vars)
1383+
use_scc && neqs > 0 && is_split(isys) ? SCCNonlinearProblem : NonlinearProblem
13831384
else
13841385
NonlinearLeastSquaresProblem
13851386
end

0 commit comments

Comments
 (0)