comparison test/ext/sparse_array_kit_test.jl @ 1736:863385aae454 feature/grids/curvilinear

Merge default
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 10 Sep 2024 21:59:10 +0200
parents 471a948cd2b2
children
comparison
equal deleted inserted replaced
1735:36986b75bf98 1736:863385aae454
1 using Test
2
3 using Diffinitive
4 using Diffinitive.Grids
5 using Diffinitive.SbpOperators
6
7 using SparseArrayKit
8 using Tokens
9 using Tullio
10
11
12 @testset "SparseArray" begin
13 g = equidistant_grid((0,0),(1,2), 20,30)
14 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=4)
15
16
17 @testset let Δ = laplace(g, stencil_set), M = SparseArray(Δ)
18 @test ndims(M) == 4
19 @test size(M) == (20,30,20,30)
20
21 v = rand(size(g)...)
22 @tullio Mv[i,j] := M[i,j,k,l]*v[k,l]
23
24 @test Mv ≈ Δ*v
25 end
26
27 @testset let dₙ = normal_derivative(g, stencil_set,CartesianBoundary{1,LowerBoundary}()), M = SparseArray(dₙ)
28 @test ndims(M) == 3
29 @test size(M) == (30,20,30)
30
31 v = rand(size(g)...)
32 @tullio Mv[i] := M[i,j,k]*v[j,k]
33 @test Mv ≈ dₙ*v
34 end
35 end