26 lines
537 B
Julia
26 lines
537 B
Julia
module Laplacian
|
|
|
|
"""
|
|
laplacian(U::AbstractMatrix{<:Real}, dx::Real)
|
|
|
|
laplacian operator implemented in code
|
|
|
|
# Arguments:
|
|
- `U`: activator or inhibitor matrix
|
|
- `dx`: dx
|
|
"""
|
|
function laplacian(U::AbstractMatrix{<:Real}, dx::Real)
|
|
h2 = dx^2
|
|
center = U[2:end-1, 2:end-1]
|
|
up = U[1:end-2, 2:end-1]
|
|
down = U[3:end, 2:end-1]
|
|
left = U[2:end-1, 1:end-2]
|
|
right = U[2:end-1, 3:end]
|
|
|
|
return (up .+ down .+ left .+ right .- 4 .* center) ./ h2
|
|
end
|
|
|
|
export laplacian
|
|
|
|
end # module Laplacian
|