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

Commit e62834b

Browse files
Merge pull request #337 from mjsheikh/generalbc
GeneralBC
2 parents d39fbb1 + c085564 commit e62834b

2 files changed

Lines changed: 8 additions & 3 deletions

File tree

src/derivative_operators/bc_operators.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,11 @@ struct GeneralBC{T, L<:AbstractVector{T}, R<:AbstractVector{T}} <:AffineBC{T}
117117
S_r = zeros(T, (nr-2, order+nr-2))
118118

119119
for i in 1:(nl-2)
120-
S_l[i,:] = [transpose(calculate_weights(i, one(T), Array(one(T):convert(T, order+i)))) transpose(zeros(T, Int(nl-2-i)))]./(dx_l.^i)
120+
S_l[i,:] = [transpose(calculate_weights(i, one(T), Array(one(T):convert(T, order+i)))) transpose(zeros(T, Int(nl-2-i)))]./transpose(dx_l.^i)
121121
end
122122

123123
for i in 1:(nr-2)
124-
S_r[i,:] = [transpose(calculate_weights(i, convert(T, order+i), Array(one(T):convert(T, order+i)))) transpose(zeros(T, Int(nr-2-i)))]./(dx_r.^i)
124+
S_r[i,:] = [transpose(calculate_weights(i, convert(T, order+i), Array(one(T):convert(T, order+i)))) transpose(zeros(T, Int(nr-2-i)))]./transpose(dx_r.^i)
125125
end
126126
s0_l = S_l[:,1] ; Sl = S_l[:,2:end]
127127
s0_r = S_r[:,end] ; Sr = S_r[:,(end-1):-1:1]

test/robin.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,20 @@ end
9292
u0 = -4/10
9393
uend = 125/12
9494
u = Vector(1.0:10.0)
95+
h = ones(10) # Vector step
9596
Q = RobinBC((1.0, 6.0, 10.0), (1.0, 6.0, 10.0), 1.0, 3)
9697
urobinextended = Q*u
9798
@test urobinextended.l u0
9899
@test urobinextended.r uend
99100
# General BC should be equivalent
100101
G = GeneralBC([-10.0, 1.0, 6.0], [-10.0, 1.0, 6.0], 1.0, 3)
102+
G2 = GeneralBC([-10.0, 1.0, 6.0], [-10.0, 1.0, 6.0], h, 3) # Operator for Vector step
103+
101104
ugeneralextended = G*u
105+
ugeneralextended2 = G2*u
102106
@test ugeneralextended.l u0
103107
@test ugeneralextended.r uend
104-
108+
@test ugeneralextended2.l u0
109+
@test ugeneralextended2.r uend
105110

106111
#TODO: Implement tests for BC's that are contingent on the sign of the coefficient on the operator near the boundary

0 commit comments

Comments
 (0)