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)
389
389
f = getcalledparameter (O)
390
390
push! (vars, f)
391
391
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
393
399
end
394
400
return vars
395
401
end
396
402
return push! (vars, O)
397
403
end
398
404
if symbolic_type (O) == NotSymbolic () && O isa AbstractArray
399
405
for arg in O
400
- vars! (vars, arg; op)
406
+ vars! (vars, unwrap ( arg) ; op)
401
407
end
402
408
return vars
403
409
end
Original file line number Diff line number Diff line change @@ -1447,3 +1447,11 @@ end
1447
1447
@parameters p
1448
1448
@test_nowarn ODESystem (Equation[], t; parameter_dependencies = [p ~ 1.0 ], name = :a )
1449
1449
end
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