@@ -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,8 +2400,8 @@ 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
2399
- form of differential.
2403
+ Return `true` if the input is a differential equation, i.e. an equation that contains a
2404
+ differential term .
2400
2405
2401
2406
Example:
2402
2407
```julia
@@ -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
+ Return `true` if the input is an algebraic equation, i.e. an equation that does not contain
2425
2430
any differentials.
2426
2431
2427
2432
Example:
@@ -2603,8 +2608,9 @@ 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
2607
- differential) in its *top-level system*.
2611
+ Return `true` if a system contains at least one differential equation (i.e. an equation with a
2612
+ differential term). Note that this does not consider subsystems, and only takes into account
2613
+ equations in the top-level system.
2608
2614
2609
2615
Example:
2610
2616
```julia
0 commit comments