Mercurial > repos > public > sbplib_julia
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