|
1 | 1 | @testitem "TriRefinement" setup = [Setup] begin |
2 | 2 | # CRS propagation |
3 | 3 | grid = CartesianGrid((3, 3), merc(0, 0), (T(1), T(1))) |
4 | | - ref = refine(grid, TriRefinement()) |
5 | | - @test crs(ref) === crs(grid) |
| 4 | + rgrid = refine(grid, TriRefinement()) |
| 5 | + @test crs(rgrid) === crs(grid) |
| 6 | + |
| 7 | + # quadrangles are divided into 4 triangles |
| 8 | + grid = cartgrid(10, 10) |
| 9 | + rgrid = refine(grid, TriRefinement()) |
| 10 | + @test nelements(rgrid) == 4 * nelements(grid) |
6 | 11 |
|
7 | 12 | # predicate |
8 | 13 | points = cart.([(0, 0), (4, 0), (8, 0), (3, 1), (5, 1), (2, 2), (4, 2), (6, 2), (4, 4)]) |
9 | 14 | connec = connect.([(1, 2, 6), (2, 3, 8), (6, 8, 9), (2, 5, 4), (4, 5, 7), (4, 7, 6), (5, 8, 7)]) |
10 | 15 | mesh = SimpleMesh(points, connec) |
11 | | - ref = refine(mesh, TriRefinement(e -> measure(e) > T(1) * u"m^2")) |
12 | | - @test nelements(ref) == 13 |
13 | | - @test nvertices(ref) == 12 |
14 | | - ref = refine(mesh, TriRefinement(e -> measure(e) ≤ T(1) * u"m^2")) |
15 | | - @test nelements(ref) == 15 |
16 | | - @test nvertices(ref) == 13 |
| 16 | + rmesh = refine(mesh, TriRefinement(e -> measure(e) > T(1) * u"m^2")) |
| 17 | + @test nelements(rmesh) == 13 |
| 18 | + @test nvertices(rmesh) == 12 |
| 19 | + rmesh = refine(mesh, TriRefinement(e -> measure(e) ≤ T(1) * u"m^2")) |
| 20 | + @test nelements(rmesh) == 15 |
| 21 | + @test nvertices(rmesh) == 13 |
17 | 22 |
|
18 | 23 | # latlon |
19 | 24 | points = latlon.([(0, 0), (0, 4), (0, 8), (1, 3), (1, 5), (2, 2), (2, 4), (2, 6), (4, 4)]) |
20 | 25 | connec = connect.([(1, 2, 6), (2, 3, 8), (6, 8, 9), (2, 5, 4), (4, 5, 7), (4, 7, 6), (5, 8, 7)]) |
21 | 26 | mesh = SimpleMesh(points, connec) |
22 | | - ref = refine(mesh, TriRefinement()) |
23 | | - @test nelements(ref) == 21 |
24 | | - @test nvertices(ref) == 16 |
| 27 | + rmesh = refine(mesh, TriRefinement()) |
| 28 | + @test nelements(rmesh) == 21 |
| 29 | + @test nvertices(rmesh) == 16 |
25 | 30 | end |
26 | 31 |
|
27 | 32 | @testitem "QuadRefinement" setup = [Setup] begin |
|
117 | 122 | mesh = topoconvert(SimpleTopology, grid) |
118 | 123 | rmesh = refine(mesh) |
119 | 124 | @test eltype(rmesh) <: Triangle |
120 | | - @test nelements(rmesh) == 200 |
| 125 | + @test nelements(rmesh) == 400 |
121 | 126 | end |
0 commit comments