Skip to content

Commit 0cf9aad

Browse files
fix: warn if the operating point given to linearization_function is empty.
1 parent cf8b3a3 commit 0cf9aad

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/linearization.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,12 @@ function linearization_function(sys::AbstractSystem, inputs,
4242
eval_expression = false, eval_module = @__MODULE__,
4343
warn_initialize_determined = true,
4444
guesses = Dict(),
45+
warn_empty_op = true,
4546
kwargs...)
4647
op = Dict(op)
48+
if isempty(op)
49+
@warn "An empty operating point was passed to `linearization_function`. An operating point containing the variables that will be changed in `linearize` should be provided. Disable this warning by passing `warn_empty_op = false`."
50+
end
4751
inputs isa AbstractVector || (inputs = [inputs])
4852
outputs isa AbstractVector || (outputs = [outputs])
4953
inputs = mapreduce(vcat, inputs; init = []) do var

test/downstream/linearize.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,3 +337,11 @@ end
337337
@test_nowarn linearize(
338338
tank_noi, [md_i], [h]; op = Dict(m => m_ss, md_i => 2, ρ => A / K, A => 5))
339339
end
340+
341+
@testset "Warn on empty operating point" begin
342+
@named tank_noi = Tank_noi()
343+
@unpack md_i, h, m = tank_noi
344+
m_ss = 2.4000000003229878
345+
@test_warn ["empty operating point", "warn_empty_op"] linearize(
346+
tank_noi, [md_i], [h]; p = [md_i => 1.0])
347+
end

0 commit comments

Comments
 (0)