Skip to content

Commit ad7fc59

Browse files
fix: fix guesses for Real*Input and Real*Output
1 parent 37faf7b commit ad7fc59

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

src/Blocks/utils.jl

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@
1010
input = true,
1111
description = "Inner variable in RealInput $name"
1212
]
13-
u = collect(u)
1413
end
15-
ODESystem(Equation[], t, [u...], []; name = name, guesses = [u => u_start])
14+
ODESystem(Equation[], t, [u], []; name = name, guesses = [u => u_start])
1615
end
1716
@doc """
1817
RealInput(;name, u_start)
@@ -31,8 +30,7 @@ Connector with one input signal of type Real.
3130
input = true,
3231
description = "Inner variable in RealInputArray $name"
3332
]
34-
u = collect(u)
35-
ODESystem(Equation[], t, [u...], []; name = name, guesses = [u => u_start])
33+
ODESystem(Equation[], t, [u], []; name = name, guesses = [u => u_start])
3634
end
3735
@doc """
3836
RealInputArray(;name, nin, u_start)
@@ -59,9 +57,8 @@ Connector with an array of input signals of type Real.
5957
output = true,
6058
description = "Inner variable in RealOutput $name"
6159
]
62-
u = collect(u)
6360
end
64-
ODESystem(Equation[], t, [u...], []; name = name, guesses = [u => u_start])
61+
ODESystem(Equation[], t, [u], []; name = name, guesses = [u => u_start])
6562
end
6663
@doc """
6764
RealOutput(;name, u_start)
@@ -80,8 +77,7 @@ Connector with one output signal of type Real.
8077
output = true,
8178
description = "Inner variable in RealOutputArray $name"
8279
]
83-
u = collect(u)
84-
ODESystem(Equation[], t, [u...], []; name = name, guesses = [u => u_start])
80+
ODESystem(Equation[], t, [u], []; name = name, guesses = [u => u_start])
8581
end
8682
@doc """
8783
RealOutputArray(;name, nout, u_start)

test/Blocks/utils.jl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using ModelingToolkitStandardLibrary.Blocks
2+
using ModelingToolkit
3+
4+
@testset "Guesses" begin
5+
for (block, guess) in [
6+
(RealInput(; name = :a), 0.0),
7+
(RealInput(; nin = 3, name = :a), zeros(3)),
8+
(RealOutput(; name = :a), 0.0),
9+
(RealOutput(; nout = 3, name = :a), zeros(3)),
10+
(RealInputArray(; nin = 3, name = :a), zeros(3)),
11+
(RealOutputArray(; nout = 3, name = :a), zeros(3)),
12+
]
13+
guesses = ModelingToolkit.guesses(block)
14+
@test guesses[@nonamespace block.u] == guess
15+
end
16+
end

test/runtests.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ using SafeTestsets
55
end
66

77
# Blocks
8+
@safetestset "Blocks: utils" begin
9+
include("Blocks/utils.jl")
10+
end
811
@safetestset "Blocks: math" begin
912
include("Blocks/math.jl")
1013
end

0 commit comments

Comments
 (0)