Skip to content

Commit 3972192

Browse files
test: add pendulum example for tests
1 parent 15abe93 commit 3972192

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

test/parameter_dependencies.jl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,23 @@ end
173173
@test SciMLBase.successful_retcode(sol)
174174
end
175175

176+
@testset "Change Tunables" begin
177+
@variables θ(t)=π/6 ω(t)=0.
178+
@parameters g=9.81 L=1.0 b=0.1 errp=1
179+
eqs = [
180+
D(θ) ~ ω,
181+
D(ω) ~ -(g/L)*sin(θ) - b*ω
182+
]
183+
@named pendulum_sys = ODESystem(eqs, t, [θ, ω], [g, L, b])
184+
sys = mtkcompile(pendulum_sys)
185+
186+
new_tunables = [L, b]
187+
sys2 = ModelingToolkit.change_tunables(sys, new_tunables)
188+
@test length(ModelingToolkit.tunable_parameters(sys2, ModelingToolkit.parameters(sys2))) == 2
189+
@test isempty(setdiff(ModelingToolkit.tunable_parameters(sys2, ModelingToolkit.parameters(sys2)), new_tunables))
190+
@test_throws ArgumentError ModelingToolkit.change_tunables(sys, [errp])
191+
end
192+
176193
struct CallableFoo
177194
p::Any
178195
end

0 commit comments

Comments
 (0)