Skip to content

Commit 31d82fc

Browse files
committed
fixing tensorial test + independent_variable macro in tests
1 parent 9c98251 commit 31d82fc

File tree

1 file changed

+36
-19
lines changed

1 file changed

+36
-19
lines changed

test/extensions/modelingtoolkit.jl

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
33
using ModelingToolkit, Symbolics
44
using Nemo
55

6+
@independent_variables t
67
@parameters a01 a21 a12
7-
@variables t x0 x1
8+
@variables x0 x1
89

910
ring, (a, b, c, x, y) = QQ["a", "b", "c", "x", "y"]
1011

@@ -20,8 +21,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
2021
using ModelingToolkit: parameters
2122
using Symbolics
2223

24+
@independent_variables t
2325
@parameters a01 a21 a12
24-
@variables t x0(t) x1(t) y1(t) [output = true]
26+
@variables x0(t) x1(t) y1(t) [output = true]
2527
D = Differential(t)
2628

2729
eqs = [D(x0) ~ -(a01 + a21) * x0 + a12 * x1, D(x1) ~ a21 * x0 - a12 * x1, y1 ~ x0]
@@ -50,8 +52,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
5052
# --------------------------------------------------------------------------
5153

5254
# check identifiabile functions
55+
@independent_variables t
5356
@parameters V_m k_m k01 c
54-
@variables t x(t) y1(t) [output = true]
57+
@variables x(t) y1(t) [output = true]
5558
D = Differential(t)
5659

5760
eqs = [D(x) ~ (-V_m * x) / (k_m + x) + k01 * x, y1 ~ c * x]
@@ -66,8 +69,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
6669
@test isequal(Set(correct), Set(result))
6770

6871
# --------------------------------------------------------------------------
72+
@independent_variables t
6973
@parameters a01 a21 a12
70-
@variables t x0(t) x1(t) y1(t) [output = true]
74+
@variables x0(t) x1(t) y1(t) [output = true]
7175
D = Differential(t)
7276

7377
eqs = [D(x0) ~ -(a01 + a21) * x0 + a12 * x1, D(x1) ~ a21 * x0 - a12 * x1, y1 ~ x0]
@@ -85,8 +89,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
8589

8690
# --------------------------------------------------------------------------
8791

92+
@independent_variables t
8893
@parameters a01 a21 a12
89-
@variables t x0(t) x1(t) y1(t) [output = true]
94+
@variables x0(t) x1(t) y1(t) [output = true]
9095
D = Differential(t)
9196

9297
eqs = [D(x0) ~ -(a01 + a21) * x0 + a12 * x1, D(x1) ~ a21 * x0 - a12 * x1, y1 ~ x0]
@@ -103,8 +108,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
103108

104109
# --------------------------------------------------------------------------
105110

111+
@independent_variables t
106112
@parameters a01 a21 a12
107-
@variables t x0(t) x1(t) y1(t)
113+
@variables x0(t) x1(t) y1(t)
108114
D = Differential(t)
109115

110116
eqs = [D(x0) ~ -(a01 + a21) * x0 + a12 * x1, D(x1) ~ a21 * x0 - a12 * x1]
@@ -128,8 +134,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
128134
)
129135

130136
# --------------------------------------------------------------------------
137+
@independent_variables t
131138
@parameters μ bi bw a χ γ k
132-
@variables t S(t) I(t) W(t) R(t) y(t)
139+
@variables S(t) I(t) W(t) R(t) y(t)
133140

134141
eqs = [
135142
D(S) ~ μ - bi * S * I - bw * S * W - μ * S + a * R,
@@ -184,8 +191,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
184191
@test isequal(Set(correct), Set(result))
185192

186193
# --------------------------------------------------------------------------
194+
@independent_variables t
187195
@parameters mu bi bw a xi gm k
188-
@variables t S(t) I(t) W(t) R(t) y(t) [output = true]
196+
@variables S(t) I(t) W(t) R(t) y(t) [output = true]
189197

190198
eqs = [
191199
D(S) ~ mu - bi * S * I - bw * S * W - mu * S + a * R,
@@ -227,8 +235,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
227235
)
228236

229237
# --------------------------------------------------------------------------
238+
@independent_variables t
230239
@parameters mu bi bw a xi gm k
231-
@variables t S(t) I(t) W(t) R(t) y(t)
240+
@variables S(t) I(t) W(t) R(t) y(t)
232241

233242
eqs = [
234243
D(S) ~ 2.0 * mu - bi * S * I - bw * S * W - mu * S + a * R,
@@ -265,8 +274,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
265274

266275
# ----------
267276

277+
@independent_variables t
268278
@parameters a01 a21 a12
269-
@variables t x0(t) x1(t) y1(t)
279+
@variables x0(t) x1(t) y1(t)
270280
D = Differential(t)
271281
using SpecialFunctions
272282

@@ -291,8 +301,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
291301
funcs_to_check = funcs_to_check,
292302
)
293303
# ----------
304+
@independent_variables t
294305
@parameters a b c
295-
@variables t x1(t) x2(t) y(t)
306+
@variables x1(t) x2(t) y(t)
296307
D = Differential(t)
297308

298309
eqs = [D(x1) ~ -a * x1 + x2 * b / (x1 + b / (c^2 - x2)), D(x2) ~ x2 * c^2 + x1]
@@ -315,8 +326,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
315326
@test isequal(Set(result), Set(correct))
316327

317328
# ----------
329+
@independent_variables t
318330
@parameters a b
319-
@variables t c(t) x1(t) x2(t) y1(t) y2(t)
331+
@variables c(t) x1(t) x2(t) y1(t) y2(t)
320332
D = Differential(t)
321333

322334
eqs = [
@@ -339,7 +351,7 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
339351

340352
#----------------------------------
341353
# Composable models test (from https://github.com/SciML/StructuralIdentifiability.jl/issues/162)
342-
@variables t
354+
@independent_variables t
343355
function rabbits_creator(; name)
344356
ps = @parameters α = 1.5
345357
vars = @variables x(t) = 1.0 z(t) = 0.0 [input = true]
@@ -403,7 +415,8 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
403415

404416
#----------------------------------
405417

406-
@variables t, x(t), y(t), z(t), w(t)
418+
@independent_variables t
419+
@variables x(t), y(t), z(t), w(t)
407420
@parameters a
408421
@named sys = System([D(x) ~ a * y], t, [x], [a]; observed = [y ~ z, z ~ x])
409422
measured_quantities = [w ~ x]
@@ -417,7 +430,8 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
417430

418431
# Tensor definition case as reported in
419432
# https://github.com/SciML/StructuralIdentifiability.jl/issues/178
420-
@variables t, x(t)[1:2], y(t)[1:2]
433+
@independent_variables t
434+
@variables x(t)[1:2], y(t)[1:2]
421435
@parameters k1, k2
422436

423437
eqs = [D(x[1]) ~ -k1 * x[2], D(x[2]) ~ -k2 * x[1]]
@@ -436,7 +450,7 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
436450
y[1] ~ X[1] * X[2] + a,
437451
y[2] ~ X[1] - X[2],
438452
]
439-
@mtkbuild osys = System(eqs, t)
453+
@named osys = System(eqs, t)
440454
correct = OrderedDict(
441455
X[1] => :locally,
442456
X[2] => :locally,
@@ -559,8 +573,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
559573
@testset "Discrete local identifiability, ModelingToolkit interface" begin
560574
cases = []
561575

576+
@independent_variables t
562577
@parameters α β
563-
@variables t S(t) I(t) R(t) y(t)
578+
@variables S(t) I(t) R(t) y(t)
564579
k = ShiftIndex(t)
565580

566581
eqs = [
@@ -811,8 +826,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
811826
@testset "Exporting ModelingToolkit Model to SI Model" begin
812827

813828
# Creates MTK model and assesses its identifiability.
829+
@independent_variables t
814830
@parameters r1, r2, c1, c2, beta1, beta2, chi1, chi2
815-
@variables t, x1(t), x2(t), y(t), u(t)
831+
@variables x1(t), x2(t), y(t), u(t)
816832
D = Differential(t)
817833
eqs = [
818834
D(x1) ~ r1 * x1 * (1 - c1 * x1) + beta1 * x1 * x2 / (chi1 + x2) + u,
@@ -857,8 +873,9 @@ if GROUP == "All" || GROUP == "ModelingToolkitSIExt"
857873
@testset "Identifiability of MTK models with known generic initial conditions" begin
858874
cases = []
859875

876+
@independent_variables t
860877
@parameters a, b, c, d
861-
@variables t, x1(t), x2(t)
878+
@variables x1(t), x2(t)
862879
D = Differential(t)
863880
x1_0 = substitute(x1, Dict(t => 0))
864881
x2_0 = substitute(x2, Dict(t => 0))

0 commit comments

Comments
 (0)