comparison test/SbpOperators/boundaryops/normal_derivative_test.jl @ 1719:d81d0660b80d

Merge refactor/grids/boundary_identifiers_1d
author Vidar Stiernström <vidar.stiernstrom@gmail.com>
date Thu, 05 Sep 2024 08:26:12 -0700
parents 3714a391545a
children 471a948cd2b2
comparison
equal deleted inserted replaced
1716:fe298044e044 1719:d81d0660b80d
10 g_1D = equidistant_grid(0.0, 1.0, 11) 10 g_1D = equidistant_grid(0.0, 1.0, 11)
11 g_2D = equidistant_grid((0.0, 0.0), (1.0,1.0), 11, 12) 11 g_2D = equidistant_grid((0.0, 0.0), (1.0,1.0), 11, 12)
12 @testset "normal_derivative" begin 12 @testset "normal_derivative" begin
13 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=4) 13 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=4)
14 @testset "1D" begin 14 @testset "1D" begin
15 d_l = normal_derivative(g_1D, stencil_set, Lower()) 15 d_l = normal_derivative(g_1D, stencil_set, LowerBoundary())
16 @test d_l == normal_derivative(g_1D, stencil_set, Lower()) 16 @test d_l == normal_derivative(g_1D, stencil_set, LowerBoundary())
17 @test d_l isa BoundaryOperator{T,Lower} where T 17 @test d_l isa BoundaryOperator{T,LowerBoundary} where T
18 @test d_l isa LazyTensor{T,0,1} where T 18 @test d_l isa LazyTensor{T,0,1} where T
19 end 19 end
20 @testset "2D" begin 20 @testset "2D" begin
21 d_w = normal_derivative(g_2D, stencil_set, CartesianBoundary{1,Lower}()) 21 d_w = normal_derivative(g_2D, stencil_set, CartesianBoundary{1,LowerBoundary}())
22 d_n = normal_derivative(g_2D, stencil_set, CartesianBoundary{2,Upper}()) 22 d_n = normal_derivative(g_2D, stencil_set, CartesianBoundary{2,UpperBoundary}())
23 Ix = IdentityTensor{Float64}((size(g_2D)[1],)) 23 Ix = IdentityTensor{Float64}((size(g_2D)[1],))
24 Iy = IdentityTensor{Float64}((size(g_2D)[2],)) 24 Iy = IdentityTensor{Float64}((size(g_2D)[2],))
25 d_l = normal_derivative(g_2D.grids[1], stencil_set, Lower()) 25 d_l = normal_derivative(g_2D.grids[1], stencil_set, LowerBoundary())
26 d_r = normal_derivative(g_2D.grids[2], stencil_set, Upper()) 26 d_r = normal_derivative(g_2D.grids[2], stencil_set, UpperBoundary())
27 @test d_w == normal_derivative(g_2D, stencil_set, CartesianBoundary{1,Lower}()) 27 @test d_w == normal_derivative(g_2D, stencil_set, CartesianBoundary{1,LowerBoundary}())
28 @test d_w == d_l⊗Iy 28 @test d_w == d_l⊗Iy
29 @test d_n == Ix⊗d_r 29 @test d_n == Ix⊗d_r
30 @test d_w isa LazyTensor{T,1,2} where T 30 @test d_w isa LazyTensor{T,1,2} where T
31 @test d_n isa LazyTensor{T,1,2} where T 31 @test d_n isa LazyTensor{T,1,2} where T
32 end 32 end