Skip to content

Commit 97a1331

Browse files
committed
compat, dead code, similarterm, iv() depwarn
1 parent bc3c606 commit 97a1331

File tree

4 files changed

+8
-9
lines changed

4 files changed

+8
-9
lines changed

Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
4646
[compat]
4747
AbstractTrees = "0.3"
4848
ArrayInterface = "3.1.39, 4, 5"
49+
Combinatorics = "1"
4950
ConstructionBase = "1"
5051
DataStructures = "0.17, 0.18"
5152
DiffEqBase = "6.81.0"

src/systems/diffeqs/abstractodesystem.jl

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -902,7 +902,6 @@ function SteadyStateProblemExpr(sys::AbstractODESystem, args...; kwargs...)
902902
end
903903

904904
# SU 442 and Symbolics 588 copied over for CI, will be removed
905-
(f::Symbolic{<:FnType})(args...; kwargs...) = Term{promote_symtype(f, symtype.(args)...)}(f, [args...]; kwargs...)
906905
function SymbolicUtils.substitute(op::Symbolics.Differential, dict; kwargs...)
907906
@set! op.x = substitute(op.x, dict; kwargs...)
908907
end
@@ -914,18 +913,17 @@ function _match_eqs(eqs1, eqs2)
914913
if isequal(eq, eq2)
915914
push!(eqpairs, i => j)
916915
break
917-
elseif !isequal(eq, eq2) && j == length(eqs2)
918916
end
919917
end
920918
end
921919
eqpairs
922920
end
923921

924-
function isisomorphic(sys1::AbstractODESystem, sys2::AbstractODESystem; verbose=false)
922+
function isisomorphic(sys1::AbstractODESystem, sys2::AbstractODESystem)
925923
sys1 = flatten(sys1)
926924
sys2 = flatten(sys2)
927925

928-
iv1, iv2 = independent_variable(sys1), independent_variable(sys2) # not needed
926+
iv2 = only(independent_variables(sys2))
929927
sys1 = convert_system(ODESystem, sys1, iv2)
930928
s1, s2 = states(sys1), states(sys2)
931929
p1, p2 = parameters(sys1), parameters(sys2)
@@ -938,7 +936,7 @@ function isisomorphic(sys1::AbstractODESystem, sys2::AbstractODESystem; verbose=
938936
pps = permutations(p2)
939937
psts = permutations(s2)
940938
orig = [p1; s1]
941-
perms = [[x; y] for x in pps for y in psts]
939+
perms = ([x; y] for x in pps for y in psts)
942940

943941
for perm in perms
944942
rules = Dict(orig .=> perm)

src/systems/diffeqs/odesystem.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ function convert_system(::Type{<:ODESystem}, sys, t; name=nameof(sys))
367367
newsts[i] = s
368368
continue
369369
end
370-
ns = operation(s)(t; metadata=SymbolicUtils.metadata(s))
370+
ns = similarterm(s, operation(s), (t,); metadata=SymbolicUtils.metadata(s))
371371
newsts[i] = ns
372372
varmap[s] = ns
373373
else
@@ -377,7 +377,7 @@ function convert_system(::Type{<:ODESystem}, sys, t; name=nameof(sys))
377377
end
378378
end
379379
sub = Base.Fix2(substitute, varmap)
380-
iv = independent_variable(sys)
380+
iv = only(independent_variables(sys))
381381
sub.x[iv] = t # otherwise the Differentials aren't fixed
382382
neweqs = map(sub, equations(sys))
383383
defs = Dict(sub(k) => sub(v) for (k, v) in defaults(sys))

test/odesystem.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -717,6 +717,6 @@ let
717717
@test !ModelingToolkit.isisomorphic(sys1, sys4)
718718

719719
# 1281
720-
iv2 = independent_variable(sys2)
721-
@test isequal(independent_variable(convert_system(ODESystem, sys1, iv2)), iv2)
720+
iv2 = only(independent_variables(sys2))
721+
@test isequal(only(independent_variables(convert_system(ODESystem, sys1, iv2))), iv2)
722722
end

0 commit comments

Comments
 (0)