Skip to content

Commit 58707bb

Browse files
Merge pull request #180 from ChrisRackauckas-Claude/fix-brusselator-1d
Fix prob_ode_brusselator_1d: undefined N, vector dx, missing BCs
2 parents 2de13b6 + 8b3ae79 commit 58707bb

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

lib/ODEProblemLibrary/src/brusselator_prob.jl

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,10 @@ const N_brusselator_1d = 40
116116
function 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] - 2u[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] - 2u[i, 2]) +
@@ -155,12 +156,12 @@ v(x,0) &= 3
155156
\end{align*}
156157
```
157158
158-
with the boundary condition
159+
with periodic boundary conditions
159160
160161
```math
161162
\begin{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
\end{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

Comments
 (0)