@@ -2225,6 +2225,10 @@ function extend(sys::AbstractSystem, basesys::AbstractSystem; name::Symbol = nam
2225
2225
eqs = union (get_eqs (basesys), get_eqs (sys))
2226
2226
sts = union (get_unknowns (basesys), get_unknowns (sys))
2227
2227
ps = union (get_ps (basesys), get_ps (sys))
2228
+ base_deps = get_parameter_dependencies (basesys)
2229
+ deps = get_parameter_dependencies (sys)
2230
+ dep_ps = isnothing (base_deps) ? deps :
2231
+ isnothing (deps) ? base_deps : union (base_deps, deps)
2228
2232
obs = union (get_observed (basesys), get_observed (sys))
2229
2233
cevs = union (get_continuous_events (basesys), get_continuous_events (sys))
2230
2234
devs = union (get_discrete_events (basesys), get_discrete_events (sys))
@@ -2233,11 +2237,12 @@ function extend(sys::AbstractSystem, basesys::AbstractSystem; name::Symbol = nam
2233
2237
2234
2238
if length (ivs) == 0
2235
2239
T (eqs, sts, ps, observed = obs, defaults = defs, name = name, systems = syss,
2236
- continuous_events = cevs, discrete_events = devs, gui_metadata = gui_metadata)
2240
+ continuous_events = cevs, discrete_events = devs, gui_metadata = gui_metadata,
2241
+ parameter_dependencies = dep_ps)
2237
2242
elseif length (ivs) == 1
2238
2243
T (eqs, ivs[1 ], sts, ps, observed = obs, defaults = defs, name = name,
2239
2244
systems = syss, continuous_events = cevs, discrete_events = devs,
2240
- gui_metadata = gui_metadata)
2245
+ gui_metadata = gui_metadata, parameter_dependencies = dep_ps )
2241
2246
end
2242
2247
end
2243
2248
@@ -2395,7 +2400,7 @@ end
2395
2400
"""
2396
2401
is_diff_equation(eq)
2397
2402
2398
- Returns `true` if the input is a differential equation, i.e. is an equatation that contain some
2403
+ Returns `true` if the input is a differential equation, i.e. is an equatation that contain some
2399
2404
form of differential.
2400
2405
2401
2406
Example:
@@ -2421,7 +2426,7 @@ end
2421
2426
"""
2422
2427
is_alg_equation(eq)
2423
2428
2424
- Returns `true` if the input is an algebraic equation, i.e. is an equatation that does not contain
2429
+ Returns `true` if the input is an algebraic equation, i.e. is an equatation that does not contain
2425
2430
any differentials.
2426
2431
2427
2432
Example:
@@ -2603,7 +2608,7 @@ has_alg_eqs(sys::AbstractSystem) = any(is_alg_equation, get_eqs(sys))
2603
2608
"""
2604
2609
has_diff_eqs(sys::AbstractSystem)
2605
2610
2606
- For a system, returns true if it contain at least one differential equation (i.e. that contain a
2611
+ For a system, returns true if it contain at least one differential equation (i.e. that contain a
2607
2612
differential) in its *top-level system*.
2608
2613
2609
2614
Example:
0 commit comments