Skip to content

Commit fe9c891

Browse files
committed
Add keyword argument for dependent parameters
1 parent da392df commit fe9c891

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/systems/abstractsystem.jl

+9-5
Original file line numberDiff line numberDiff line change
@@ -1335,10 +1335,11 @@ Get the standard parameters of the system `sys` and its subsystems.
13351335
# Keyword arguments
13361336
13371337
- `initial_parameters`: Whether to include parameters for initial values of variables in the initialization system.
1338+
- `dependent_parameters`: Whether to include parameters that are determined by parameter dependencies.
13381339
13391340
See also [`full_parameters`](@ref) and [`ModelingToolkit.get_ps`](@ref).
13401341
"""
1341-
function parameters(sys::AbstractSystem; initial_parameters = false)
1342+
function parameters(sys::AbstractSystem; initial_parameters = false, dependent_parameters = false)
13421343
ps = get_ps(sys)
13431344
if ps == SciMLBase.NullParameters()
13441345
return []
@@ -1347,12 +1348,15 @@ function parameters(sys::AbstractSystem; initial_parameters = false)
13471348
ps = first.(ps)
13481349
end
13491350
systems = get_systems(sys)
1350-
result = unique(isempty(systems) ? ps :
1351+
ps = unique(isempty(systems) ? ps :
13511352
[ps; reduce(vcat, namespace_parameters.(systems))])
13521353
if !initial_parameters && !is_initializesystem(sys)
1353-
filter!(x -> !iscall(x) || !isa(operation(x), Initial), result)
1354+
filter!(x -> !iscall(x) || !isa(operation(x), Initial), ps)
13541355
end
1355-
return result
1356+
if dependent_parameters
1357+
ps = vcat(ps, ModelingToolkit.dependent_parameters(sys))
1358+
end
1359+
return ps
13561360
end
13571361

13581362
function dependent_parameters(sys::AbstractSystem)
@@ -1399,7 +1403,7 @@ Get all parameters of the system `sys` and its subsystems, including initial val
13991403
See also [`parameters`](@ref) and [`ModelingToolkit.get_ps`](@ref).
14001404
"""
14011405
function full_parameters(sys::AbstractSystem)
1402-
vcat(parameters(sys; initial_parameters = true), dependent_parameters(sys))
1406+
return parameters(sys; initial_parameters = true, dependent_parameters = true)
14031407
end
14041408

14051409
"""

0 commit comments

Comments
 (0)