comparison test/testSbpOperators.jl @ 562:8f7919a9b398 feature/boundary_ops

Merge with default
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Mon, 30 Nov 2020 18:30:24 +0100
parents 884be64e82d9
children 15423a868d28
comparison
equal deleted inserted replaced
544:884be64e82d9 562:8f7919a9b398
182 e_r = BoundaryRestriction(g,op.eClosure,Upper()) 182 e_r = BoundaryRestriction(g,op.eClosure,Upper())
183 183
184 v = evalOn(g,x->1+x^2) 184 v = evalOn(g,x->1+x^2)
185 u = fill(3.124) 185 u = fill(3.124)
186 186
187 @test (e_l*v)[Index{Lower}(1)] == v[1] 187 @test (e_l*v)[] == v[1]
188 @test (e_r*v)[Index{Upper}(4)] == v[end] 188 @test (e_r*v)[] == v[end]
189 @test e_l'*u == [u[], 0, 0, 0] 189 @test e_l'*u == [u[], 0, 0, 0]
190 @test e_r'*u == [0, 0, 0, u[]] 190 @test e_r'*u == [0, 0, 0, u[]]
191 @test_throws BoundsError (e_l*v)[Index{Lower}(3)] 191 @test_throws BoundsError (e_l*v)[Index{Lower}(3)]
192 @test_throws BoundsError (e_r*v)[Index{Upper}(3)] 192 @test_throws BoundsError (e_r*v)[Index{Upper}(3)]
193 193
216 @test range_size(e_w) == (5,) 216 @test range_size(e_w) == (5,)
217 @test range_size(e_e) == (5,) 217 @test range_size(e_e) == (5,)
218 @test range_size(e_s) == (4,) 218 @test range_size(e_s) == (4,)
219 @test range_size(e_n) == (4,) 219 @test range_size(e_n) == (4,)
220 220
221 I_w = [(Index{Lower}(1),Index{Lower}(1)), 221 I_w = [(Index{Lower}(1),),
222 (Index{Lower}(1),Index{Interior}(2)), 222 (Index{Interior}(2),),
223 (Index{Lower}(1),Index{Interior}(3)), 223 (Index{Interior}(3),),
224 (Index{Lower}(1),Index{Interior}(4)), 224 (Index{Interior}(4),),
225 (Index{Lower}(1),Index{Upper}(5))] 225 (Index{Upper}(5),)]
226 v_w = [10,7,4,1.0,1]; 226 v_w = [10,7,4,1.0,1];
227 for i = 1:length(I_w) 227 for i = 1:length(I_w)
228 @test_broken (e_w*v)[I_w[i]...] == v_w[i]; 228 @test (e_w*v)[I_w[i]...] == v_w[i];
229 end 229 end
230 @test_broken e_w*v == [10,7,4,1.0,1] 230 @test e_w*v == [10,7,4,1.0,1]
231 @test_broken e_e*v == [13,10,7,4,4.0] 231 @test e_e*v == [13,10,7,4,4.0]
232 @test_broken e_s*v == [10,11,12,13.0] 232 @test e_s*v == [10,11,12,13.0]
233 @test_broken e_n*v == [1,2,3,4.0] 233 @test e_n*v == [1,2,3,4.0]
234 234
235 g_x = [1,2,3,4.0] 235 g_x = [1,2,3,4.0]
236 g_y = [5,4,3,2,1.0] 236 g_y = [5,4,3,2,1.0]
237 237
238 G_w = zeros(Float64, (4,5)) 238 G_w = zeros(Float64, (4,5))
245 G_s[:,1] = g_x 245 G_s[:,1] = g_x
246 246
247 G_n = zeros(Float64, (4,5)) 247 G_n = zeros(Float64, (4,5))
248 G_n[:,5] = g_x 248 G_n[:,5] = g_x
249 249
250 @test_broken e_w'*g_y == G_w 250 @test e_w'*g_y == G_w
251 @test_broken e_e'*g_y == G_e 251 @test e_e'*g_y == G_e
252 @test_broken e_s'*g_x == G_s 252 @test e_s'*g_x == G_s
253 @test_broken e_n'*g_x == G_n 253 @test e_n'*g_x == G_n
254 end 254 end
255 # 255 #
256 # @testset "NormalDerivative" begin 256 # @testset "NormalDerivative" begin
257 # op = readOperator(sbp_operators_path()*"d2_4th.txt",sbp_operators_path()*"h_4th.txt") 257 # op = readOperator(sbp_operators_path()*"d2_4th.txt",sbp_operators_path()*"h_4th.txt")
258 # g = EquidistantGrid((5,6), (0.0, 0.0), (4.0,5.0)) 258 # g = EquidistantGrid((5,6), (0.0, 0.0), (4.0,5.0))