changeset 107:e3e32299fe72 cell_based_test

Replace loop in appl!(::Laplace) to avoid allocations
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 08 Feb 2019 11:17:27 +0100
parents 8010aadc4ff1
children d0a28888528a
files diffOp.jl
diffstat 1 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/diffOp.jl	Fri Feb 08 10:59:01 2019 +0100
+++ b/diffOp.jl	Fri Feb 08 11:17:27 2019 +0100
@@ -68,12 +68,15 @@
 end
 
 function apply!(L::Laplace{2}, u::AbstractArray{T,2}, v::AbstractArray{T,2}) where T
-    regions = (Lower, Interior, Upper)
-    for r1 ∈ regions
-        for r2 ∈ regions
-            apply!(L, u, v, r1, r2)
-        end
-    end
+    apply!(L, u, v, Lower, Lower)
+    apply!(L, u, v, Lower, Interior)
+    apply!(L, u, v, Lower, Upper)
+    apply!(L, u, v, Interior, Lower)
+    apply!(L, u, v, Interior, Interior)
+    apply!(L, u, v, Interior, Upper)
+    apply!(L, u, v, Upper, Lower)
+    apply!(L, u, v, Upper, Interior)
+    apply!(L, u, v, Upper, Upper)
     return nothing
 end