@@ -116,9 +116,10 @@ const N_brusselator_1d = 40
116116function brusselator_1d_loop (du, u, p, t)
117117 A, B, alpha, dx = p
118118 alpha = alpha / dx^ 2
119- return @inbounds for i in 2 : (N - 1 )
120- x = xyd_brusselator[i]
121- ip1, im1 = i + 1 , i - 1
119+ N = N_brusselator_1d
120+ @inbounds for i in 1 : N
121+ ip1 = limit (i + 1 , N)
122+ im1 = limit (i - 1 , N)
122123 du[i, 1 ] = alpha * (u[im1, 1 ] + u[ip1, 1 ] - 2 u[i, 1 ]) +
123124 A + u[i, 1 ]^ 2 * u[i, 2 ] - (B + 1 ) * u[i, 1 ]
124125 du[i, 2 ] = alpha * (u[im1, 2 ] + u[ip1, 2 ] - 2 u[i, 2 ]) +
@@ -155,12 +156,12 @@ v(x,0) &= 3
155156\e nd{align*}
156157```
157158
158- with the boundary condition
159+ with periodic boundary conditions
159160
160161```math
161162\b egin{align*}
162- u(0,t) = u(1,t) = 1 \\
163- v(0,t) = v(1,t) = 3
163+ u(0,t) & = u(1,t) \\
164+ v(0,t) & = v(1,t)
164165\e nd{align*}
165166```
166167
@@ -170,5 +171,5 @@ prob_ode_brusselator_1d = ODEProblem(
170171 brusselator_1d_loop,
171172 init_brusselator_1d (N_brusselator_1d),
172173 (0.0 , 10.0 ),
173- (1.0 , 3.0 , 1 / 41 , zeros ( N_brusselator_1d) )
174+ (1.0 , 3.0 , 0.02 , 1.0 / N_brusselator_1d)
174175)
0 commit comments