@@ -3,15 +3,15 @@ using OrdinaryDiffEq, ModelingToolkit, SparseArrays
33N = 3
44xyd_brusselator = range (0 , stop = 1 , length = N)
55brusselator_f (x, y, t) = (((x - 0.3 )^ 2 + (y - 0.6 )^ 2 ) <= 0.1 ^ 2 ) * (t >= 1.1 ) * 5.0
6- limit (a, N) = ModelingToolkit. ifelse (a == N + 1 , 1 , ModelingToolkit. ifelse (a == 0 , N, a))
6+ lim (a, N) = ModelingToolkit. ifelse (a == N + 1 , 1 , ModelingToolkit. ifelse (a == 0 , N, a))
77function brusselator_2d_loop (du, u, p, t)
88 A, B, alpha, dx = p
99 alpha = alpha / dx^ 2
1010 @inbounds for I in CartesianIndices ((N, N))
1111 i, j = Tuple (I)
1212 x, y = xyd_brusselator[I[1 ]], xyd_brusselator[I[2 ]]
13- ip1, im1, jp1, jm1 = limit (i + 1 , N), limit (i - 1 , N), limit (j + 1 , N),
14- limit (j - 1 , N)
13+ ip1, im1, jp1, jm1 = lim (i + 1 , N), lim (i - 1 , N), lim (j + 1 , N),
14+ lim (j - 1 , N)
1515 du[i, j, 1 ] = alpha * (u[im1, j, 1 ] + u[ip1, j, 1 ] + u[i, jp1, 1 ] + u[i, jm1, 1 ] -
1616 4 u[i, j, 1 ]) +
1717 B + u[i, j, 1 ]^ 2 * u[i, j, 2 ] - (A + 1 ) * u[i, j, 1 ] +
@@ -84,6 +84,7 @@ prob = ODEProblem(sys, u0, (0, 11.5), sparse = true, jac = true)
8484@test eltype (prob. f. jac_prototype) == Float32
8585
8686@testset " W matrix sparsity" begin
87+ t = ModelingToolkit. t_nounits
8788 @parameters g
8889 @variables x (t) y (t) [state_priority = 10 ] λ (t)
8990 eqs = [D (D (x)) ~ λ * x
0 commit comments