comparison src/SbpOperators/quadrature/inverse_diagonal_quadrature.jl @ 557:3c18a15934a7 feature/quadrature_as_outer_product

Merge in default
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Sun, 29 Nov 2020 21:52:44 +0100
parents src/SbpOperators/quadrature/inverse_diagonal_inner_product.jl@011ca1639153 src/SbpOperators/quadrature/inverse_diagonal_inner_product.jl@576c6d1acc28
children 9b5710ae6587
comparison
equal deleted inserted replaced
554:dab9df9c4d66 557:3c18a15934a7
49 49
50 function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index{Interior}) where T 50 function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index{Interior}) where T
51 return @inbounds Hi.h_inv*v[Int(I)] 51 return @inbounds Hi.h_inv*v[Int(I)]
52 end 52 end
53 53
54 function LazyTensors.apply(Hi::InverseDiagonalQuadrature, v::AbstractVector{T}, index::Index{Unknown}) where T 54 function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, i) where T
55 N = length(v); 55 N = length(v);
56 r = getregion(Int(index), closure_size(Hi), N) 56 r = getregion(i, closure_size(Hi), N)
57 i = Index(Int(index), r) 57 return LazyTensors.apply(Hi, v, Index(i, r))
58 return LazyTensors.apply(Hi, v, i)
59 end 58 end
60 59
61 LazyTensors.apply_transpose(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index) where T = LazyTensors.apply(Hi,v,I) 60 LazyTensors.apply_transpose(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, i) where T = LazyTensors.apply(Hi,v,i)
62 61
63 """ 62 """
64 closure_size(H) 63 closure_size(H)
65 Returns the size of the closure stencil of a InverseDiagonalQuadrature `Hi`. 64 Returns the size of the closure stencil of a InverseDiagonalQuadrature `Hi`.
66 """ 65 """
67 closure_size(Hi::InverseDiagonalQuadrature{T,M}) where {T,M} = M 66 closure_size(Hi::InverseDiagonalQuadrature{T,M}) where {T,M} = M
68 export closure_size