Skip to content

Commit 08f5fbc

Browse files
a few updates
1 parent a15c194 commit 08f5fbc

File tree

2 files changed

+31
-31
lines changed

2 files changed

+31
-31
lines changed

lib/ODEProblemLibrary/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
1010
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
1111
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
1212
RuntimeGeneratedFunctions = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47"
13+
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
1314

1415
[compat]
1516
Aqua = "0.5"

src/ode/enright_pryce.jl renamed to lib/ODEProblemLibrary/src/enright_pryce.jl

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using ModelingToolkit
2-
using IfElse
3-
using Symbolics
2+
using ModelingToolkit.Symbolics
43
using Symbolics: unwrap
54
using DiffEqBase, StaticArrays, LinearAlgebra
65

@@ -124,7 +123,7 @@ sd2sys = let
124123
ODESystem(sd2eqs, t, name = :sd2)
125124
end
126125

127-
sd2prob = ODEProblem{false}(sd2sys, [y[1] => 1.0; y[2:3] .=> 0.0], (0, 40.0), dt = 1e-5, cse = true)
126+
sd2prob = ODEProblem{false}(sd2sys, [y[1] => 1.0; y[2:3] .=> 0.0], (0, 40.0), dt = 1e-5)
128127

129128
sd3sys = let
130129
sd3eqs = [D(y[1]) ~ y[3] - 100 * (y[1] * y[2]),
@@ -135,7 +134,7 @@ sd3sys = let
135134
ODESystem(sd3eqs, t, name = :sd3)
136135
end
137136

138-
sd3prob = ODEProblem{false}(sd3sys, [y[1:2] .=> 1; y[3:4] .=> 0.0], (0, 20.0), dt = 2.5e-5, cse = true)
137+
sd3prob = ODEProblem{false}(sd3sys, [y[1:2] .=> 1; y[3:4] .=> 0.0], (0, 20.0), dt = 2.5e-5)
139138

140139
sd4sys = let
141140
sd4eqs = [D(y[1]) ~ -0.013y[1] - 1000 * (y[1] * y[3]),
@@ -145,7 +144,7 @@ sd4sys = let
145144
ODESystem(sd4eqs, t, name = :sd4)
146145
end
147146

148-
sd4prob = ODEProblem{false}(sd4sys, [y[1:2] .=> 1; y[3] => 0.0], (0, 50.0), dt = 2.9e-4, cse = true)
147+
sd4prob = ODEProblem{false}(sd4sys, [y[1:2] .=> 1; y[3] => 0.0], (0, 50.0), dt = 2.9e-4)
149148

150149
sd5sys = let
151150
sd5eqs = [D(y[1]) ~ 0.01 - (1 + (y[1] + 1000) * (y[1] + 1)) * (0.01 + y[1] + y[2]),
@@ -154,7 +153,7 @@ sd5sys = let
154153
ODESystem(sd5eqs, t, name = :sd5)
155154
end
156155

157-
sd5prob = ODEProblem{false}(sd5sys, y[1:2] .=> 0.0, (0, 100.0), dt = 1e-4, cse = true)
156+
sd5prob = ODEProblem{false}(sd5sys, y[1:2] .=> 0.0, (0, 100.0), dt = 1e-4)
158157

159158
sd6sys = let
160159
sd6eqs = [D(y[1]) ~ -y[1] + 10^8 * y[3] * (1 - y[1]),
@@ -165,7 +164,7 @@ sd6sys = let
165164
ODESystem(sd6eqs, t, name = :sd6)
166165
end
167166

168-
sd6prob = ODEProblem{false}(sd6sys, [y[1] => 1.0; y[2:3] .=> 0.0], (0, 1.0), dt = 3.3e-8, cse = true)
167+
sd6prob = ODEProblem{false}(sd6sys, [y[1] => 1.0; y[2:3] .=> 0.0], (0, 1.0), dt = 3.3e-8)
169168

170169
se1sys = let
171170
Γ = 100
@@ -178,7 +177,7 @@ se1sys = let
178177
ODESystem(se1eqs, t, name = :se1)
179178
end
180179

181-
se1prob = ODEProblem{false}(se1sys, y .=> 0.0, (0, 1.0), dt = 6.8e-3, cse = true)
180+
se1prob = ODEProblem{false}(se1sys, y .=> 0.0, (0, 1.0), dt = 6.8e-3)
182181

183182
se2sys = let
184183
se2eqs = [D(y[1]) ~ y[2],
@@ -188,7 +187,7 @@ se2sys = let
188187
ODESystem(se2eqs, t, name = :se2)
189188
end
190189

191-
se2prob = ODEProblem{false}(se2sys, [y[1] => 2.0, y[2] => 0.0], (0, 1.0), dt = 1e-3, cse = true)
190+
se2prob = ODEProblem{false}(se2sys, [y[1] => 2.0, y[2] => 0.0], (0, 1.0), dt = 1e-3)
192191

193192
se3sys = let
194193
se3eqs = [D(y[1]) ~ -(55 + y[3]) * y[1] + 65 * y[2],
@@ -214,7 +213,7 @@ se4sys = let y = y
214213
ODESystem(se4eqs, t, name = :se4)
215214
end
216215

217-
se4prob = ODEProblem{false}(se4sys, [y[1] => 0.0; y[2] => -2.0; y[3:4] .=> -1.0], (0, 1000.0), dt = 1e-3, cse = true)
216+
se4prob = ODEProblem{false}(se4sys, [y[1] => 0.0; y[2] => -2.0; y[3:4] .=> -1.0], (0, 1000.0), dt = 1e-3)
218217

219218
se5sys = let
220219
se5eqs = [
@@ -227,7 +226,7 @@ se5sys = let
227226
ODESystem(se5eqs, t, name = :se5)
228227
end
229228

230-
se5prob = ODEProblem{false}(se5sys, [y[1] => 1.76e-3; y[2:4] .=> 0.0], (0, 1000.0), dt = 1e-3, cse = true)
229+
se5prob = ODEProblem{false}(se5sys, [y[1] => 1.76e-3; y[2:4] .=> 0.0], (0, 1000.0), dt = 1e-3)
231230

232231
sf1sys = let
233232
k = exp(20.7 - 1500 / y[1])
@@ -241,7 +240,7 @@ sf1sys = let
241240
ODESystem(sf1eqs, t, name = :sf1)
242241
end
243242

244-
sf1prob = ODEProblem{false}(sf1sys, [y[1] => 761.0; y[2] => 0.0; y[3] => 600.0; y[4] => 0.1], (0, 1000.0), dt = 1e-4, cse = true)
243+
sf1prob = ODEProblem{false}(sf1sys, [y[1] => 761.0; y[2] => 0.0; y[3] => 600.0; y[4] => 0.1], (0, 1000.0), dt = 1e-4)
245244

246245
sf2sys = let
247246
sf2eqs = [
@@ -252,7 +251,7 @@ sf2sys = let
252251
ODESystem(sf2eqs, t, name = :sf2)
253252
end
254253

255-
sf2prob = ODEProblem{false}(sf2sys, [y[1] => 1.0; y[2] => 0.0], (0, 240.0), dt = 1e-2, cse = true)
254+
sf2prob = ODEProblem{false}(sf2sys, [y[1] => 1.0; y[2] => 0.0], (0, 240.0), dt = 1e-2)
256255

257256
sf3sys = let
258257
sf3eqs = [
@@ -266,7 +265,7 @@ sf3sys = let
266265
ODESystem(sf3eqs, t, name = :sf3)
267266
end
268267

269-
sf3prob = ODEProblem{false}(sf3sys, [y[1] => 4e-6; y[2] => 1e-6; y[3:5] .=> 0.0], (0, 100.0), dt = 1e-6, cse = true)
268+
sf3prob = ODEProblem{false}(sf3sys, [y[1] => 4e-6; y[2] => 1e-6; y[3:5] .=> 0.0], (0, 100.0), dt = 1e-6)
270269

271270
sf4sys = let
272271
sf4eqs = [
@@ -278,7 +277,7 @@ sf4sys = let
278277
ODESystem(sf4eqs, t, name = :sf4)
279278
end
280279

281-
sf4prob = ODEProblem{false}(sf4sys, [y[1] => 4.0; y[2] => 1.1; y[3] => 4.0], (0, 300.0), dt = 1e-3, cse = true)
280+
sf4prob = ODEProblem{false}(sf4sys, [y[1] => 4.0; y[2] => 1.1; y[3] => 4.0], (0, 300.0), dt = 1e-3)
282281

283282
sf5sys = let
284283
sf5eqs = [
@@ -291,7 +290,7 @@ sf5sys = let
291290
ODESystem(sf5eqs, t, name = :sf5)
292291
end
293292

294-
sf5prob = ODEProblem{false}(sf5sys, [y[1] => 3.365e-7; y[2] => 8.261e-3; y[3] => 1.642e-3; y[4] => 9.38e-6], (0, 100.0), dt = 1e-7, cse = true)
293+
sf5prob = ODEProblem{false}(sf5sys, [y[1] => 3.365e-7; y[2] => 8.261e-3; y[3] => 1.642e-3; y[4] => 9.38e-6], (0, 100.0), dt = 1e-7)
295294

296295
# Non-stiff
297296
na1sys = let y = y[1]
@@ -300,39 +299,39 @@ na1sys = let y = y[1]
300299
ODESystem(na1eqs, t, name = :na1)
301300
end
302301

303-
na1prob = ODEProblem{false}(na1sys, [y[1] => 1], (0, 20.0), cse = true)
302+
na1prob = ODEProblem{false}(na1sys, [y[1] => 1], (0, 20.0))
304303

305304
na2sys = let y = y[1]
306305
na2eqs = D(y) ~ -y^3/2
307306

308307
ODESystem(na2eqs, t, name = :na2)
309308
end
310309

311-
na2prob = ODEProblem{false}(na2sys, [y[1] => 1], (0, 20.0), cse = true)
310+
na2prob = ODEProblem{false}(na2sys, [y[1] => 1], (0, 20.0))
312311

313312
na3sys = let y = y[1]
314313
na3eqs = D(y) ~ y * cos(t)
315314

316315
ODESystem(na3eqs, t, name = :na3)
317316
end
318317

319-
na3prob = ODEProblem{false}(na3sys, [y[1] => 1], (0, 20.0), cse = true)
318+
na3prob = ODEProblem{false}(na3sys, [y[1] => 1], (0, 20.0))
320319

321320
na4sys = let y = y[1]
322321
na4eqs = D(y) ~ y/4 * (1 - y/20)
323322

324323
ODESystem(na4eqs, t, name = :na4)
325324
end
326325

327-
na4prob = ODEProblem{false}(na4sys, [y[1] => 1], (0, 20.0), cse = true)
326+
na4prob = ODEProblem{false}(na4sys, [y[1] => 1], (0, 20.0))
328327

329328
na5sys = let y = y[1]
330329
na5eqs = D(y) ~ (y - t) / (y + t)
331330

332331
ODESystem(na5eqs, t, name = :na5)
333332
end
334333

335-
na5prob = ODEProblem{false}(na5sys, [y[1] => 4], (0, 20.0), cse = true)
334+
na5prob = ODEProblem{false}(na5sys, [y[1] => 4], (0, 20.0))
336335

337336
nb1sys = let
338337
nb1eqs = [
@@ -343,7 +342,7 @@ nb1sys = let
343342
ODESystem(nb1eqs, t, name = :nb1)
344343
end
345344

346-
nb1prob = ODEProblem{false}(nb1sys, [y[1] => 1.0, y[2] => 3], (0, 20.0), cse = true)
345+
nb1prob = ODEProblem{false}(nb1sys, [y[1] => 1.0, y[2] => 3], (0, 20.0))
347346

348347
nb2sys = let
349348
nb2eqs = [
@@ -355,7 +354,7 @@ nb2sys = let
355354
ODESystem(nb2eqs, t, name = :nb2)
356355
end
357356

358-
nb2prob = ODEProblem{false}(nb2sys, [y[1] => 2.0, y[2] => 0.0, y[3] => 1.0], (0, 20.0), cse = true)
357+
nb2prob = ODEProblem{false}(nb2sys, [y[1] => 2.0, y[2] => 0.0, y[3] => 1.0], (0, 20.0))
359358

360359
nb3sys = let
361360
nb3eqs = [
@@ -367,7 +366,7 @@ nb3sys = let
367366
ODESystem(nb3eqs, t, name = :nb3)
368367
end
369368

370-
nb3prob = ODEProblem{false}(nb3sys, [y[1] => 1.0; y[2:3] .=> 0.0], (0, 20.0), cse = true)
369+
nb3prob = ODEProblem{false}(nb3sys, [y[1] => 1.0; y[2:3] .=> 0.0], (0, 20.0))
371370

372371
nb4sys = let
373372
r = sqrt(y[1]^2 + y[2]^2)
@@ -380,7 +379,7 @@ nb4sys = let
380379
ODESystem(nb4eqs, t, name = :nb4)
381380
end
382381

383-
nb4prob = ODEProblem{false}(nb4sys, [y[1] => 3.0; y[2:3] .=> 0.0], (0, 20.0), cse = true)
382+
nb4prob = ODEProblem{false}(nb4sys, [y[1] => 3.0; y[2:3] .=> 0.0], (0, 20.0))
384383

385384
nb5sys = let
386385
nb5eqs = [
@@ -392,7 +391,7 @@ nb5sys = let
392391
ODESystem(nb5eqs, t, name = :nb5)
393392
end
394393

395-
nb5prob = ODEProblem{false}(nb5sys, [y[1] => 0.0; y[2:3] .=> 1.0], (0, 20.0), cse = true)
394+
nb5prob = ODEProblem{false}(nb5sys, [y[1] => 0.0; y[2:3] .=> 1.0], (0, 20.0))
396395

397396
nc1sys = let y = y
398397
n = 10
@@ -412,7 +411,7 @@ nc2sys = let y = y
412411
ODESystem(nc2eqs, t, name = :nc2)
413412
end
414413

415-
nc2prob = ODEProblem{false}(nc2sys, [y[1] => 1.0; y[2:10] .=> 0.0], (0, 20.0), cse = true)
414+
nc2prob = ODEProblem{false}(nc2sys, [y[1] => 1.0; y[2:10] .=> 0.0], (0, 20.0))
416415

417416
nc3sys = let y = y
418417
n = 10
@@ -422,7 +421,7 @@ nc3sys = let y = y
422421
ODESystem(nc3eqs, t, name = :nc3)
423422
end
424423

425-
nc3prob = ODEProblem{false}(nc3sys, [y[1] => 1.0; y[2:10] .=> 0.0], (0, 20.0), cse = true)
424+
nc3prob = ODEProblem{false}(nc3sys, [y[1] => 1.0; y[2:10] .=> 0.0], (0, 20.0))
426425

427426
@variables y(t)[1:51]
428427
y = collect(y)
@@ -434,7 +433,7 @@ nc4sys = let y = y
434433
ODESystem(nc4eqs, t, name = :nc4)
435434
end
436435

437-
nc4prob = ODEProblem{false}(nc4sys, [y[1] => 1.0; y[2:51] .=> 0.0], (0, 20.0), cse = true)
436+
nc4prob = ODEProblem{false}(nc4sys, [y[1] => 1.0; y[2:51] .=> 0.0], (0, 20.0))
438437

439438
@variables y(t)[1:3, 1:5]
440439
y = collect(y)
@@ -470,7 +469,7 @@ ys′ = [-0.557160570446, 0.505696783289, 0.230578543901,
470469
y0 = y .=> reshape(ys, 3, 5)
471470
y0′ = D.(y) .=> reshape(ys′, 3, 5)
472471
# The orginal paper has t_f = 20, but 1000 looks way better
473-
nc5prob = ODEProblem{false}(nc5sys, [y0; y0′], (0, 20.0), cse = true)
472+
nc5prob = ODEProblem{false}(nc5sys, [y0; y0′], (0, 20.0))
474473

475474
@variables y(t)[1:4]
476475
y = collect(y)
@@ -514,7 +513,7 @@ ne2sys = let
514513
end
515514

516515
y0 = [y[1] => 2.0; y[2] => 0.0]
517-
ne2prob = ODEProblem{false}(ne2sys, y0, (0, 20.0), cse = true)
516+
ne2prob = ODEProblem{false}(ne2sys, y0, (0, 20.0))
518517

519518
ne3sys = let
520519
ne3eqs = [D(y[1]) ~ y[2],

0 commit comments

Comments
 (0)