Mercurial > repos > public > sbplib_julia
annotate test/SbpOperators/volumeops/derivatives/dissipation_test.jl @ 1029:129262c8e897 feature/dissipation_operators
Change signatures for interior stencil methods
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 22 Mar 2022 09:26:05 +0100 |
parents | d44cb983cfa4 |
children | 0cb4c6b15d8e |
rev | line source |
---|---|
1020
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 using Test |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 using Sbplib.SbpOperators |
1021
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
4 using Sbplib.Grids |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
5 using Sbplib.LazyTensors |
1020
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 using Sbplib.SbpOperators: Stencil |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 using Sbplib.SbpOperators: dissipation_interior_weights |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 using Sbplib.SbpOperators: dissipation_interior_stencil, dissipation_transpose_interior_stencil |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 using Sbplib.SbpOperators: midpoint, midpoint_transpose |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 using Sbplib.SbpOperators: dissipation_lower_closure_size, dissipation_upper_closure_size |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 using Sbplib.SbpOperators: dissipation_lower_closure_stencils,dissipation_upper_closure_stencils |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 using Sbplib.SbpOperators: dissipation_transpose_lower_closure_stencils, dissipation_transpose_upper_closure_stencils |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 |
1021
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
16 """ |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
17 monomial(x,k) |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
18 |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
19 Evaluates ``x^k/k!` with the convetion that it is ``0`` for all ``k<0``. |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
20 Has the property that ``d/dx monomial(x,k) = monomial(x,k-1)`` |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
21 """ |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
22 function monomial(x,k) |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
23 if k < 0 |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
24 return zero(x) |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
25 end |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
26 x^k/factorial(k) |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
27 end |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
28 |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
29 @testset "dissipation" begin |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
30 g = EquidistantGrid(20, 0., 11.) |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
31 D,Dᵀ = dissipation(g, 1) |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
32 |
1027
d44cb983cfa4
Add tests for StencilOperatorDistinctClosures
Jonatan Werpers <jonatan@werpers.com>
parents:
1025
diff
changeset
|
33 @test_broken D isa LazyTensor{Float64,1,1} where T |
d44cb983cfa4
Add tests for StencilOperatorDistinctClosures
Jonatan Werpers <jonatan@werpers.com>
parents:
1025
diff
changeset
|
34 @test_broken Dᵀ isa LazyTensor{Float64,1,1} where T |
1021
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
35 |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
36 @testset "Accuracy conditions" begin |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
37 N = 20 |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
38 g = EquidistantGrid(N, 0//1,2//1) |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
39 @testset "D_$p" for p ∈ [1,2,3,4] |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
40 D,Dᵀ = dissipation(g, p) |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
41 |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
42 @testset "x^$k" for k ∈ 0:1 |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
43 v = evalOn(g, x->monomial(x,k)) |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
44 |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
45 x, = points(g)[10] |
1027
d44cb983cfa4
Add tests for StencilOperatorDistinctClosures
Jonatan Werpers <jonatan@werpers.com>
parents:
1025
diff
changeset
|
46 @test_broken (D*v)[10] == monomial(x,k-1) |
1021
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
47 end |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
48 |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
49 # Test Dᵀ works backwards and interior forwards |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
50 end |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
51 end |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
52 end |
ee5a641a8277
Add some tests and start implementing dissipation()
Jonatan Werpers <jonatan@werpers.com>
parents:
1020
diff
changeset
|
53 |
1020
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 @testset "dissipation_interior_weights" begin |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
55 @test dissipation_interior_weights(1) == (-1, 1) |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
56 @test dissipation_interior_weights(2) == (1,-2, 1) |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
57 @test dissipation_interior_weights(3) == (-1, 3,-3, 1) |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
58 @test dissipation_interior_weights(4) == (1, -4, 6, -4, 1) |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
59 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
60 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
61 @testset "dissipation_interior_stencil" begin |
1029
129262c8e897
Change signatures for interior stencil methods
Jonatan Werpers <jonatan@werpers.com>
parents:
1027
diff
changeset
|
62 @test dissipation_interior_stencil(dissipation_interior_weights(1)) == Stencil(-1,1, center=2) |
129262c8e897
Change signatures for interior stencil methods
Jonatan Werpers <jonatan@werpers.com>
parents:
1027
diff
changeset
|
63 @test dissipation_interior_stencil(dissipation_interior_weights(2)) == Stencil(1,-2,1, center=2) |
129262c8e897
Change signatures for interior stencil methods
Jonatan Werpers <jonatan@werpers.com>
parents:
1027
diff
changeset
|
64 @test dissipation_interior_stencil(dissipation_interior_weights(3)) == Stencil(-1,3,-3,1, center=3) |
129262c8e897
Change signatures for interior stencil methods
Jonatan Werpers <jonatan@werpers.com>
parents:
1027
diff
changeset
|
65 @test dissipation_interior_stencil(dissipation_interior_weights(4)) == Stencil(1, -4, 6, -4, 1, center=3) |
1020
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
66 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
67 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
68 @testset "dissipation_transpose_interior_stencil" begin |
1029
129262c8e897
Change signatures for interior stencil methods
Jonatan Werpers <jonatan@werpers.com>
parents:
1027
diff
changeset
|
69 @test dissipation_transpose_interior_stencil(dissipation_interior_weights(1)) == Stencil(-1,1, center=1) |
129262c8e897
Change signatures for interior stencil methods
Jonatan Werpers <jonatan@werpers.com>
parents:
1027
diff
changeset
|
70 @test dissipation_transpose_interior_stencil(dissipation_interior_weights(2)) == Stencil(1,-2,1, center=2) |
129262c8e897
Change signatures for interior stencil methods
Jonatan Werpers <jonatan@werpers.com>
parents:
1027
diff
changeset
|
71 @test dissipation_transpose_interior_stencil(dissipation_interior_weights(3)) == Stencil(-1,3,-3,1, center=2) |
129262c8e897
Change signatures for interior stencil methods
Jonatan Werpers <jonatan@werpers.com>
parents:
1027
diff
changeset
|
72 @test dissipation_transpose_interior_stencil(dissipation_interior_weights(4)) == Stencil(1, -4, 6, -4, 1, center=3) |
1020
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
73 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
74 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
75 @testset "midpoint" begin |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
76 @test midpoint((1,1)) == 2 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
77 @test midpoint((1,1,1)) == 2 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
78 @test midpoint((1,1,1,1)) == 3 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
79 @test midpoint((1,1,1,1,1)) == 3 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
80 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
81 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
82 @testset "midpoint_transpose" begin |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
83 @test midpoint_transpose((1,1)) == 1 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
84 @test midpoint_transpose((1,1,1)) == 2 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
85 @test midpoint_transpose((1,1,1,1)) == 2 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
86 @test midpoint_transpose((1,1,1,1,1)) == 3 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
87 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
88 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
89 @testset "dissipation_lower_closure_size" begin |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
90 @test dissipation_lower_closure_size((1,1)) == 1 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
91 @test dissipation_lower_closure_size((1,1,1)) == 1 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
92 @test dissipation_lower_closure_size((1,1,1,1)) == 2 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
93 @test dissipation_lower_closure_size((1,1,1,1,1)) == 2 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
94 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
95 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
96 @testset "dissipation_upper_closure_size" begin |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
97 @test dissipation_upper_closure_size((1,1)) == 0 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
98 @test dissipation_upper_closure_size((1,1,1)) == 1 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
99 @test dissipation_upper_closure_size((1,1,1,1)) == 1 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
100 @test dissipation_upper_closure_size((1,1,1,1,1)) == 2 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
101 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
102 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
103 @testset "dissipation_lower_closure_stencils" begin |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
104 cases = ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
105 (-1,1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
106 Stencil(-1, 1, center=1), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
107 ), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
108 (1,-2,1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
109 Stencil( 1,-2, 1, center=1), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
110 ), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
111 (-1,3,-3,1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
112 Stencil(-1,3,-3,1, center=1), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
113 Stencil(-1,3,-3,1, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
114 ), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
115 (1, -4, 6, -4, 1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
116 Stencil(1, -4, 6, -4, 1, center=1), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
117 Stencil(1, -4, 6, -4, 1, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
118 ) |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
119 ) |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
120 @testset "interior_weights = $w" for (w, closure_stencils) ∈ cases |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
121 @test dissipation_lower_closure_stencils(w) == closure_stencils |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
122 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
123 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
124 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
125 @testset "dissipation_upper_closure_stencils" begin |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
126 cases = ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
127 (-1,1) => (), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
128 (1,-2,1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
129 Stencil( 1,-2, 1, center=3), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
130 ), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
131 (-1,3,-3,1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
132 Stencil(-1,3,-3,1, center=4), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
133 ), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
134 (1, -4, 6, -4, 1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
135 Stencil(1, -4, 6, -4, 1, center=4), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
136 Stencil(1, -4, 6, -4, 1, center=5), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
137 ) |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
138 ) |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
139 @testset "interior_weights = $w" for (w, closure_stencils) ∈ cases |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
140 @test dissipation_upper_closure_stencils(w) == closure_stencils |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
141 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
142 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
143 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
144 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
145 @testset "dissipation_transpose_lower_closure_stencils" begin |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
146 cases = ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
147 (-1,1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
148 Stencil(-1,-1, center=1), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
149 Stencil( 1, 1,-1, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
150 ), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
151 (1,-2,1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
152 Stencil( 1, 1, center=1), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
153 Stencil(-2,-2, 1, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
154 Stencil( 1, 1,-2, 1, center=3), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
155 ), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
156 (-1,3,-3,1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
157 Stencil(-1,-1,-1, center=1), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
158 Stencil( 3, 3, 3,-1, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
159 Stencil(-3,-3,-3, 3,-1, center=3), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
160 Stencil( 1, 1, 1,-3, 3,-1, center=4), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
161 ), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
162 ) |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
163 @testset "interior_weights = $w" for (w, closure_stencils) ∈ cases |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
164 @test dissipation_transpose_lower_closure_stencils(w) == closure_stencils |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
165 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
166 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
167 |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
168 @testset "dissipation_transpose_upper_closure_stencils" begin |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
169 cases = ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
170 (-1,1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
171 Stencil( 1,-1, center = 1), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
172 Stencil( 1, center = 1), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
173 ), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
174 (1,-2,1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
175 Stencil( 1, -2, 1, 1, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
176 Stencil( 1,-2,-2, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
177 Stencil( 1, 1, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
178 ), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
179 (-1,3,-3,1) => ( |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
180 Stencil( 1,-3, 3,-1,-1, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
181 Stencil( 1,-3, 3, 3, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
182 Stencil( 1,-3,-3, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
183 Stencil( 1, 1, center=2), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
184 ), |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
185 ) |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
186 @testset "interior_weights = $w" for (w, closure_stencils) ∈ cases |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
187 @test dissipation_transpose_upper_closure_stencils(w) == closure_stencils |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
188 end |
3f5137ce3aa1
Start adding helper functions for building dissipation operators
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
189 end |