Mercurial > repos > public > sbplib_julia
annotate test/SbpOperators/boundaryops/normal_derivative_test.jl @ 1751:f3d7e2d7a43f feature/sbp_operators/laplace_curvilinear
Merge feature/grids/manifolds
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 11 Sep 2024 16:26:19 +0200 |
parents | de2c4b2663b4 471a948cd2b2 |
children |
rev | line source |
---|---|
728
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 using Test |
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 |
1726
471a948cd2b2
Rename project from Sbplib to Diffinitive
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents:
1672
diff
changeset
|
3 using Diffinitive.SbpOperators |
471a948cd2b2
Rename project from Sbplib to Diffinitive
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents:
1672
diff
changeset
|
4 using Diffinitive.Grids |
471a948cd2b2
Rename project from Sbplib to Diffinitive
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents:
1672
diff
changeset
|
5 using Diffinitive.LazyTensors |
471a948cd2b2
Rename project from Sbplib to Diffinitive
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents:
1672
diff
changeset
|
6 using Diffinitive.RegionIndices |
471a948cd2b2
Rename project from Sbplib to Diffinitive
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents:
1672
diff
changeset
|
7 import Diffinitive.SbpOperators.BoundaryOperator |
728
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 |
1654
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
9 using StaticArrays |
1692
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
10 using LinearAlgebra |
1654
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
11 |
728
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 @testset "normal_derivative" begin |
1653
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
13 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=4) |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
14 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
15 @testset "EquidistantGrid" begin |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
16 g_1D = equidistant_grid(0.0, 1.0, 11) |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
17 |
1751 | 18 d_l = normal_derivative(g_1D, stencil_set, LowerBoundary()) |
19 @test d_l == normal_derivative(g_1D, stencil_set, LowerBoundary()) | |
20 @test d_l isa BoundaryOperator{T,LowerBoundary} where T | |
1653
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
21 @test d_l isa LazyTensor{T,0,1} where T |
728
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 end |
1653
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
23 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
24 @testset "TensorGrid" begin |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
25 g_2D = equidistant_grid((0.0, 0.0), (1.0,1.0), 11, 12) |
1751 | 26 d_w = normal_derivative(g_2D, stencil_set, CartesianBoundary{1,LowerBoundary}()) |
27 d_n = normal_derivative(g_2D, stencil_set, CartesianBoundary{2,UpperBoundary}()) | |
1653
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
28 Ix = IdentityTensor{Float64}((size(g_2D)[1],)) |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
29 Iy = IdentityTensor{Float64}((size(g_2D)[2],)) |
1751 | 30 d_l = normal_derivative(g_2D.grids[1], stencil_set, LowerBoundary()) |
31 d_r = normal_derivative(g_2D.grids[2], stencil_set, UpperBoundary()) | |
32 @test d_w == normal_derivative(g_2D, stencil_set, CartesianBoundary{1,LowerBoundary}()) | |
1653
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
33 @test d_w == d_l⊗Iy |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
34 @test d_n == Ix⊗d_r |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
35 @test d_w isa LazyTensor{T,1,2} where T |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
36 @test d_n isa LazyTensor{T,1,2} where T |
728
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 |
1653
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
38 @testset "Accuracy" begin |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
39 v = eval_on(g_2D, (x,y)-> x^2 + (y-1)^2 + x*y) |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
40 v∂x = eval_on(g_2D, (x,y)-> 2*x + y) |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
41 v∂y = eval_on(g_2D, (x,y)-> 2*(y-1) + x) |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
42 # TODO: Test for higher order polynomials? |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
43 @testset "2nd order" begin |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
44 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=2) |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
45 d_w, d_e, d_s, d_n = normal_derivative.(Ref(g_2D), Ref(stencil_set), boundary_identifiers(g_2D)) |
728
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
46 |
1653
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
47 @test d_w*v ≈ -v∂x[1,:] atol = 1e-13 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
48 @test d_e*v ≈ v∂x[end,:] atol = 1e-13 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
49 @test d_s*v ≈ -v∂y[:,1] atol = 1e-13 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
50 @test d_n*v ≈ v∂y[:,end] atol = 1e-13 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
51 end |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
52 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
53 @testset "4th order" begin |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
54 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=4) |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
55 d_w, d_e, d_s, d_n = normal_derivative.(Ref(g_2D), Ref(stencil_set), boundary_identifiers(g_2D)) |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
56 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
57 @test d_w*v ≈ -v∂x[1,:] atol = 1e-13 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
58 @test d_e*v ≈ v∂x[end,:] atol = 1e-13 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
59 @test d_s*v ≈ -v∂y[:,1] atol = 1e-13 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
60 @test d_n*v ≈ v∂y[:,end] atol = 1e-13 |
9e2228449a72
Restructure test sets for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1529
diff
changeset
|
61 end |
728
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 end |
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
63 end |
1654
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
64 |
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
65 @testset "MappedGrid" begin |
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
66 c = Chart(unitsquare()) do (ξ,η) |
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
67 @SVector[2ξ + η*(1-η), 3η+(1+η/2)*ξ^2] |
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
68 end |
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
69 Grids.jacobian(c::typeof(c), (ξ,η)) = @SMatrix[2 1-2η; (2+η)*ξ 3+ξ^2/2] |
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
70 mg = equidistant_grid(c, 10,13) |
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
71 |
728
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
72 |
1680
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
73 # x̄((ξ, η)) = @SVector[ξ, η*(1+ξ*(ξ-1))] |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
74 # J((ξ, η)) = @SMatrix[ |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
75 # 1 0; |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
76 # η*(2ξ-1) 1+ξ*(ξ-1); |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
77 # ] |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
78 # mg = mapped_grid(x̄, J, 20, 21) |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
79 |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
80 |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
81 # x̄((ξ, η)) = @SVector[ξ,η] |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
82 # J((ξ, η)) = @SMatrix[ |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
83 # 1 0; |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
84 # 0 1; |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
85 # ] |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
86 # mg = mapped_grid(identity, J, 10, 11) |
1654
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
87 |
1680
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
88 for bid ∈ boundary_identifiers(mg) |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
89 @testset let bid=bid |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
90 @test normal_derivative(mg, stencil_set, bid) isa LazyTensor{<:Any, 1, 2} |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
91 end |
728
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
92 end |
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
93 |
1680
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
94 @testset "Consistency" begin |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
95 v = map(identity, mg) |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
96 |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
97 @testset "4nd order" begin |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
98 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=4) |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
99 |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
100 for bid ∈ boundary_identifiers(mg) |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
101 @testset let bid=bid |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
102 d = normal_derivative(mg, stencil_set, bid) |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
103 @test d*v ≈ normal(mg, bid) rtol=1e-13 |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
104 end |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
105 end |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
106 end |
b30db2ea34ed
Add concistency tests for normal_derivative and and fix bug regarding sign of boundary
Jonatan Werpers <jonatan@werpers.com>
parents:
1654
diff
changeset
|
107 end |
1654
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
108 |
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
109 @testset "Accuracy" begin |
1692
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
110 v = function(x̄) |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
111 sin(norm(x̄+@SVector[1,1])) |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
112 end |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
113 ∇v = function(x̄) |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
114 ȳ = x̄+@SVector[1,1] |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
115 cos(norm(ȳ))*(ȳ/norm(ȳ)) |
1654
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
116 end |
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
117 |
1692
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
118 mg = equidistant_grid(c, 80,80) |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
119 v̄ = map(v, mg) |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
120 |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
121 @testset for (order, atol) ∈ [(2,4e-2),(4,2e-3)] |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
122 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=order) |
1654
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
123 |
1692
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
124 @testset for bId ∈ boundary_identifiers(mg) |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
125 ∂ₙv = map(boundary_grid(mg,bId),normal(mg,bId)) do x̄,n̂ |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
126 n̂⋅∇v(x̄) |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
127 end |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
128 |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
129 dₙ = normal_derivative(mg, stencil_set, bId) |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
130 @test dₙ*v̄ ≈ ∂ₙv atol=atol |
de2c4b2663b4
Add accuracy tests for normal derivative
Jonatan Werpers <jonatan@werpers.com>
parents:
1680
diff
changeset
|
131 end |
1654
f4dc17cfafce
Start adding normal derivative for mapped grid
Jonatan Werpers <jonatan@werpers.com>
parents:
1653
diff
changeset
|
132 end |
728
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
133 end |
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
134 end |
45966c77cb20
Split tests for SbpOperators over several files
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
135 end |