annotate test/Grids/multiblockgrids_test.jl @ 2020:7f7207b9bd6c feature/grids/multiblock_grids

Add constructor tests for 2d grids and using matrix for the grid collection
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 12 Mar 2025 10:48:58 +0100
parents fb2dc185c197
children d6618d628515
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
2018
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
4 @testset "MultiBlockGrid" begin
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
5 @test MultiBlockGrid <: Grid
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
6
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
7 @testset "Constructors" begin
2020
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
8 # Vector
2018
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
9 g₁ = equidistant_grid(0,1,5)
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
10 g₂ = equidistant_grid(0,1,5)
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
11 g₃ = equidistant_grid(0,1,5)
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
12
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
13 C = connection.([
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
14 (1, UpperBoundary(), 2, LowerBoundary()),
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
15 (2, UpperBoundary(), 3, LowerBoundary()),
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
16 ])
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
17
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
18 @test MultiBlockGrid([g₁,g₂,g₃], C) isa Grid{Float64,1}
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
19 @test MultiBlockGrid([g₁,g₂,g₃], C) isa MultiBlockGrid{Float64,1}
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
20
2020
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
21
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
22 g₁₁ = equidistant_grid((0,0),(1,1),5,5)
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
23 g₁₂ = equidistant_grid((0,0),(1,1),5,5)
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
24 g₂₁ = equidistant_grid((0,0),(1,1),5,5)
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
25 g₂₂ = equidistant_grid((0,0),(1,1),5,5)
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
26
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
27 C = map(((i1,d1,b1,i2,d2,b2),)->connection(i1,CartesianBoundary{d1,b1}(), i2, CartesianBoundary{d2,b2}()),[
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
28 (1, 1, UpperBoundary, 2, 1, LowerBoundary),
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
29 (3, 1, UpperBoundary, 4, 1, LowerBoundary),
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
30 (1, 2, UpperBoundary, 3, 2, LowerBoundary),
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
31 (2, 2, UpperBoundary, 4, 2, LowerBoundary),
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
32 ])
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
33
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
34 @test MultiBlockGrid([g₁₁, g₁₂, g₂₁, g₂₂], C) isa MultiBlockGrid{SVector{2,Float64},2}
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
35
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
36 # Matrix
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
37 g₁₁ = equidistant_grid((0,0),(1,1),5,5)
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
38 g₁₂ = equidistant_grid((0,0),(1,1),5,5)
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
39 g₂₁ = equidistant_grid((0,0),(1,1),5,5)
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
40 g₂₂ = equidistant_grid((0,0),(1,1),5,5)
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
41
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
42 C = map(((i1,d1,b1,i2,d2,b2),)->connection(CartesianIndex(i1),CartesianBoundary{d1,b1}(), CartesianIndex(i2), CartesianBoundary{d2,b2}()),[
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
43 ((1,1), 1, UpperBoundary, (1,2), 1, LowerBoundary),
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
44 ((2,1), 1, UpperBoundary, (2,2), 1, LowerBoundary),
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
45 ((1,1), 2, UpperBoundary, (1,2), 2, LowerBoundary),
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
46 ((2,1), 2, UpperBoundary, (2,2), 2, LowerBoundary),
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
47 ])
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
48
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
49 @test MultiBlockGrid([g₁₁ g₁₂; g₂₁ g₂₂], C) isa MultiBlockGrid{SVector{2,Float64},2}
7f7207b9bd6c Add constructor tests for 2d grids and using matrix for the grid collection
Jonatan Werpers <jonatan@werpers.com>
parents: 2019
diff changeset
50
2018
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
51 # Dictionary
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
52 @test MultiBlockGrid(Dict(:a=>g₁, :b=>g₂), [connection(:a, UpperBoundary(), :b, LowerBoundary())]) isa MultiBlockGrid{Float64,1}
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
53 end
2019
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
54
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
55 @testset "Base.getindex" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
56 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
57 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
58
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
59 @testset "boundary_identifiers" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
60 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
61 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
62
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
63 @testset "boundary_grid" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
64 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
65 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
66
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
67 @testset "min_spacing" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
68 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
69 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
70
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
71 @testset "refine" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
72 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
73 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
74
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
75 @testset "coarsen" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
76 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
77 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
78
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
79 @testset "boundary_indices" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
80 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
81 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
82
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
83 @testset "eval_on" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
84 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
85 end
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
86
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
87 @testset "Base.map" begin
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
88 @test_broken false
fb2dc185c197 Add stubs for functions and tests to be implemented
Jonatan Werpers <jonatan@werpers.com>
parents: 2018
diff changeset
89 end
2018
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
90 end
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
91
a3ffc3202813 Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 2017
diff changeset
92
1912
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
93 @testset "MultiBlockBoundary" begin
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
94 @test MultiBlockBoundary{1,UpperBoundary}() isa BoundaryIdentifier
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
95
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
96 @test grid_id(MultiBlockBoundary{1,UpperBoundary}()) == 1
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
97
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
98 @test boundary_id(MultiBlockBoundary{1,UpperBoundary}()) == UpperBoundary()
e68669552ed8 Add MultiBlockBoundary
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
99 end
2017
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
100
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
101 @testset "connection" begin
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
102 @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
103 @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
104 @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
105
ea2a15454cf2 Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents: 1957
diff changeset
106 @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
107 @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
108 end