comparison diffOp.jl @ 9:aafc4bdbe675

Add h in stencil application
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 17 Dec 2018 14:44:17 +0100
parents 433008d3b7d3
children 10a5e7c77fb8
comparison
equal deleted inserted replaced
8:433008d3b7d3 9:aafc4bdbe675
27 a 27 a
28 op 28 op
29 end 29 end
30 30
31 # u = L*v 31 # u = L*v
32 function apply(L::Laplace1D, u::AbstractVector, v::AbstractVector)::AbstractVector 32 function apply(L::Laplace1D, u::AbstractVector, v::AbstractVector)
33 N = closureSize(L.op) 33 N = closureSize(L.op)
34 M = length(v) 34 M = length(v)
35 35
36 h = scaling(L.grid)
37
36 for i ∈ 1:N 38 for i ∈ 1:N
37 u[i] = apply(L.op.closureStencils[i], v, i) 39 u[i] = apply(L.op.closureStencils[i], v, i)/h^2
38 end 40 end
39 41
40 for i ∈ N+1:M-N 42 for i ∈ N+1:M-N
41 u[i] = apply(L.op.innerStencil, i); 43 u[i] = apply(L.op.innerStencil, i)/h^2
42 end 44 end
43 45
44 for i ∈ M:-1:M-N+1 46 for i ∈ M:-1:M-N+1
45 u[i] = apply(flip(L.op.closureStencils[M-i+1]), v, i) 47 u[i] = apply(flip(L.op.closureStencils[M-i+1]), v, i)/h^2
46 end 48 end
49
50 return nothing
47 end 51 end