@@ -3,15 +3,15 @@ using OrdinaryDiffEq, ModelingToolkit, SparseArrays
3
3
N = 3
4
4
xyd_brusselator = range (0 , stop = 1 , length = N)
5
5
brusselator_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))
7
7
function brusselator_2d_loop (du, u, p, t)
8
8
A, B, alpha, dx = p
9
9
alpha = alpha / dx^ 2
10
10
@inbounds for I in CartesianIndices ((N, N))
11
11
i, j = Tuple (I)
12
12
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)
15
15
du[i, j, 1 ] = alpha * (u[im1, j, 1 ] + u[ip1, j, 1 ] + u[i, jp1, 1 ] + u[i, jm1, 1 ] -
16
16
4 u[i, j, 1 ]) +
17
17
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)
84
84
@test eltype (prob. f. jac_prototype) == Float32
85
85
86
86
@testset " W matrix sparsity" begin
87
+ t = ModelingToolkit. t_nounits
87
88
@parameters g
88
89
@variables x (t) y (t) [state_priority = 10 ] λ (t)
89
90
eqs = [D (D (x)) ~ λ * x
0 commit comments