Mercurial > repos > public > sbplib_julia
comparison test/SbpOperators/volumeops/derivatives/first_derivative_test.jl @ 1080:f9505fbde30c
Merge feature/first_derivative
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Fri, 08 Apr 2022 19:35:12 +0200 |
parents | d12ab8120d29 |
children | 157a78959e5d |
comparison
equal
deleted
inserted
replaced
1075:03f65ef8adb9 | 1080:f9505fbde30c |
---|---|
69 end | 69 end |
70 end | 70 end |
71 end | 71 end |
72 | 72 |
73 @testset "Accuracy on function" begin | 73 @testset "Accuracy on function" begin |
74 # 1D | |
74 g = EquidistantGrid(30, 0.,1.) | 75 g = EquidistantGrid(30, 0.,1.) |
75 v = evalOn(g, x->exp(x)) | 76 v = evalOn(g, x->exp(x)) |
76 @testset for (order, tol) ∈ [(2, 6e-3),(4, 2e-4)] | 77 @testset for (order, tol) ∈ [(2, 6e-3),(4, 2e-4)] |
77 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order) | 78 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order) |
78 D₁ = first_derivative(g, stencil_set, 1) | 79 D₁ = first_derivative(g, stencil_set, 1) |
79 | 80 |
80 @test D₁*v ≈ v rtol=tol | 81 @test D₁*v ≈ v rtol=tol |
81 end | 82 end |
83 | |
84 # 2D | |
85 g = EquidistantGrid((30,60), (0.,0.),(1.,2.)) | |
86 v = evalOn(g, (x,y)->exp(0.8x+1.2*y)) | |
87 @testset for (order, tol) ∈ [(2, 6e-3),(4, 3e-4)] | |
88 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order) | |
89 Dx = first_derivative(g, stencil_set, 1) | |
90 Dy = first_derivative(g, stencil_set, 2) | |
91 | |
92 @test Dx*v ≈ 0.8v rtol=tol | |
93 @test Dy*v ≈ 1.2v rtol=tol | |
94 end | |
82 end | 95 end |
83 end | 96 end |
84 | 97 |