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.
Copy file name to clipboardExpand all lines: src/derivative_operators/BC_operators.jl
+8-31Lines changed: 8 additions & 31 deletions
Original file line number
Diff line number
Diff line change
@@ -3,29 +3,6 @@ abstract type AbstractBC{T} end
3
3
# robin, general, and in general neumann BCs are all affine opeartors, meaning that they take the form Qx = Qax + Qb. neumann0 is not however; is a specialization needed?
@@ -75,7 +50,6 @@ This time there are multiple stencils for multiple derivative orders - these can
75
50
All components that multiply u(0) are factored out, turns out to only involve the first colum of S, s̄0. The rest of S is denoted S`. the coeff of u(0) is s̄0⋅ᾱ[3:end] + α[2].
76
51
the remaining components turn out to be ᾱ[3:end]⋅(S`ū`) or equivalantly (transpose(ᾱ[3:end])*S`)⋅ū`. Rearranging, a stencil q_a to be dotted with ū` upon extension can readily be found, along with a constant component q_b
77
52
"""
78
-
#If you know a more correct name for this kind of BC, please post an issue/PR
NeumannBC([l::T, r::T], [dx_l,dx_r], order) where T =RobinBC([zero(T), one(T), l], [zero(T), one(T), r], [dx_l,dx_r], order)
87
+
NeumannBC([l::T, r::T], [dx_l,dx_r]) where T =RobinBC([zero(T), one(T), l], [zero(T), one(T), r], [dx_l,dx_r])
88
+
89
+
DirichletBC([l::T, r::T], [dx_l,dx_r], order) where T =RobinBC([one(T), zero(T), l], [one(T), zero(T), r], [dx_l,dx_r], order)
90
+
DirichletBC([l::T, r::T], [dx_l,dx_r]) where T =RobinBC([one(T), zero(T), l], [one(T), zero(T), r], [dx_l,dx_r])
91
+
92
+
93
+
112
94
# other acceptable argument signatures
113
95
RobinBC(al::T, bl::T, cl::T, dx_l::T, ar::T, br::T, cr::T, dx_r::T) where T =RobinBC([al,bl,cl], [ar, br, cr], [dx_l, dx_r])
114
96
RobinBC(al::T, bl::T, cl::T, dx_l::T, ar::T, br::T, cr::T, dx_r::T, order::T) where T =RobinBC([al,bl,cl], [ar, br, cr], [dx_l, dx_r], order)
115
97
116
-
NeumannBC(l::T, dx_l::T, r::T, dx_r::T) where T =NeumannBC(l, r, [dx_l,dx_r])
117
-
NeumannBC(l::T, dx_l::T, r::T, dx_r::T, order::T) where T =NeumannBC(l, r, [dx_l,dx_r], order)
118
-
119
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