comparison test/SbpOperators/boundaryops/normal_derivative_test.jl @ 995:1ba8a398af9c refactor/lazy_tensors

Rename types
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 18 Mar 2022 21:14:47 +0100
parents 775d5513da8f
children 7fc8df5157a7
comparison
equal deleted inserted replaced
994:55ab7801c45f 995:1ba8a398af9c
14 d_closure = parse_stencil(stencil_set["d1"]["closure"]) 14 d_closure = parse_stencil(stencil_set["d1"]["closure"])
15 @testset "1D" begin 15 @testset "1D" begin
16 d_l = normal_derivative(g_1D, d_closure, CartesianBoundary{1,Lower}()) 16 d_l = normal_derivative(g_1D, d_closure, CartesianBoundary{1,Lower}())
17 @test d_l == normal_derivative(g_1D, stencil_set, CartesianBoundary{1,Lower}()) 17 @test d_l == normal_derivative(g_1D, stencil_set, CartesianBoundary{1,Lower}())
18 @test d_l isa BoundaryOperator{T,Lower} where T 18 @test d_l isa BoundaryOperator{T,Lower} where T
19 @test d_l isa TensorMapping{T,0,1} where T 19 @test d_l isa LazyTensor{T,0,1} where T
20 end 20 end
21 @testset "2D" begin 21 @testset "2D" begin
22 d_w = normal_derivative(g_2D, d_closure, CartesianBoundary{1,Lower}()) 22 d_w = normal_derivative(g_2D, d_closure, CartesianBoundary{1,Lower}())
23 d_n = normal_derivative(g_2D, d_closure, CartesianBoundary{2,Upper}()) 23 d_n = normal_derivative(g_2D, d_closure, CartesianBoundary{2,Upper}())
24 Ix = IdentityMapping{Float64}((size(g_2D)[1],)) 24 Ix = IdentityTensor{Float64}((size(g_2D)[1],))
25 Iy = IdentityMapping{Float64}((size(g_2D)[2],)) 25 Iy = IdentityTensor{Float64}((size(g_2D)[2],))
26 d_l = normal_derivative(restrict(g_2D,1),d_closure,CartesianBoundary{1,Lower}()) 26 d_l = normal_derivative(restrict(g_2D,1),d_closure,CartesianBoundary{1,Lower}())
27 d_r = normal_derivative(restrict(g_2D,2),d_closure,CartesianBoundary{1,Upper}()) 27 d_r = normal_derivative(restrict(g_2D,2),d_closure,CartesianBoundary{1,Upper}())
28 @test d_w == normal_derivative(g_2D, stencil_set, CartesianBoundary{1,Lower}()) 28 @test d_w == normal_derivative(g_2D, stencil_set, CartesianBoundary{1,Lower}())
29 @test d_w == d_l⊗Iy 29 @test d_w == d_l⊗Iy
30 @test d_n == Ix⊗d_r 30 @test d_n == Ix⊗d_r
31 @test d_w isa TensorMapping{T,1,2} where T 31 @test d_w isa LazyTensor{T,1,2} where T
32 @test d_n isa TensorMapping{T,1,2} where T 32 @test d_n isa LazyTensor{T,1,2} where T
33 end 33 end
34 end 34 end
35 @testset "Accuracy" begin 35 @testset "Accuracy" begin
36 v = evalOn(g_2D, (x,y)-> x^2 + (y-1)^2 + x*y) 36 v = evalOn(g_2D, (x,y)-> x^2 + (y-1)^2 + x*y)
37 v∂x = evalOn(g_2D, (x,y)-> 2*x + y) 37 v∂x = evalOn(g_2D, (x,y)-> 2*x + y)