function fhn!(du, u, p::FHNParams, t) N, dx = p.N, p.dx u_mat = reshape(u[1:N^2], N, N) v_mat = reshape(u[N^2+1:end], N, N) Δu = laplacian(u_mat) / dx^2 Δv = laplacian(v_mat) / dx^2 fu = p.Du * Δu .+ u_mat .- u_mat .^ 3 ./ 3 .- v_mat fv = p.Dv * Δv .+ p.ε * (u_mat .+ p.a .- p.b .* v_mat) du .= vcat(vec(fu), vec(fv)) end