Skip to content
This repository was archived by the owner on Jul 19, 2023. It is now read-only.

Commit 7a6183b

Browse files
committed
removed orth_perm, reset Robin/General to use regular vectors
1 parent c4041c8 commit 7a6183b

File tree

2 files changed

+8
-23
lines changed

2 files changed

+8
-23
lines changed

src/derivative_operators/BC_operators.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ struct RobinBC{T, V<:AbstractVector{T}} <: AffineBC{T}
4848

4949
s = calculate_weights(1, one(T), Array(one(T):convert(T,order+1))) #generate derivative coefficients about the boundary of required approximation order
5050

51-
a_l = SVector{length(s)-1}(-s[2:end]./(αl*dx/βl + s[1]))
52-
a_r = SVector{length(s)-1}(s[end:-1:2]./(αr*dx/βr - s[1])) # for other boundary stencil is flippedlr with *opposite sign*
51+
a_l = -s[2:end]./(αl*dx/βl + s[1])
52+
a_r = s[end:-1:2]./(αr*dx/βr - s[1]) # for other boundary stencil is flippedlr with *opposite sign*
5353

5454
b_l = γl/(αl+βl*s[1]/dx)
5555
b_r = γr/(αr-βr*s[1]/dx)
@@ -67,8 +67,8 @@ struct RobinBC{T, V<:AbstractVector{T}} <: AffineBC{T}
6767
denom_l = αl+βl*s[1]/dx_l[1]
6868
denom_r = αr-βr*s[1]/dx_r[end]
6969

70-
a_l = SVector{length(s)-1}(-βl.*s[2:end]./(denom_l*dx_l[2:end]))
71-
a_r = SVector{length(s)-1}(βr.*s[end:-1:2]./(denom_r*dx_r[1:(end-1)])) # for other boundary stencil is flippedlr with *opposite sign*
70+
a_l = -βl.*s[2:end]./(denom_l*dx_l[2:end])
71+
a_r = βr.*s[end:-1:2]./(denom_r*dx_r[1:(end-1)]) # for other boundary stencil is flippedlr with *opposite sign*
7272

7373
b_l = γl/denom_l
7474
b_r = γr/denom_r
@@ -115,8 +115,8 @@ struct GeneralBC{T, L<:AbstractVector{T}, R<:AbstractVector{T}} <:AffineBC{T}
115115
denoml = αl[2] .+ αl[3:end] s0_l
116116
denomr = αr[2] .+ αr[3:end] s0_r
117117

118-
a_l = SVector{order+nl-3}(-transpose(transpose(αl[3:end]) * Sl) ./denoml)
119-
a_r = SVector{order+nr-3}(reverse(-transpose(transpose(αr[3:end]) * Sr) ./denomr))
118+
a_l = -transpose(transpose(αl[3:end]) * Sl) ./denoml
119+
a_r = reverse(-transpose(transpose(αr[3:end]) * Sr) ./denomr)
120120

121121
b_l = -αl[1]/denoml
122122
b_r = -αr[1]/denomr
@@ -144,8 +144,8 @@ struct GeneralBC{T, L<:AbstractVector{T}, R<:AbstractVector{T}} <:AffineBC{T}
144144
denoml = αl[2] .+ αl[3:end] s0_l
145145
denomr = αr[2] .+ αr[3:end] s0_r
146146

147-
a_l = SVector{order+nl-3}(-transpose(transpose(αl[3:end]) * Sl) ./denoml)
148-
a_r = SVector{order+nr-3}(reverse(-transpose(transpose(αr[3:end]) * Sr) ./denomr))
147+
a_l = -transpose(transpose(αl[3:end]) * Sl) ./denoml
148+
a_r = reverse(-transpose(transpose(αr[3:end]) * Sr) ./denomr)
149149

150150
b_l = -αl[1]/denoml
151151
b_r = -αr[1]/denomr

src/utils.jl

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,6 @@ function and(B::NTuple{N, Bool}) where N
4040
return true
4141
end
4242

43-
"""
44-
A function to generate the correct permutation to flip an array of dimension `N` to be orthogonal to `dim`, when the Nth dimension is a singleton
45-
"""
46-
function orth_perm(N::Int, dim::Int)
47-
if dim == N
48-
return Vector(1:N)
49-
elseif dim < N
50-
P = orth_perm(N, dim+1)
51-
P[dim], P[dim+1] = P[dim+1], P[dim]
52-
return P
53-
else
54-
throw("Dim is greater than N!")
55-
end
56-
end
57-
5843
"""
5944
A function that creates a tuple of CartesianIndices of unit length and `N` dimensions, one pointing along each dimension
6045
"""

0 commit comments

Comments
 (0)