Mercurial > repos > public > sbplib_julia
changeset 1046:e00eb000346e feature/first_derivative
Add tests for 2D application
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 23 Mar 2022 12:39:35 +0100 |
parents | 89513bacafd1 |
children | d12ab8120d29 |
files | test/SbpOperators/volumeops/derivatives/first_derivative_test.jl |
diffstat | 1 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/test/SbpOperators/volumeops/derivatives/first_derivative_test.jl Wed Mar 16 18:32:38 2022 +0100 +++ b/test/SbpOperators/volumeops/derivatives/first_derivative_test.jl Wed Mar 23 12:39:35 2022 +0100 @@ -69,6 +69,7 @@ end @testset "Accuracy on function" begin + # 1D g = EquidistantGrid(30, 0.,1.) v = evalOn(g, x->exp(x)) @testset for (order, tol) ∈ [(2, 6e-3),(4, 2e-4)] @@ -77,6 +78,18 @@ @test D₁*v ≈ v rtol=tol end + + # 2D + g = EquidistantGrid((30,60), (0.,0.),(1.,2.)) + v = evalOn(g, (x,y)->exp(0.8x+1.2*y)) + @testset for (order, tol) ∈ [(2, 6e-3),(4, 3e-4)] + stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order) + Dx = first_derivative(g, stencil_set, 1) + Dy = first_derivative(g, stencil_set, 2) + + @test Dx*v ≈ 0.8v rtol=tol + @test Dy*v ≈ 1.2v rtol=tol + end end end