@@ -26,9 +26,11 @@ or provide a wrapper function for it, and add a default value for `default`.
26
26
- `name = nameof(type)`: the name of the model
27
27
- `independent = t`: the independent variable (default: `@variables t`).
28
28
`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.
29
31
"""
30
32
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 ,
32
34
)
33
35
processes = expand_multi_processes (_processes)
34
36
default = default_dict (_default)
@@ -62,13 +64,15 @@ function processes_to_mtkmodel(_processes, _default = [];
62
64
else
63
65
def_val = default_value (added_var) # utilize default value (if possible)
64
66
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
72
76
parproc = ParameterProcess (added_var)
73
77
push! (eqs, lhs (parproc) ~ rhs (parproc))
74
78
push! (lhs_vars, added_var)
0 commit comments