@@ -8,15 +8,19 @@ Units may be assigned with the following syntax.
8
8
9
9
``` @example validation
10
10
using ModelingToolkit, DynamicQuantities
11
- @variables t [unit = u"s"] x(t) [unit = u"m"] g(t) w(t) [unit = "Hz"]
11
+ @parameters t [unit = u"s"]
12
+ @variables x(t) [unit = u"m"] g(t) w(t) [unit = u"Hz"]
12
13
13
- @variables(t, [unit = u"s"], x(t), [unit = u"m"], g(t), w(t), [unit = "Hz"])
14
+ @parameters(t, [unit = u"s"])
15
+ @variables(x(t), [unit = u"m"], g(t), w(t), [unit = u"Hz"])
14
16
17
+ @parameters begin
18
+ t, [unit = u"s"]
19
+ end
15
20
@variables(begin
16
- t, [unit = u"s"],
17
21
x(t), [unit = u"m"],
18
22
g(t),
19
- w(t), [unit = "Hz"]
23
+ w(t), [unit = u "Hz"]
20
24
end)
21
25
22
26
# Simultaneously set default value (use plain numbers, not quantities)
@@ -46,10 +50,10 @@ Example usage below. Note that `ModelingToolkit` does not force unit conversions
46
50
47
51
``` @example validation
48
52
using ModelingToolkit, DynamicQuantities
49
- @parameters τ [unit = u"ms"]
50
- @variables t [unit = u"ms"] E(t) [unit = u"kJ"] P(t) [unit = u"MW"]
53
+ @parameters t [unit = u"ms"] τ [unit = u"ms"]
54
+ @variables E(t) [unit = u"kJ"] P(t) [unit = u"MW"]
51
55
D = Differential(t)
52
- eqs = eqs = [D(E) ~ P - E / τ,
56
+ eqs = [D(E) ~ P - E / τ,
53
57
0 ~ P]
54
58
ModelingToolkit.validate(eqs)
55
59
```
@@ -70,10 +74,10 @@ An example of an inconsistent system: at present, `ModelingToolkit` requires tha
70
74
71
75
``` @example validation
72
76
using ModelingToolkit, DynamicQuantities
73
- @parameters τ [unit = u"ms"]
74
- @variables t [unit = u"ms"] E(t) [unit = u"J"] P(t) [unit = u"MW"]
77
+ @parameters t [unit = u"ms"] τ [unit = u"ms"]
78
+ @variables E(t) [unit = u"J"] P(t) [unit = u"MW"]
75
79
D = Differential(t)
76
- eqs = eqs = [D(E) ~ P - E / τ,
80
+ eqs = [D(E) ~ P - E / τ,
77
81
0 ~ P]
78
82
ModelingToolkit.validate(eqs) #Returns false while displaying a warning message
79
83
```
@@ -115,7 +119,8 @@ In order for a function to work correctly during both validation & execution, th
115
119
116
120
``` julia
117
121
using ModelingToolkit, DynamicQuantities
118
- @variables t [unit = u " ms" ] E (t) [unit = u " J" ] P (t) [unit = u " MW" ]
122
+ @parameters t [unit = u " ms" ]
123
+ @variables E (t) [unit = u " J" ] P (t) [unit = u " MW" ]
119
124
D = Differential (t)
120
125
eqs = [D (E) ~ P - E / 1 u " ms" ]
121
126
ModelingToolkit. validate (eqs) # Returns false while displaying a warning message
@@ -129,8 +134,8 @@ Instead, they should be parameterized:
129
134
130
135
``` @example validation3
131
136
using ModelingToolkit, DynamicQuantities
132
- @parameters τ [unit = u"ms"]
133
- @variables t [unit = u"ms"] E(t) [unit = u"kJ"] P(t) [unit = u"MW"]
137
+ @parameters t [unit = u"ms"] τ [unit = u"ms"]
138
+ @variables E(t) [unit = u"kJ"] P(t) [unit = u"MW"]
134
139
D = Differential(t)
135
140
eqs = [D(E) ~ P - E / τ]
136
141
ModelingToolkit.validate(eqs) #Returns true
0 commit comments