replaced solver with faster solution
parent
a4f09dc79b
commit
509417bc54
|
|
@ -36,6 +36,7 @@ function fhn!(du, u, p::FHNParams, t)
|
||||||
end
|
end
|
||||||
|
|
||||||
function step!(U, V, params_obs::Observable; dx=1)
|
function step!(U, V, params_obs::Observable; dx=1)
|
||||||
|
"""
|
||||||
p = params_obs[]
|
p = params_obs[]
|
||||||
|
|
||||||
# Flatten initial condition (activation u, recovery v)
|
# Flatten initial condition (activation u, recovery v)
|
||||||
|
|
@ -55,6 +56,20 @@ function step!(U, V, params_obs::Observable; dx=1)
|
||||||
U .= u_new
|
U .= u_new
|
||||||
V .= v_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
|
return U
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue