Mercurial > repos > public > sbplib_julia
comparison test/SbpOperators/boundaryops/normal_derivative_test.jl @ 961:775d5513da8f feature/laplace_opset
Review: Fix boundary operator tests according to review comments
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Mon, 14 Mar 2022 09:41:23 +0100 |
parents | 97e9a8337a86 |
children | 7bf3121c6864 1ba8a398af9c |
comparison
equal
deleted
inserted
replaced
952:6a8d7fbf55fc | 961:775d5513da8f |
---|---|
38 v∂y = evalOn(g_2D, (x,y)-> 2*(y-1) + x) | 38 v∂y = evalOn(g_2D, (x,y)-> 2*(y-1) + x) |
39 # TODO: Test for higher order polynomials? | 39 # TODO: Test for higher order polynomials? |
40 @testset "2nd order" begin | 40 @testset "2nd order" begin |
41 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=2) | 41 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=2) |
42 d_closure = parse_stencil(stencil_set["d1"]["closure"]) | 42 d_closure = parse_stencil(stencil_set["d1"]["closure"]) |
43 d_w, d_e, d_s, d_n = | 43 d_w, d_e, d_s, d_n = normal_derivative.(Ref(g_2D), Ref(d_closure), boundary_identifiers(g_2D)) |
44 map(id -> normal_derivative(g_2D, d_closure, id), boundary_identifiers(g_2D)) | |
45 # REVIEW: Would prefere to write this as | |
46 # d_w, d_e, d_s, d_n = normal_derivative.(Ref(g_2D), Ref(d_closure), boundary_identifiers(g_2D)) | |
47 # to avoid the line break | |
48 | 44 |
49 @test d_w*v ≈ -v∂x[1,:] atol = 1e-13 | 45 @test d_w*v ≈ -v∂x[1,:] atol = 1e-13 |
50 @test d_e*v ≈ v∂x[end,:] atol = 1e-13 | 46 @test d_e*v ≈ v∂x[end,:] atol = 1e-13 |
51 @test d_s*v ≈ -v∂y[:,1] atol = 1e-13 | 47 @test d_s*v ≈ -v∂y[:,1] atol = 1e-13 |
52 @test d_n*v ≈ v∂y[:,end] atol = 1e-13 | 48 @test d_n*v ≈ v∂y[:,end] atol = 1e-13 |
53 end | 49 end |
54 | 50 |
55 @testset "4th order" begin | 51 @testset "4th order" begin |
56 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=4) | 52 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=4) |
57 d_closure = parse_stencil(stencil_set["d1"]["closure"]) | 53 d_closure = parse_stencil(stencil_set["d1"]["closure"]) |
58 d_w, d_e, d_s, d_n = | 54 d_w, d_e, d_s, d_n = normal_derivative.(Ref(g_2D), Ref(d_closure), boundary_identifiers(g_2D)) |
59 map(id -> normal_derivative(g_2D, d_closure, id), boundary_identifiers(g_2D)) | 55 |
60 # REVIEW: Same as above | |
61 @test d_w*v ≈ -v∂x[1,:] atol = 1e-13 | 56 @test d_w*v ≈ -v∂x[1,:] atol = 1e-13 |
62 @test d_e*v ≈ v∂x[end,:] atol = 1e-13 | 57 @test d_e*v ≈ v∂x[end,:] atol = 1e-13 |
63 @test d_s*v ≈ -v∂y[:,1] atol = 1e-13 | 58 @test d_s*v ≈ -v∂y[:,1] atol = 1e-13 |
64 @test d_n*v ≈ v∂y[:,end] atol = 1e-13 | 59 @test d_n*v ≈ v∂y[:,end] atol = 1e-13 |
65 end | 60 end |