@@ -295,7 +295,7 @@ function has_parameter_dependency_with_lhs(sys, sym)
295295 if has_index_cache (sys) && (ic = get_index_cache (sys)) != = nothing
296296 return haskey (ic. dependent_pars_to_timeseries, unwrap (sym))
297297 else
298- return any (isequal (sym), [eq. lhs for eq in parameter_dependencies (sys)])
298+ return any (isequal (sym), [eq. lhs for eq in get_parameter_dependencies (sys)])
299299 end
300300end
301301
@@ -565,7 +565,7 @@ function add_initialization_parameters(sys::AbstractSystem; split = true)
565565 D = Differential (get_iv (sys))
566566 union! (all_initialvars, [D (v) for v in all_initialvars if iscall (v)])
567567 end
568- for eq in parameter_dependencies (sys)
568+ for eq in get_parameter_dependencies (sys)
569569 is_variable_floatingpoint (eq. lhs) || continue
570570 push! (all_initialvars, eq. lhs)
571571 end
@@ -1314,8 +1314,15 @@ function parameter_dependencies(sys::AbstractSystem)
13141314 get_parameter_dependencies (sys)
13151315end
13161316
1317+ """
1318+ $(TYPEDSIGNATURES)
1319+
1320+ Return all of the parameters of the system, including hidden initial parameters and ones
1321+ eliminated via `parameter_dependencies`.
1322+ """
13171323function full_parameters (sys:: AbstractSystem )
1318- vcat (parameters (sys; initial_parameters = true ), dependent_parameters (sys))
1324+ dep_ps = [eq. lhs for eq in get_parameter_dependencies (sys)]
1325+ vcat (parameters (sys; initial_parameters = true ), dep_ps)
13191326end
13201327
13211328"""
@@ -2095,7 +2102,7 @@ function Base.show(
20952102 end
20962103
20972104 # Print parameter dependencies
2098- npdeps = has_parameter_dependencies (sys) ? length (parameter_dependencies (sys)) : 0
2105+ npdeps = has_parameter_dependencies (sys) ? length (get_parameter_dependencies (sys)) : 0
20992106 npdeps > 0 && printstyled (io, " \n Parameter dependencies ($npdeps ):" ; bold)
21002107 npdeps > 0 && hint && print (io, " see parameter_dependencies($name )" )
21012108
@@ -2604,15 +2611,15 @@ function extend(sys::AbstractSystem, basesys::AbstractSystem;
26042611 eqs = union (get_eqs (basesys), get_eqs (sys))
26052612 sts = union (get_unknowns (basesys), get_unknowns (sys))
26062613 ps = union (get_ps (basesys), get_ps (sys))
2607- dep_ps = union (parameter_dependencies (basesys), parameter_dependencies (sys))
2614+ dep_ps = union (get_parameter_dependencies (basesys), get_parameter_dependencies (sys))
26082615 obs = union (get_observed (basesys), get_observed (sys))
26092616 cevs = union (get_continuous_events (basesys), get_continuous_events (sys))
26102617 devs = union (get_discrete_events (basesys), get_discrete_events (sys))
26112618 defs = merge (get_defaults (basesys), get_defaults (sys)) # prefer `sys`
26122619 meta = merge (get_metadata (basesys), get_metadata (sys))
26132620 syss = union (get_systems (basesys), get_systems (sys))
26142621 args = length (ivs) == 0 ? (eqs, sts, ps) : (eqs, ivs[1 ], sts, ps)
2615- kwargs = (parameter_dependencies = dep_ps, observed = obs, continuous_events = cevs,
2622+ kwargs = (observed = obs, continuous_events = cevs,
26162623 discrete_events = devs, defaults = defs, systems = syss, metadata = meta,
26172624 name = name, description = description, gui_metadata = gui_metadata)
26182625
@@ -2626,7 +2633,10 @@ function extend(sys::AbstractSystem, basesys::AbstractSystem;
26262633 kwargs, (; assertions = merge (get_assertions (basesys), get_assertions (sys))))
26272634 end
26282635
2629- return T (args... ; kwargs... )
2636+ newsys = T (args... ; kwargs... )
2637+ @set! newsys. parameter_dependencies = dep_ps
2638+
2639+ return newsys
26302640end
26312641
26322642"""
@@ -2768,9 +2778,10 @@ function Symbolics.substitute(sys::AbstractSystem, rules::Union{Vector{<:Pair},
27682778 initialization_eqs = fast_substitute (get_initialization_eqs (sys), rules)
27692779 cstrs = fast_substitute (get_constraints (sys), rules)
27702780 subsys = map (s -> substitute (s, rules), get_systems (sys))
2771- System (eqs, get_iv (sys); name = nameof (sys), defaults = defs,
2772- guesses = guess, parameter_dependencies = pdeps, systems = subsys, noise_eqs,
2781+ newsys = System (eqs, get_iv (sys); name = nameof (sys), defaults = defs,
2782+ guesses = guess, systems = subsys, noise_eqs,
27732783 observed, initialization_eqs, constraints = cstrs)
2784+ @set! newsys. parameter_dependencies = pdeps
27742785 else
27752786 error (" substituting symbols is not supported for $(typeof (sys)) " )
27762787 end
@@ -2846,7 +2857,7 @@ See also: [`ModelingToolkit.dump_variable_metadata`](@ref), [`ModelingToolkit.du
28462857"""
28472858function dump_parameters (sys:: AbstractSystem )
28482859 defs = defaults (sys)
2849- pdeps = parameter_dependencies (sys)
2860+ pdeps = get_parameter_dependencies (sys)
28502861 metas = map (dump_variable_metadata .(parameters (sys))) do meta
28512862 if haskey (defs, meta. var)
28522863 meta = merge (meta, (; default = defs[meta. var]))
0 commit comments