@@ -214,7 +214,7 @@ function DiffEqBase.ODEFunction{iip}(sys::AbstractODESystem, dvs = states(sys),
214
214
if jac
215
215
jac_gen = generate_jacobian (sys, dvs, ps;
216
216
simplify= simplify, sparse = sparse,
217
- expression= Val{eval_expression}, expression_module= eval_module,
217
+ expression= Val{eval_expression}, expression_module= eval_module,
218
218
checkbounds= checkbounds, kwargs... )
219
219
jac_oop,jac_iip = eval_expression ? (@RuntimeGeneratedFunction (eval_module, ex) for ex in jac_gen) : jac_gen
220
220
_jac (u,p,t) = jac_oop (u,p,t)
@@ -227,8 +227,9 @@ function DiffEqBase.ODEFunction{iip}(sys::AbstractODESystem, dvs = states(sys),
227
227
228
228
_M = (u0 === nothing || M == I) ? M : ArrayInterface. restructure (u0 .* u0' ,M)
229
229
230
+ obs = observed (sys)
230
231
observedfun = if steady_state
231
- let sys = sys, dict = Dict ()
232
+ isempty (obs) ? SciMLBase . DEFAULT_OBSERVED_NO_TIME : let sys = sys, dict = Dict ()
232
233
function generated_observed (obsvar, u, p, t= Inf )
233
234
obs = get! (dict, value (obsvar)) do
234
235
build_explicit_observed_function (sys, obsvar)
@@ -237,7 +238,7 @@ function DiffEqBase.ODEFunction{iip}(sys::AbstractODESystem, dvs = states(sys),
237
238
end
238
239
end
239
240
else
240
- let sys = sys, dict = Dict ()
241
+ isempty (obs) ? SciMLBase . DEFAULT_OBSERVED : let sys = sys, dict = Dict ()
241
242
function generated_observed (obsvar, u, p, t)
242
243
obs = get! (dict, value (obsvar)) do
243
244
build_explicit_observed_function (sys, obsvar; checkbounds= checkbounds)
0 commit comments