Mercurial > repos > public > sbplib_julia
changeset 548:9330338d6ab5 refactor/tensor_index_coupling
Align index naming
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Sat, 28 Nov 2020 17:07:15 +0100 |
parents | 53828d3ed132 |
children | dfcf0e506ba9 |
files | src/SbpOperators/laplace/secondderivative.jl |
diffstat | 1 files changed, 7 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/SbpOperators/laplace/secondderivative.jl Sat Nov 28 17:03:01 2020 +0100 +++ b/src/SbpOperators/laplace/secondderivative.jl Sat Nov 28 17:07:15 2020 +0100 @@ -21,24 +21,23 @@ LazyTensors.domain_size(D2::SecondDerivative) = D2.size # Apply for different regions Lower/Interior/Upper or Unknown region -function LazyTensors.apply(D2::SecondDerivative{T}, v::AbstractVector{T}, I::Index{Lower}) where T - return @inbounds D2.h_inv*D2.h_inv*apply_stencil(D2.closureStencils[Int(I)], v, Int(I)) +function LazyTensors.apply(D2::SecondDerivative{T}, v::AbstractVector{T}, i::Index{Lower}) where T + return @inbounds D2.h_inv*D2.h_inv*apply_stencil(D2.closureStencils[Int(i)], v, Int(i)) end -function LazyTensors.apply(D2::SecondDerivative{T}, v::AbstractVector{T}, I::Index{Interior}) where T - return @inbounds D2.h_inv*D2.h_inv*apply_stencil(D2.innerStencil, v, Int(I)) +function LazyTensors.apply(D2::SecondDerivative{T}, v::AbstractVector{T}, i::Index{Interior}) where T + return @inbounds D2.h_inv*D2.h_inv*apply_stencil(D2.innerStencil, v, Int(i)) end -function LazyTensors.apply(D2::SecondDerivative{T}, v::AbstractVector{T}, I::Index{Upper}) where T +function LazyTensors.apply(D2::SecondDerivative{T}, v::AbstractVector{T}, i::Index{Upper}) where T N = length(v) # TODO: Use domain_size here instead? N = domain_size(D2,size(v)) - return @inbounds D2.h_inv*D2.h_inv*apply_stencil_backwards(D2.closureStencils[N-Int(I)+1], v, Int(I)) + return @inbounds D2.h_inv*D2.h_inv*apply_stencil_backwards(D2.closureStencils[N-Int(i)+1], v, Int(i)) end function LazyTensors.apply(D2::SecondDerivative{T}, v::AbstractVector{T}, i) where T N = length(v) # TODO: Use domain_size here instead? r = getregion(i, closuresize(D2), N) - I = Index(i, r) - return LazyTensors.apply(D2, v, I) + return LazyTensors.apply(D2, v, Index(i, r)) end closuresize(D2::SecondDerivative{T,N,M,K}) where {T<:Real,N,M,K} = M