File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -389,15 +389,21 @@ function vars!(vars, O; op = Differential)
389389 f = getcalledparameter (O)
390390 push! (vars, f)
391391 for arg in arguments (O)
392- vars! (vars, arg; op)
392+ if symbolic_type (arg) == NotSymbolic () && arg isa AbstractArray
393+ for el in arg
394+ vars! (vars, unwrap (el); op)
395+ end
396+ else
397+ vars! (vars, arg; op)
398+ end
393399 end
394400 return vars
395401 end
396402 return push! (vars, O)
397403 end
398404 if symbolic_type (O) == NotSymbolic () && O isa AbstractArray
399405 for arg in O
400- vars! (vars, arg; op)
406+ vars! (vars, unwrap ( arg) ; op)
401407 end
402408 return vars
403409 end
Original file line number Diff line number Diff line change @@ -1447,3 +1447,11 @@ end
14471447 @parameters p
14481448 @test_nowarn ODESystem (Equation[], t; parameter_dependencies = [p ~ 1.0 ], name = :a )
14491449end
1450+
1451+ @testset " Variable discovery in arrays of `Num` inside callable symbolic" begin
1452+ @variables x (t) y (t)
1453+ @parameters foo (:: AbstractVector )
1454+ sys = @test_nowarn ODESystem (D (x) ~ foo ([x, 2 y]), t; name = :sys )
1455+ @test length (unknowns (sys)) == 2
1456+ @test any (isequal (y), unknowns (sys))
1457+ end
You can’t perform that action at this time.
0 commit comments