You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 19, 2023. It is now read-only.
sl=calculate_weights(1, one(T), Array(one(T):convert(T,order+1))) #generate derivative coefficients about the boundary of required approximation order
34
+
s=calculate_weights(1, one(T), Array(one(T):convert(T,order+1))) #generate derivative coefficients about the boundary of required approximation order
35
35
36
-
a_l =-bl.*sl[2:end]./(al .+ bl*sl[1]./dx_l)
37
-
a_r =br.*s[end:-1:2]./(ar .- br*s[1]./dx_r) # for other boundary stencil is flippedlr with *opposite sign*
36
+
a_l =-s[2:end]./(1+al*dx_l*s[1]/bl)
37
+
a_r = s[end:-1:2]./(1-ar*dx_r*s[1]/br) # for other boundary stencil is flippedlr with *opposite sign*
38
38
39
39
b_l = cl/(al+bl*s[1]/dx_l)
40
40
b_r = cr/(ar-br*s[1]/dx_r)
@@ -93,7 +93,7 @@ DirichletBC(α::AbstractVector{T}, dx::AbstractVector{T}, order) where T = Robin
93
93
DirichletBC(α::AbstractVector{T}, dx::AbstractVector{T}) where T =RobinBC([one(T), zero(T), α[1]], [one(T), zero(T), α[2]], dx)
94
94
95
95
# other acceptable argument signatures
96
-
RobinBC(al::T, bl::T, cl::T, dx_l::T, ar::T, br::T, cr::T, dx_r::T, order=1) where T =RobinBC([al,bl,cl], [ar, br, cr], [dx_l, dx_r], order)
96
+
RobinBC(al::T, bl::T, cl::T, dx_l::T, ar::T, br::T, cr::T, dx_r::T, order=1) where T =RobinBC([cl,al,bl], [cr, ar, br], [dx_l, dx_r], order)
97
97
98
98
# this is 'boundary padded vector' as opposed to 'boundary padded array' to distinguish it from the n dimensional implementation that will eventually be neeeded
0 commit comments