Skip to content

Commit 3045cb1

Browse files
remove t and D definitions
1 parent 4cd7d1b commit 3045cb1

16 files changed

+44
-69
lines changed

docs/src/basics/Composition.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ using ModelingToolkit: t_nounits as t, D_nounits as D
2121
function decay(; name)
2222
@parameters a
2323
@variables x(t) f(t)
24-
D = Differential(t)
2524
ODESystem([
2625
D(x) ~ -a * x + f
2726
], t;
@@ -31,7 +30,6 @@ end
3130
@named decay1 = decay()
3231
@named decay2 = decay()
3332
34-
D = Differential(t)
3533
connected = compose(
3634
ODESystem([decay2.f ~ decay1.x
3735
D(decay1.f) ~ 0], t; name = :connected), decay1, decay2)

docs/src/basics/Events.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,10 @@ friction
6565

6666
```@example events
6767
using ModelingToolkit, OrdinaryDiffEq, Plots
68+
using ModelingToolkit: t_nounits as t, D_nounits as D
69+
6870
function UnitMassWithFriction(k; name)
69-
@variables t x(t)=0 v(t)=0
70-
D = Differential(t)
71+
@variables x(t)=0 v(t)=0
7172
eqs = [D(x) ~ v
7273
D(v) ~ sin(t) - k * sign(v)]
7374
ODESystem(eqs, t; continuous_events = [v ~ 0], name) # when v = 0 there is a discontinuity
@@ -87,8 +88,7 @@ an `affect!` on the state. We can model the same system using ModelingToolkit
8788
like this
8889

8990
```@example events
90-
@variables t x(t)=1 v(t)=0
91-
D = Differential(t)
91+
@variables x(t)=1 v(t)=0
9292
9393
root_eqs = [x ~ 0] # the event happens at the ground x(t) = 0
9494
affect = [v ~ -v] # the effect is that the velocity changes sign
@@ -108,8 +108,7 @@ plot(sol)
108108
Multiple events? No problem! This example models a bouncing ball in 2D that is enclosed by two walls at $y = \pm 1.5$.
109109

110110
```@example events
111-
@variables t x(t)=1 y(t)=0 vx(t)=0 vy(t)=2
112-
D = Differential(t)
111+
@variables x(t)=1 y(t)=0 vx(t)=0 vy(t)=2
113112
114113
continuous_events = [[x ~ 0] => [vx ~ -vx]
115114
[y ~ -1.5, y ~ 1.5] => [vy ~ -vy]]
@@ -229,7 +228,7 @@ Suppose we have a population of `N(t)` cells that can grow and die, and at time
229228

230229
```@example events
231230
@parameters M tinject α
232-
@variables t N(t)
231+
@variables N(t)
233232
Dₜ = Differential(t)
234233
eqs = [Dₜ(N) ~ α - N]
235234

docs/src/basics/FAQ.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,10 @@ end
102102
This error can come up after running `structural_simplify` on a system that generates dummy derivatives (i.e. variables with `ˍt`). For example, here even though all the variables are defined with initial values, the `ODEProblem` generation will throw an error that defaults are missing from the variable map.
103103

104104
```
105-
@variables t
105+
using ModelingToolkit
106+
using ModelingToolkit: t_nounits as t, D_nounits as D
107+
106108
sts = @variables x1(t)=0.0 x2(t)=0.0 x3(t)=0.0 x4(t)=0.0
107-
D = Differential(t)
108109
eqs = [x1 + x2 + 1 ~ 0
109110
x1 + x2 + x3 + 2 ~ 0
110111
x1 + D(x3) + x4 + 3 ~ 0
@@ -137,9 +138,9 @@ container type. For example:
137138

138139
```
139140
using ModelingToolkit, StaticArrays
140-
@variables t
141+
using ModelingToolkit: t_nounits as t, D_nounits as D
142+
141143
sts = @variables x1(t)=0.0
142-
D = Differential(t)
143144
eqs = [D(x1) ~ 1.1 * x1]
144145
@mtkbuild sys = ODESystem(eqs, t)
145146
prob = ODEProblem{false}(sys, [], (0,1); u0_constructor = x->SVector(x...))

docs/src/basics/Linearization.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ The `linearize` function expects the user to specify the inputs ``u`` and the ou
2121

2222
```@example LINEARIZE
2323
using ModelingToolkit
24-
@variables t x(t)=0 y(t)=0 u(t)=0 r(t)=0
24+
using ModelingToolkit: t_nounits as t, D_nounits as D
25+
@variables x(t)=0 y(t)=0 u(t)=0 r(t)=0
2526
@parameters kp = 1
26-
D = Differential(t)
2727
2828
eqs = [u ~ kp * (r - y) # P controller
2929
D(x) ~ -x + u # First-order plant

docs/src/basics/Variable_metadata.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@ current in a resistor. These variables sum up to zero in connections.
5050

5151
```@example connect
5252
using ModelingToolkit
53+
using ModelingToolkit: t_nounits as t, D_nounits as D
5354
54-
@variables t, i(t) [connect = Flow]
55+
@variables i(t) [connect = Flow]
5556
@variables k(t) [connect = Stream]
5657
```
5758

docs/src/examples/higher_order.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ We utilize the derivative operator twice here to define the second order:
1313

1414
```@example orderlowering
1515
using ModelingToolkit, OrdinaryDiffEq
16+
using ModelingToolkit: t_nounits as t, D_nounits as D
1617
1718
@parameters σ ρ β
18-
@variables t x(t) y(t) z(t)
19-
D = Differential(t)
19+
@variables x(t) y(t) z(t)
2020
2121
eqs = [D(D(x)) ~ σ * (y - x),
2222
D(y) ~ x * (ρ - z) - y,

docs/src/examples/perturbation.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ As the first ODE example, we have chosen a simple and well-behaved problem, whic
4545
with the initial conditions $x(0) = 0$, and $\dot{x}(0) = 1$. Note that for $\epsilon = 0$, this equation transforms back to the standard one. Let's start with defining the variables
4646

4747
```julia
48+
using ModelingToolkit: t_nounits as t, D_nounits as D
4849
n = 3
49-
@variables ϵ t y[1:n](t) ∂∂y[1:n](t)
50+
@variables ϵ y[1:n](t) ∂∂y[1:n](t)
5051
```
5152

5253
Next, we define $x$.
@@ -82,7 +83,6 @@ vals = solve_coef(eqs, ∂∂y)
8283
Our system of ODEs is forming. Now is the time to convert `∂∂`s to the correct **Symbolics.jl** form by substitution:
8384

8485
```julia
85-
D = Differential(t)
8686
subs = Dict(∂∂y[i] => D(D(y[i])) for i in eachindex(y))
8787
eqs = [substitute(first(v), subs) ~ substitute(last(v), subs) for v in vals]
8888
```
@@ -147,7 +147,6 @@ vals = solve_coef(eqs, ∂∂y)
147147
Next, we need to replace ``s and `∂∂`s with their **Symbolics.jl** counterparts:
148148

149149
```julia
150-
D = Differential(t)
151150
subs1 = Dict(∂y[i] => D(y[i]) for i in eachindex(y))
152151
subs2 = Dict(∂∂y[i] => D(D(y[i])) for i in eachindex(y))
153152
subs = subs1 subs2

docs/src/examples/spring_mass.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@ In this tutorial, we will build a simple component-based model of a spring-mass
66

77
```@example component
88
using ModelingToolkit, Plots, DifferentialEquations, LinearAlgebra
9+
using ModelingToolkit: t_nounits as t, D_nounits as D
910
using Symbolics: scalarize
1011
11-
@variables t
12-
D = Differential(t)
13-
1412
function Mass(; name, m = 1.0, xy = [0.0, 0.0], u = [0.0, 0.0])
1513
ps = @parameters m = m
1614
sts = @variables pos(t)[1:2]=xy v(t)[1:2]=u

docs/src/examples/tearing_parallelism.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@ electrical circuits:
1111

1212
```@example tearing
1313
using ModelingToolkit, OrdinaryDiffEq
14+
using ModelingToolkit: t_nounits as t, D_nounits as D
1415
1516
# Basic electric components
16-
@variables t
17-
const D = Differential(t)
1817
@connector function Pin(; name)
1918
@variables v(t)=1.0 i(t)=1.0 [connect = Flow]
2019
ODESystem(Equation[], t, [v, i], [], name = name)

docs/src/tutorials/acausal_components.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ equalities before solving. Let's see this in action.
2121

2222
```@example acausal
2323
using ModelingToolkit, Plots, DifferentialEquations
24+
using ModelingToolkit: t_nounits as t, D_nounits as D
2425
25-
@variables t
2626
@connector Pin begin
2727
v(t)
2828
i(t), [connect = Flow]
@@ -63,8 +63,6 @@ end
6363
end
6464
end
6565
66-
D = Differential(t)
67-
6866
@mtkmodel Capacitor begin
6967
@extend OnePort()
7068
@parameters begin
@@ -213,8 +211,6 @@ equations and unknowns and extend them with a new equation. Note that `v`, `i` a
213211
Using our knowledge of circuits, we similarly construct the `Capacitor`:
214212

215213
```@example acausal
216-
D = Differential(t)
217-
218214
@mtkmodel Capacitor begin
219215
@extend OnePort()
220216
@parameters begin

docs/src/tutorials/bifurcation_diagram_computation.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ Let us first consider a simple `NonlinearSystem`:
88

99
```@example Bif1
1010
using ModelingToolkit
11-
@variables t x(t) y(t)
11+
using ModelingToolkit: t_nounits as t, D_nounits as D
12+
13+
@variables x(t) y(t)
1214
@parameters μ α
1315
eqs = [0 ~ μ * x - x^3 + α * y,
1416
0 ~ -y]
@@ -87,10 +89,10 @@ It is also possible to use `ODESystem`s (rather than `NonlinearSystem`s) as inpu
8789

8890
```@example Bif2
8991
using BifurcationKit, ModelingToolkit, Plots
92+
using ModelingToolkit: t_nounits as t, D_nounits as D
9093
91-
@variables t x(t) y(t)
94+
@variables x(t) y(t)
9295
@parameters μ
93-
D = Differential(t)
9496
eqs = [D(x) ~ μ * x - y - x * (x^2 + y^2),
9597
D(y) ~ x + μ * y - y * (x^2 + y^2)]
9698
@mtkbuild osys = ODESystem(eqs, t)

docs/src/tutorials/domain_connections.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ A domain in ModelingToolkit.jl is a network of connected components that share p
66

77
```@example domain
88
using ModelingToolkit
9-
10-
@parameters t
11-
D = Differential(t)
9+
using ModelingToolkit: t_nounits as t, D_nounits as D
1210
1311
@connector function HydraulicPort(; p_int, name)
1412
pars = @parameters begin

docs/src/tutorials/ode_modeling.md

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ But if you want to just see some code and run, here's an example:
2020

2121
```@example first-mtkmodel
2222
using ModelingToolkit
23-
24-
@variables t
25-
D = Differential(t)
23+
using ModelingToolkit: t_nounits as t, D_nounits as D
2624
2725
@mtkmodel FOL begin
2826
@parameters begin
@@ -65,9 +63,7 @@ independent variable ``t`` is automatically added by ``@mtkmodel``.
6563

6664
```@example ode2
6765
using ModelingToolkit
68-
69-
@variables t
70-
D = Differential(t)
66+
using ModelingToolkit: t_nounits as t, D_nounits as D
7167
7268
@mtkmodel FOL begin
7369
@parameters begin
@@ -109,6 +105,7 @@ intermediate variable `RHS`:
109105

110106
```@example ode2
111107
using ModelingToolkit
108+
using ModelingToolkit: t_nounits as t, D_nounits as D
112109
113110
@mtkmodel FOL begin
114111
@parameters begin
@@ -118,9 +115,6 @@ using ModelingToolkit
118115
x(t) # dependent variables
119116
RHS(t)
120117
end
121-
begin
122-
D = Differential(t)
123-
end
124118
@equations begin
125119
RHS ~ (1 - x) / τ
126120
D(x) ~ RHS
@@ -197,9 +191,6 @@ Obviously, one could use an explicit, symbolic function of time:
197191
x(t) # dependent variables
198192
f(t)
199193
end
200-
begin
201-
D = Differential(t)
202-
end
203194
@equations begin
204195
f ~ sin(t)
205196
D(x) ~ (f - x) / τ
@@ -234,9 +225,6 @@ f_fun(t) = t >= 10 ? value_vector[end] : value_vector[Int(floor(t)) + 1]
234225
@structural_parameters begin
235226
h = 1
236227
end
237-
begin
238-
D = Differential(t)
239-
end
240228
@equations begin
241229
f ~ f_fun(t)
242230
D(x) ~ (f - x) / τ
@@ -262,7 +250,7 @@ complex systems from simple ones is even more fun. Best practice for such a
262250
```@example ode2
263251
function fol_factory(separate = false; name)
264252
@parameters τ
265-
@variables t x(t) f(t) RHS(t)
253+
@variables x(t) f(t) RHS(t)
266254
267255
eqs = separate ? [RHS ~ (f - x) / τ,
268256
D(x) ~ RHS] :
@@ -358,10 +346,11 @@ In non-DSL definitions, one can pass `defaults` dictionary to set the initial gu
358346

359347
```@example ode3
360348
using ModelingToolkit
349+
using ModelingToolkit: t_nounits as t, D_nounits as D
361350
362351
function UnitstepFOLFactory(; name)
363352
@parameters τ
364-
@variables t x(t)
353+
@variables x(t)
365354
ODESystem(D(x) ~ (1 - x) / τ; name, defaults = Dict(x => 0.0, τ => 1.0))
366355
end
367356
```

docs/src/tutorials/parameter_identifiability.md

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ We first define the parameters, variables, differential equations and the output
3030

3131
```@example SI
3232
using StructuralIdentifiability, ModelingToolkit
33-
34-
@variables t
35-
D = Differential(t)
33+
using ModelingToolkit: t_nounits as t, D_nounits as D
3634
3735
@mtkmodel Biohydrogenation begin
3836
@variables begin
@@ -107,9 +105,7 @@ Global identifiability needs information about local identifiability first, but
107105

108106
```@example SI2
109107
using StructuralIdentifiability, ModelingToolkit
110-
111-
@variables t
112-
D = Differential(t)
108+
using ModelingToolkit: t_nounits as t, D_nounits as D
113109
114110
@mtkmodel GoodwinOsc begin
115111
@parameters begin
@@ -150,9 +146,7 @@ Let us consider the same system but with two inputs, and we will find out identi
150146

151147
```@example SI3
152148
using StructuralIdentifiability, ModelingToolkit
153-
154-
@variables t
155-
D = Differential(t)
149+
using ModelingToolkit: t_nounits as t, D_nounits as D
156150
157151
@mtkmodel GoodwinOscillator begin
158152
@parameters begin

docs/src/tutorials/programmatically_generating.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ as demonstrated in the Symbolics.jl documentation. This looks like:
1818

1919
```@example scripting
2020
using Symbolics
21-
@variables t x(t) y(t) # Define variables
22-
D = Differential(t) # Define a differential operator
21+
using ModelingToolkit: t_nounits as t, D_nounits as D
22+
23+
@variables x(t) y(t) # Define variables
2324
eqs = [D(x) ~ y
2425
D(y) ~ x] # Define an array of equations
2526
```
@@ -32,11 +33,11 @@ defining PDESystem etc.
3233

3334
```@example scripting
3435
using ModelingToolkit
36+
using ModelingToolkit: t_nounits as t, D_nounits as D
3537
36-
@variables t x(t) # independent and dependent variables
38+
@variables x(t) # independent and dependent variables
3739
@parameters τ # parameters
3840
@constants h = 1 # constants
39-
D = Differential(t) # define an operator for the differentiation w.r.t. time
4041
eqs = [D(x) ~ (h - x) / τ] # create an array of equations
4142
4243
# your first ODE, consisting of a single equation, indicated by ~

docs/src/tutorials/stochastic_diffeq.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ it to have multiplicative noise.
99

1010
```@example SDE
1111
using ModelingToolkit, StochasticDiffEq
12+
using ModelingToolkit: t_nounits as t, D_nounits as D
1213
1314
# Define some variables
1415
@parameters σ ρ β
15-
@variables t x(t) y(t) z(t)
16-
D = Differential(t)
16+
@variables x(t) y(t) z(t)
1717
1818
eqs = [D(x) ~ σ * (y - x),
1919
D(y) ~ x * (ρ - z) - y,

0 commit comments

Comments
 (0)