Skip to content

Commit 3580c5f

Browse files
committed
Add keyword for warning when adding a ParameterProcess
1 parent aab62c2 commit 3580c5f

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "ProcessBasedModelling"
22
uuid = "ca969041-2cf3-4b10-bc21-86f4417093eb"
33
authors = ["Datseris <[email protected]>"]
4-
version = "1.0.4"
4+
version = "1.0.5"
55

66
[deps]
77
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"

src/make.jl

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,11 @@ or provide a wrapper function for it, and add a default value for `default`.
2626
- `name = nameof(type)`: the name of the model
2727
- `independent = t`: the independent variable (default: `@variables t`).
2828
`t` is also exported by ProcessBasedModelling.jl for convenience.
29+
- `warn_defaut::Bool = true`: if `true`, throw a warning when a variable does not
30+
have an assigned process but it has a default value so that it becomes a parameter instead.
2931
"""
3032
function processes_to_mtkmodel(_processes, _default = [];
31-
type = ODESystem, name = nameof(type), independent = t
33+
type = ODESystem, name = nameof(type), independent = t, warn_default::Bool = true,
3234
)
3335
processes = expand_multi_processes(_processes)
3436
default = default_dict(_default)
@@ -62,13 +64,15 @@ function processes_to_mtkmodel(_processes, _default = [];
6264
else
6365
def_val = default_value(added_var) # utilize default value (if possible)
6466
if !isnothing(def_val)
65-
@warn("""
66-
Variable $(added_var) was introduced in process of variable $(introduced[added_var]).
67-
However, a process for $(added_var) was not provided,
68-
and there is no default process for it either.
69-
Since it has a default value, we make it a parameter by adding a process:
70-
`ParameterProcess($(ModelingToolkit.getname(added_var)))`.
71-
""")
67+
if warn_default == true
68+
@warn("""
69+
Variable $(added_var) was introduced in process of variable $(introduced[added_var]).
70+
However, a process for $(added_var) was not provided,
71+
and there is no default process for it either.
72+
Since it has a default value, we make it a parameter by adding a process:
73+
`ParameterProcess($(ModelingToolkit.getname(added_var)))`.
74+
""")
75+
end
7276
parproc = ParameterProcess(added_var)
7377
push!(eqs, lhs(parproc) ~ rhs(parproc))
7478
push!(lhs_vars, added_var)

0 commit comments

Comments
 (0)