diff test/Grids/multiblockgrids_test.jl @ 2026:1b6f150d95c5 feature/grids/multiblock_grids

Implement min_spacing, coarsen, refine
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 10 Apr 2025 16:20:22 +0200
parents 3fb33f00dab2
children 0f27ddff6f92
line wrap: on
line diff
--- a/test/Grids/multiblockgrids_test.jl	Thu Apr 10 08:45:08 2025 +0200
+++ b/test/Grids/multiblockgrids_test.jl	Thu Apr 10 16:20:22 2025 +0200
@@ -18,7 +18,7 @@
 function multiblockgrid2d()
     g₁₁ = equidistant_grid((0,0),(1,1),5,5)
     g₁₂ = equidistant_grid((0,0),(1,1),5,5)
-    g₂₁ = equidistant_grid((0,0),(1,1),5,5)
+    g₂₁ = equidistant_grid((0,0),(1,1),11,11)
     g₂₂ = equidistant_grid((0,0),(1,1),5,5)
 
     C = map(((i1,d1,b1,i2,d2,b2),)->connection(i1,CartesianBoundary{d1,b1}(), i2, CartesianBoundary{d2,b2}()),[
@@ -34,7 +34,7 @@
 function multiblockgrid_matrix()
     g₁₁ = equidistant_grid((0,0),(1,1),5,5)
     g₁₂ = equidistant_grid((0,0),(1,1),5,5)
-    g₂₁ = equidistant_grid((0,0),(1,1),5,5)
+    g₂₁ = equidistant_grid((0,0),(1,1),11,11)
     g₂₂ = equidistant_grid((0,0),(1,1),5,5)
 
     C = map(((i1,d1,b1,i2,d2,b2),)->connection(CartesianIndex(i1),CartesianBoundary{d1,b1}(), CartesianIndex(i2), CartesianBoundary{d2,b2}()),[
@@ -124,15 +124,37 @@
     end
 
     @testset "min_spacing" begin
-        @test_broken false
+        gs, cs = multiblockgrid2d()
+        @test min_spacing(MultiBlockGrid(gs,cs)) isa Float64
+        @test min_spacing(MultiBlockGrid(gs,cs)) == 0.1
     end
 
     @testset "refine" begin
-        @test_broken false
+        gs, cs = multiblockgrid2d()
+        @test refine(MultiBlockGrid(gs,cs),2) isa MultiBlockGrid
+
+        rg = refine(MultiBlockGrid(gs,cs),2)
+        @test connections(rg) == cs
+        @test grids(rg) == [
+            equidistant_grid((0,0),(1,1),9,9),
+            equidistant_grid((0,0),(1,1),9,9),
+            equidistant_grid((0,0),(1,1),21,21),
+            equidistant_grid((0,0),(1,1),9,9),
+        ]
     end
 
     @testset "coarsen" begin
-        @test_broken false
+        gs, cs = multiblockgrid2d()
+        @test coarsen(MultiBlockGrid(gs,cs),2) isa MultiBlockGrid
+
+        cg = coarsen(MultiBlockGrid(gs,cs),2)
+        @test connections(cg) == cs
+        @test grids(cg) == [
+            equidistant_grid((0,0),(1,1),3,3),
+            equidistant_grid((0,0),(1,1),3,3),
+            equidistant_grid((0,0),(1,1),6,6),
+            equidistant_grid((0,0),(1,1),3,3),
+        ]
     end
 
     @testset "boundary_indices" begin