Skip to content

Commit 5fbaef6

Browse files
committed
only warn on missing inputs
1 parent 54ea10d commit 5fbaef6

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

ext/MTKExt.jl

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,16 +205,24 @@ function generate_io_function(_sys, inputss::Tuple, outputss::Tuple;
205205
end
206206
alloutputs = reduce(union, outputss)
207207

208+
missing_inputs = Set{Symbolic}()
208209
sys = if ModelingToolkit.iscomplete(_sys)
209210
deepcopy(_sys)
210211
else
211212
_openinputs = setdiff(allinputs, Set(full_parameters(_sys)))
213+
get_variables.(full_equations(_sys))
214+
all_eq_vars = mapreduce(get_variables, union, full_equations(_sys), init=Set{Symbolic}())
215+
if !(_openinputs all_eq_vars)
216+
missing_inputs = setdiff(_openinputs, all_eq_vars)
217+
@warn "The specified inputs ($missing_inputs) do not appear in the equations of the system!"
218+
_openinputs = setdiff(_openinputs, missing_inputs)
219+
end
212220
structural_simplify(_sys, (_openinputs, alloutputs); simplify=true)[1]
213221
end
214222

215223
states = unknowns(sys)
216224
allparams = full_parameters(sys) # contains inputs!
217-
@argcheck allinputs Set(allparams)
225+
@argcheck allinputs Set(allparams) missing_inputs
218226
params = setdiff(allparams, Set(allinputs))
219227

220228
# extract the main equations and observed equations

0 commit comments

Comments
 (0)