diff --git a/src/fhn_solver.jl b/src/fhn_solver.jl index 4118c01..8afee64 100644 --- a/src/fhn_solver.jl +++ b/src/fhn_solver.jl @@ -36,6 +36,7 @@ function fhn!(du, u, p::FHNParams, t) end function step!(U, V, params_obs::Observable; dx=1) + """ p = params_obs[] # Flatten initial condition (activation u, recovery v) @@ -55,6 +56,20 @@ function step!(U, V, params_obs::Observable; dx=1) U .= u_new V .= v_new + return U + """ + + params = params_obs[] + + Δu = reshape(Laplacian.laplacian(U, params.N, params.dx), params.N, params.N) + Δv = reshape(Laplacian.laplacian(V, params.N, params.dx), params.N, params.N) + + fu = params.Du * Δu .+ U .- (U .^ 3) ./ 3 .- V + fv = params.Dv * Δv .+ params.ϵ .* (U .+ params.a .- params.b .* V) + + U .+= 0.1 .* fu + V .+= 0.1 .* fv + return U end