comparison test/SbpOperators/boundaryops/normal_derivative_test.jl @ 1049:3bb94ce74697 feature/variable_derivatives

Merge default
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 23 Mar 2022 12:54:45 +0100
parents 7fc8df5157a7
children 54c3ed752730
comparison
equal deleted inserted replaced
1048:86aa69ad3304 1049:3bb94ce74697
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)