Mercurial > repos > public > sbplib_julia
comparison test/SbpOperators/volumeops/derivatives/dissipation_test.jl @ 1351:d7f29359b822
Merge refactor/grids
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Fri, 19 May 2023 23:53:36 +0200 |
parents | 760a4a1ec4b7 |
children | 43aaf710463e |
comparison
equal
deleted
inserted
replaced
1323:95cac1ee8476 | 1351:d7f29359b822 |
---|---|
25 end | 25 end |
26 x^k/factorial(k) | 26 x^k/factorial(k) |
27 end | 27 end |
28 | 28 |
29 @testset "undivided_skewed04" begin | 29 @testset "undivided_skewed04" begin |
30 g = EquidistantGrid(20, 0., 11.) | 30 g = equidistant_grid(20, 0., 11.) |
31 D,Dᵀ = undivided_skewed04(g, 1) | 31 D,Dᵀ = undivided_skewed04(g, 1) |
32 | 32 |
33 @test D isa LazyTensor{Float64,1,1} | 33 @test D isa LazyTensor{Float64,1,1} |
34 @test Dᵀ isa LazyTensor{Float64,1,1} | 34 @test Dᵀ isa LazyTensor{Float64,1,1} |
35 | 35 |
36 @testset "Accuracy conditions" begin | 36 @testset "Accuracy conditions" begin |
37 N = 20 | 37 N = 20 |
38 g = EquidistantGrid(N, 0//1,2//1) | 38 g = equidistant_grid(N, 0//1,2//1) |
39 h = only(spacing(g)) | 39 h = only(spacing(g)) |
40 @testset "D_$p" for p ∈ [1,2,3,4] | 40 @testset "D_$p" for p ∈ [1,2,3,4] |
41 D,Dᵀ = undivided_skewed04(g, p) | 41 D,Dᵀ = undivided_skewed04(g, p) |
42 | 42 |
43 @testset "x^$k" for k ∈ 0:p | 43 @testset "x^$k" for k ∈ 0:p |
44 v = evalOn(g, x->monomial(x,k)) | 44 v = eval_on(g, x->monomial(x,k)) |
45 vₚₓ = evalOn(g, x->monomial(x,k-p)) | 45 vₚₓ = eval_on(g, x->monomial(x,k-p)) |
46 | 46 |
47 @test D*v == h^p * vₚₓ | 47 @test D*v == h^p * vₚₓ |
48 end | 48 end |
49 end | 49 end |
50 end | 50 end |
65 end | 65 end |
66 | 66 |
67 return Dmat | 67 return Dmat |
68 end | 68 end |
69 | 69 |
70 g = EquidistantGrid(11, 0., 1.) | 70 g = equidistant_grid(11, 0., 1.) |
71 @testset "D_$p" for p ∈ [1,2,3,4] | 71 @testset "D_$p" for p ∈ [1,2,3,4] |
72 D,Dᵀ = undivided_skewed04(g, p) | 72 D,Dᵀ = undivided_skewed04(g, p) |
73 | 73 |
74 D̄ = get_matrix(D) | 74 D̄ = get_matrix(D) |
75 D̄ᵀ = get_matrix(Dᵀ) | 75 D̄ᵀ = get_matrix(Dᵀ) |
76 | 76 |
77 @test D̄ == D̄ᵀ' | 77 @test D̄ == D̄ᵀ' |
78 end | 78 end |
79 end | |
80 | |
81 @testset "2D" begin | |
82 N = 20 | |
83 g = equidistant_grid((N,2N), (0,0), (2,1)) | |
84 h = spacing.(g.grids) | |
85 | |
86 D,Dᵀ = undivided_skewed04(g, 3, 2) | |
87 | |
88 v = eval_on(g, x->monomial(x[1],4)*monomial(x[2],3)) | |
89 d³vdy³ = eval_on(g, x->monomial(x[1],4)*monomial(x[2],0)) | |
90 | |
91 @test D*v ≈ h[2]^3*d³vdy³ | |
79 end | 92 end |
80 end | 93 end |
81 | 94 |
82 @testset "dissipation_interior_weights" begin | 95 @testset "dissipation_interior_weights" begin |
83 @test dissipation_interior_weights(1) == (-1, 1) | 96 @test dissipation_interior_weights(1) == (-1, 1) |