4747# ##########################################
4848
4949# Against A BC-padded vector, specialize the computation to explicitly use the left, right, and middle parts
50- function convolve_interior! (x_temp:: AbstractVector{T} , _x:: RobinBCExtended , A:: DerivativeOperator{T,S} ) where {T<: Real ,S<: SVector }
50+ function convolve_interior! (x_temp:: AbstractVector{T} , _x:: BoundaryPaddedVector , A:: DerivativeOperator{T,S} ) where {T<: Real ,S<: SVector }
5151 coeffs = A. stencil_coefs
5252 x = _x. u
5353 mid = div (A. stencil_length,2 ) + 1
@@ -61,7 +61,7 @@ function convolve_interior!(x_temp::AbstractVector{T}, _x::RobinBCExtended, A::D
6161 end
6262end
6363
64- function convolve_BC_left! (x_temp:: AbstractVector{T} , _x:: RobinBCExtended , A:: DerivativeOperator{T,S} ) where {T<: Real ,S<: SVector }
64+ function convolve_BC_left! (x_temp:: AbstractVector{T} , _x:: BoundaryPaddedVector , A:: DerivativeOperator{T,S} ) where {T<: Real ,S<: SVector }
6565 coeffs = A. low_boundary_coefs
6666 Threads. @threads for i in 1 : A. boundary_length
6767 xtempi = coeffs[i][1 ]* x. l
@@ -72,7 +72,7 @@ function convolve_BC_left!(x_temp::AbstractVector{T}, _x::RobinBCExtended, A::De
7272 end
7373end
7474
75- function convolve_BC_right! (x_temp:: AbstractVector{T} , _x:: RobinBCExtended , A:: DerivativeOperator{T,S} ) where {T<: Real ,S<: SVector }
75+ function convolve_BC_right! (x_temp:: AbstractVector{T} , _x:: BoundaryPaddedVector , A:: DerivativeOperator{T,S} ) where {T<: Real ,S<: SVector }
7676 coeffs = A. low_boundary_coefs
7777 bc_start = length (x. u) - A. stencil_length
7878 Threads. @threads for i in 1 : A. boundary_length
0 commit comments