comparison test/Grids/multiblockgrids_test.jl @ 2022:7f04753ead30 feature/grids/multiblock_grids

Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 12 Mar 2025 11:07:40 +0100
parents d6618d628515
children 50e7090f5a95
comparison
equal deleted inserted replaced
2021:d6618d628515 2022:7f04753ead30
10 C = connection.([ 10 C = connection.([
11 (1, UpperBoundary(), 2, LowerBoundary()), 11 (1, UpperBoundary(), 2, LowerBoundary()),
12 (2, UpperBoundary(), 3, LowerBoundary()), 12 (2, UpperBoundary(), 3, LowerBoundary()),
13 ]) 13 ])
14 14
15 return MultiBlockGrid([g₁,g₂,g₃], C) 15 return [g₁,g₂,g₃], C
16 end 16 end
17 17
18 function multiblockgrid2d() 18 function multiblockgrid2d()
19 g₁₁ = equidistant_grid((0,0),(1,1),5,5) 19 g₁₁ = equidistant_grid((0,0),(1,1),5,5)
20 g₁₂ = equidistant_grid((0,0),(1,1),5,5) 20 g₁₂ = equidistant_grid((0,0),(1,1),5,5)
26 (3, 1, UpperBoundary, 4, 1, LowerBoundary), 26 (3, 1, UpperBoundary, 4, 1, LowerBoundary),
27 (1, 2, UpperBoundary, 3, 2, LowerBoundary), 27 (1, 2, UpperBoundary, 3, 2, LowerBoundary),
28 (2, 2, UpperBoundary, 4, 2, LowerBoundary), 28 (2, 2, UpperBoundary, 4, 2, LowerBoundary),
29 ]) 29 ])
30 30
31 return MultiBlockGrid([g₁₁, g₁₂, g₂₁, g₂₂], C) 31 return [g₁₁, g₁₂, g₂₁, g₂₂], C
32 end 32 end
33 33
34 function multiblockgrid_matrix() 34 function multiblockgrid_matrix()
35 g₁₁ = equidistant_grid((0,0),(1,1),5,5) 35 g₁₁ = equidistant_grid((0,0),(1,1),5,5)
36 g₁₂ = equidistant_grid((0,0),(1,1),5,5) 36 g₁₂ = equidistant_grid((0,0),(1,1),5,5)
42 ((2,1), 1, UpperBoundary, (2,2), 1, LowerBoundary), 42 ((2,1), 1, UpperBoundary, (2,2), 1, LowerBoundary),
43 ((1,1), 2, UpperBoundary, (1,2), 2, LowerBoundary), 43 ((1,1), 2, UpperBoundary, (1,2), 2, LowerBoundary),
44 ((2,1), 2, UpperBoundary, (2,2), 2, LowerBoundary), 44 ((2,1), 2, UpperBoundary, (2,2), 2, LowerBoundary),
45 ]) 45 ])
46 46
47 return MultiBlockGrid([g₁₁ g₁₂; g₂₁ g₂₂], C) 47 return [g₁₁ g₁₂; g₂₁ g₂₂], C
48 end 48 end
49 49
50 function multiblockgrid_dict() 50 function multiblockgrid_dict()
51 g₁ = equidistant_grid(0,1,5) 51 g₁ = equidistant_grid(0,1,5)
52 g₂ = equidistant_grid(0,1,5) 52 g₂ = equidistant_grid(0,1,5)
53 53
54 C = [connection(:a, UpperBoundary(), :b, LowerBoundary())] 54 C = [connection(:a, UpperBoundary(), :b, LowerBoundary())]
55 MultiBlockGrid(Dict(:a=>g₁, :b=>g₂), C) 55 return Dict(:a=>g₁, :b=>g₂), C
56 end 56 end
57 57
58 @testset "MultiBlockGrid" begin 58 @testset "MultiBlockGrid" begin
59 @test MultiBlockGrid <: Grid 59 @test MultiBlockGrid <: Grid
60 60
61 @testset "Constructors" begin 61 @testset "Constructors" begin
62 @test multiblockgrid1d() isa Grid{Float64,1} 62 grids, connections = multiblockgrid1d()
63 @test multiblockgrid1d() isa MultiBlockGrid{Float64,1} 63 @test MultiBlockGrid(grids, connections) isa Grid{Float64,1}
64 @test multiblockgrid2d() isa MultiBlockGrid{SVector{2,Float64},2} 64 grids, connections = multiblockgrid1d()
65 @test multiblockgrid_matrix() isa MultiBlockGrid{SVector{2,Float64},2} 65 @test MultiBlockGrid(grids, connections) isa MultiBlockGrid{Float64,1}
66 @test multiblockgrid_dict() isa MultiBlockGrid{Float64,1} 66 grids, connections = multiblockgrid2d()
67 @test MultiBlockGrid(grids, connections) isa MultiBlockGrid{SVector{2,Float64},2}
68 grids, connections = multiblockgrid_matrix()
69 @test MultiBlockGrid(grids, connections) isa MultiBlockGrid{SVector{2,Float64},2}
70 grids, connections = multiblockgrid_dict()
71 @test MultiBlockGrid(grids, connections) isa MultiBlockGrid{Float64,1}
72 end
67 end 73 end
68 74
69 @testset "Base.getindex" begin 75 @testset "Base.getindex" begin
70 @test_broken false 76 @test_broken false
71 end 77 end