annotate test/Grids/multiblockgrids_test.jl @ 2028:06f4b2ab43e8 feature/grids/multiblock_grids

Implement boundary_grid
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 11 Apr 2025 15:58:17 +0200
parents 0f27ddff6f92
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1912
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 using Diffinitive.Grids
2020
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
2 using StaticArrays
1912
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3
2021
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
4
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
5 function multiblockgrid1d()
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
6 g₁ = equidistant_grid(0,1,5)
2027
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
7 g₂ = equidistant_grid(1,2,5)
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
8 g₃ = equidistant_grid(2,3,5)
2021
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
9
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
10 C = connection.([
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
11 (1, UpperBoundary(), 2, LowerBoundary()),
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
12 (2, UpperBoundary(), 3, LowerBoundary()),
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
13 ])
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
14
2022
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
15 return [g₁,g₂,g₃], C
2021
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
16 end
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
17
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
18 function multiblockgrid2d()
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
19 g₁₁ = equidistant_grid((0,0),(1,1),5,5)
2027
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
20 g₁₂ = equidistant_grid((0,1),(1,2),5,5)
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
21 g₂₁ = equidistant_grid((1,0),(2,1),11,11)
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
22 g₂₂ = equidistant_grid((1,1),(2,2),5,5)
2021
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
23
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
24 C = map(((i1,d1,b1,i2,d2,b2),)->connection(i1,CartesianBoundary{d1,b1}(), i2, CartesianBoundary{d2,b2}()),[
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
25 (1, 1, UpperBoundary, 2, 1, LowerBoundary),
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
26 (3, 1, UpperBoundary, 4, 1, LowerBoundary),
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
27 (1, 2, UpperBoundary, 3, 2, LowerBoundary),
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
28 (2, 2, UpperBoundary, 4, 2, LowerBoundary),
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
29 ])
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
30
2022
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
31 return [g₁₁, g₁₂, g₂₁, g₂₂], C
2021
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
32 end
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
33
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
34 function multiblockgrid_matrix()
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
35 g₁₁ = equidistant_grid((0,0),(1,1),5,5)
2027
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
36 g₁₂ = equidistant_grid((0,1),(1,2),5,5)
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
37 g₂₁ = equidistant_grid((1,0),(2,1),11,11)
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
38 g₂₂ = equidistant_grid((1,1),(2,2),5,5)
2021
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
39
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
40 C = map(((i1,d1,b1,i2,d2,b2),)->connection(CartesianIndex(i1),CartesianBoundary{d1,b1}(), CartesianIndex(i2), CartesianBoundary{d2,b2}()),[
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
41 ((1,1), 1, UpperBoundary, (1,2), 1, LowerBoundary),
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
42 ((2,1), 1, UpperBoundary, (2,2), 1, LowerBoundary),
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
43 ((1,1), 2, UpperBoundary, (1,2), 2, LowerBoundary),
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
44 ((2,1), 2, UpperBoundary, (2,2), 2, LowerBoundary),
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
45 ])
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
46
2022
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
47 return [g₁₁ g₁₂; g₂₁ g₂₂], C
2021
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
48 end
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
49
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
50 function multiblockgrid_dict()
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
51 g₁ = equidistant_grid(0,1,5)
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
52 g₂ = equidistant_grid(0,1,5)
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
53
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
54 C = [connection(:a, UpperBoundary(), :b, LowerBoundary())]
2022
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
55 return Dict(:a=>g₁, :b=>g₂), C
2021
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
56 end
d6618d628515 Factor out functions for creating different types of multiblock grids in the tests
Jonatan Werpers <jonatan@werpers.com>
parents: 2020
diff changeset
57
2018
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
58 @testset "MultiBlockGrid" begin
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
59 @test MultiBlockGrid <: Grid
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
60
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
61 @testset "Constructors" begin
2022
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
62 grids, connections = multiblockgrid1d()
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
63 @test MultiBlockGrid(grids, connections) isa Grid{Float64,1}
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
64 grids, connections = multiblockgrid1d()
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
65 @test MultiBlockGrid(grids, connections) isa MultiBlockGrid{Float64,1}
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
66 grids, connections = multiblockgrid2d()
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
67 @test MultiBlockGrid(grids, connections) isa MultiBlockGrid{SVector{2,Float64},2}
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
68 grids, connections = multiblockgrid_matrix()
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
69 @test MultiBlockGrid(grids, connections) isa MultiBlockGrid{SVector{2,Float64},2}
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
70 grids, connections = multiblockgrid_dict()
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
71 @test MultiBlockGrid(grids, connections) isa MultiBlockGrid{Float64,1}
7f04753ead30 Make the helper functions return parts for the multiblock grid instead of actual multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2021
diff changeset
72 end
2023
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
73
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
74 @testset "Accessors" begin
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
75 @testset "grids" begin
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
76 gs, cs = multiblockgrid1d()
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
77 @test grids(MultiBlockGrid(gs, cs)) == gs
2024
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
78
2023
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
79 gs, cs = multiblockgrid2d()
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
80 @test grids(MultiBlockGrid(gs, cs)) == gs
2024
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
81
2023
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
82 gs, cs = multiblockgrid_matrix()
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
83 @test grids(MultiBlockGrid(gs, cs)) == gs
2024
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
84
2023
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
85 gs, cs = multiblockgrid_dict()
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
86 @test grids(MultiBlockGrid(gs, cs)) == gs
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
87 end
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
88
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
89 @testset "connections" begin
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
90 gs, cs = multiblockgrid1d()
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
91 @test connections(MultiBlockGrid(gs, cs)) == cs
2024
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
92
2023
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
93 gs, cs = multiblockgrid2d()
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
94 @test connections(MultiBlockGrid(gs, cs)) == cs
2024
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
95
2023
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
96 gs, cs = multiblockgrid_matrix()
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
97 @test connections(MultiBlockGrid(gs, cs)) == cs
2024
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
98
2023
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
99 gs, cs = multiblockgrid_dict()
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
100 @test connections(MultiBlockGrid(gs, cs)) == cs
50e7090f5a95 Add accessor functions
Jonatan Werpers <jonatan@werpers.com>
parents: 2022
diff changeset
101 end
2018
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
102 end
2019
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
103
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
104 @testset "Base.getindex" begin
2024
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
105 gs, cs = multiblockgrid1d()
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
106 @test MultiBlockGrid(gs, cs)[2] == gs[2]
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
107
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
108 gs, cs = multiblockgrid2d()
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
109 @test MultiBlockGrid(gs, cs)[3] == gs[3]
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
110
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
111 gs, cs = multiblockgrid_matrix()
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
112 @test MultiBlockGrid(gs, cs)[1,2] == gs[1,2]
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
113
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
114 gs, cs = multiblockgrid_dict()
3fb33f00dab2 Implement getindex
Jonatan Werpers <jonatan@werpers.com>
parents: 2023
diff changeset
115 @test MultiBlockGrid(gs, cs)[:a] == gs[:a]
2019
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
116 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
117
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
118 @testset "boundary_identifiers" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
119 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
120 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
121
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
122 @testset "boundary_grid" begin
2028
06f4b2ab43e8 Implement boundary_grid
Jonatan Werpers <jonatan@werpers.com>
parents: 2027
diff changeset
123 g1 = MultiBlockGrid(multiblockgrid1d()...)
06f4b2ab43e8 Implement boundary_grid
Jonatan Werpers <jonatan@werpers.com>
parents: 2027
diff changeset
124 @test boundary_grid(g1, MultiBlockBoundary{1,LowerBoundary}()) == ZeroDimGrid(0.)
06f4b2ab43e8 Implement boundary_grid
Jonatan Werpers <jonatan@werpers.com>
parents: 2027
diff changeset
125 @test boundary_grid(g1, MultiBlockBoundary{3,UpperBoundary}()) == ZeroDimGrid(3.)
06f4b2ab43e8 Implement boundary_grid
Jonatan Werpers <jonatan@werpers.com>
parents: 2027
diff changeset
126
06f4b2ab43e8 Implement boundary_grid
Jonatan Werpers <jonatan@werpers.com>
parents: 2027
diff changeset
127 g2 = MultiBlockGrid(multiblockgrid2d()...)
06f4b2ab43e8 Implement boundary_grid
Jonatan Werpers <jonatan@werpers.com>
parents: 2027
diff changeset
128 b1lb = MultiBlockBoundary{1,CartesianBoundary{1,LowerBoundary}}()
06f4b2ab43e8 Implement boundary_grid
Jonatan Werpers <jonatan@werpers.com>
parents: 2027
diff changeset
129 @test boundary_grid(g2, b1lb) == TensorGrid(ZeroDimGrid(0.),equidistant_grid(0,1,5))
06f4b2ab43e8 Implement boundary_grid
Jonatan Werpers <jonatan@werpers.com>
parents: 2027
diff changeset
130
06f4b2ab43e8 Implement boundary_grid
Jonatan Werpers <jonatan@werpers.com>
parents: 2027
diff changeset
131 gm = MultiBlockGrid(multiblockgrid_matrix()...)
06f4b2ab43e8 Implement boundary_grid
Jonatan Werpers <jonatan@werpers.com>
parents: 2027
diff changeset
132 b21lb = MultiBlockBoundary{CartesianIndex(2,1),CartesianBoundary{2,LowerBoundary}}()
06f4b2ab43e8 Implement boundary_grid
Jonatan Werpers <jonatan@werpers.com>
parents: 2027
diff changeset
133 @test boundary_grid(gm, b21lb) == TensorGrid(equidistant_grid(1,2,11),ZeroDimGrid(0.))
2019
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
134 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
135
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
136 @testset "min_spacing" begin
2026
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
137 gs, cs = multiblockgrid2d()
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
138 @test min_spacing(MultiBlockGrid(gs,cs)) isa Float64
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
139 @test min_spacing(MultiBlockGrid(gs,cs)) == 0.1
2019
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
140 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
141
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
142 @testset "refine" begin
2026
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
143 gs, cs = multiblockgrid2d()
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
144 @test refine(MultiBlockGrid(gs,cs),2) isa MultiBlockGrid
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
145
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
146 rg = refine(MultiBlockGrid(gs,cs),2)
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
147 @test connections(rg) == cs
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
148 @test grids(rg) == [
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
149 equidistant_grid((0,0),(1,1),9,9),
2027
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
150 equidistant_grid((0,1),(1,2),9,9),
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
151 equidistant_grid((1,0),(2,1),21,21),
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
152 equidistant_grid((1,1),(2,2),9,9),
2026
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
153 ]
2019
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
154 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
155
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
156 @testset "coarsen" begin
2026
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
157 gs, cs = multiblockgrid2d()
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
158 @test coarsen(MultiBlockGrid(gs,cs),2) isa MultiBlockGrid
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
159
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
160 cg = coarsen(MultiBlockGrid(gs,cs),2)
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
161 @test connections(cg) == cs
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
162 @test grids(cg) == [
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
163 equidistant_grid((0,0),(1,1),3,3),
2027
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
164 equidistant_grid((0,1),(1,2),3,3),
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
165 equidistant_grid((1,0),(2,1),6,6),
0f27ddff6f92 Update test grids
Jonatan Werpers <jonatan@werpers.com>
parents: 2026
diff changeset
166 equidistant_grid((1,1),(2,2),3,3),
2026
1b6f150d95c5 Implement min_spacing, coarsen, refine
Jonatan Werpers <jonatan@werpers.com>
parents: 2024
diff changeset
167 ]
2019
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
168 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
169
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
170 @testset "boundary_indices" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
171 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
172 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
173
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
174 @testset "eval_on" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
175 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
176 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
177
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
178 @testset "Base.map" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
179 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
180 end
2018
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
181 end
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
182
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
183
1912
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
184 @testset "MultiBlockBoundary" begin
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
185 @test MultiBlockBoundary{1,UpperBoundary}() isa BoundaryIdentifier
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
186
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
187 @test grid_id(MultiBlockBoundary{1,UpperBoundary}()) == 1
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
188
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
189 @test boundary_id(MultiBlockBoundary{1,UpperBoundary}()) == UpperBoundary()
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
190 end
2017
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
191
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
192 @testset "connection" begin
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
193 @test connection(1, UpperBoundary(), 2, LowerBoundary()) == (MultiBlockBoundary{1,UpperBoundary}(), MultiBlockBoundary{2,LowerBoundary}())
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
194 @test connection(:a, UpperBoundary(), :b, LowerBoundary()) == (MultiBlockBoundary{:a,UpperBoundary}(), MultiBlockBoundary{:b,LowerBoundary}())
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
195 @test connection((1, UpperBoundary(), 2, LowerBoundary())) == (MultiBlockBoundary{1,UpperBoundary}(), MultiBlockBoundary{2,LowerBoundary}())
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
196
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
197 @test_throws Exception connection(1, UpperBoundary, 2, LowerBoundary())
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
198 @test_throws Exception connection(1, UpperBoundary(), 2, LowerBoundary)
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
199 end