changeset 561:04d7b4eb63ef feature/quadrature_as_outer_product

Merge with default
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Mon, 30 Nov 2020 16:28:32 +0100
parents 08e27dee76c3 (current diff) d1929491180b (diff)
children a78bda7084f6
files src/SbpOperators/quadrature/diagonal_quadrature.jl src/SbpOperators/quadrature/inverse_diagonal_quadrature.jl
diffstat 2 files changed, 8 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/SbpOperators/constantstenciloperator.jl	Sun Nov 29 22:42:23 2020 +0100
+++ b/src/SbpOperators/constantstenciloperator.jl	Mon Nov 30 16:28:32 2020 +0100
@@ -28,8 +28,7 @@
 
 function apply_quadrature(op::ConstantStencilOperator, h::Real, v::T, i, N::Integer) where T
     r = getregion(i, closuresize(op), N)
-    i = Index(i, r)
-    return apply_quadrature(op, h, v, i, N)
+    return apply_quadrature(op, h, v, Index(i, r), N)
 end
 export apply_quadrature
 
@@ -40,8 +39,7 @@
 
 function apply_inverse_quadrature(op::ConstantStencilOperator, h_inv::Real, v::T, i, N::Integer) where T
     r = getregion(i, closuresize(op), N)
-    i = Index(i, r)
-    return apply_inverse_quadrature(op, h_inv, v, i, N)
+    return apply_inverse_quadrature(op, h_inv, v, Index(i, r), N)
 end
 
 export apply_inverse_quadrature
--- a/src/SbpOperators/quadrature/inverse_diagonal_quadrature.jl	Sun Nov 29 22:42:23 2020 +0100
+++ b/src/SbpOperators/quadrature/inverse_diagonal_quadrature.jl	Mon Nov 30 16:28:32 2020 +0100
@@ -61,17 +61,17 @@
 `Lower`,`Interior`,`Upper`. If `i` is another type of index (e.g an `Int`) it will first
 be converted to an `Index{R}`.
 """
-function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index{Lower}) where T
-    return @inbounds Hi.h_inv*Hi.closure[Int(I)]*v[Int(I)]
+function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, i::Index{Lower}) where T
+    return @inbounds Hi.h_inv*Hi.closure[Int(i)]*v[Int(i)]
 end
 
-function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index{Upper}) where T
+function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, i::Index{Upper}) where T
     N = length(v);
-    return @inbounds Hi.h_inv*Hi.closure[N-Int(I)+1]*v[Int(I)]
+    return @inbounds Hi.h_inv*Hi.closure[N-Int(i)+1]*v[Int(i)]
 end
 
-function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index{Interior}) where T
-    return @inbounds Hi.h_inv*v[Int(I)]
+function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, i::Index{Interior}) where T
+    return @inbounds Hi.h_inv*v[Int(i)]
 end
 
 function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T},  v::AbstractVector{T}, i) where T