Mercurial > repos > public > sbplib_julia
comparison test/SbpOperators/boundaryops/normal_derivative_test.jl @ 1854:654a2b7e6824 tooling/benchmarks
Merge default
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Sat, 11 Jan 2025 10:19:47 +0100 |
parents | 471a948cd2b2 |
children | f3d7e2d7a43f |
comparison
equal
deleted
inserted
replaced
1378:2b5480e2d4bf | 1854:654a2b7e6824 |
---|---|
1 using Test | 1 using Test |
2 | 2 |
3 using Sbplib.SbpOperators | 3 using Diffinitive.SbpOperators |
4 using Sbplib.Grids | 4 using Diffinitive.Grids |
5 using Sbplib.LazyTensors | 5 using Diffinitive.LazyTensors |
6 using Sbplib.RegionIndices | 6 using Diffinitive.RegionIndices |
7 import Sbplib.SbpOperators.BoundaryOperator | 7 import Diffinitive.SbpOperators.BoundaryOperator |
8 | 8 |
9 @testset "normal_derivative" begin | 9 @testset "normal_derivative" begin |
10 g_1D = equidistant_grid(11, 0.0, 1.0) | 10 g_1D = equidistant_grid(0.0, 1.0, 11) |
11 g_2D = equidistant_grid((11,12), (0.0, 0.0), (1.0,1.0)) | 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 |