Mercurial > repos > public > sbplib_julia
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)) |