Mercurial > repos > public > sbplib_julia
changeset 682:3ed922e95a35 feature/boundary_quads
Make boundary_grid throw if invalid boundary identifier is passed.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Mon, 08 Feb 2021 20:12:09 +0100 |
parents | 43cf58c69f91 |
children | 841ca12f3359 984f6fe42708 |
files | src/Grids/EquidistantGrid.jl test/testGrids.jl |
diffstat | 2 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Grids/EquidistantGrid.jl Mon Feb 08 18:44:44 2021 +0100 +++ b/src/Grids/EquidistantGrid.jl Mon Feb 08 20:12:09 2021 +0100 @@ -122,10 +122,14 @@ grid is a zero-dimensional grid. """ function boundary_grid(grid::EquidistantGrid,id::CartesianBoundary) + dims = collect(1:dimension(grid)) + orth_dims = dims[dims .!= dim(id)] + if orth_dims == dims + throw(DomainError("boundary identifier not matching grid")) + end dims = collect(1:dimension(grid)) orth_dims = dims[dims .!= dim(id)] return restrict(grid,orth_dims) end export boundary_grid boundary_grid(::EquidistantGrid{1},::CartesianBoundary{1}) = EquidistantGrid((),(),()) -boundary_grid(::EquidistantGrid{1},::CartesianBoundary) = throw(DimensionMismatch("dimension of Grid and BoundaryIdentifier not matching"))
--- a/test/testGrids.jl Mon Feb 08 18:44:44 2021 +0100 +++ b/test/testGrids.jl Mon Feb 08 20:12:09 2021 +0100 @@ -70,7 +70,8 @@ (id_l, id_r) = boundary_identifiers(g) @test boundary_grid(g,id_l) == EquidistantGrid((),(),()) @test boundary_grid(g,id_r) == EquidistantGrid((),(),()) - + @test_throws DomainError boundary_grid(g,CartesianBoundary{2,Lower}()) + @test_throws DomainError boundary_grid(g,CartesianBoundary{0,Lower}()) end @testset "2D" begin g = EquidistantGrid((5,3),(0.0,0.0),(1.0,3.0)) @@ -79,6 +80,7 @@ @test boundary_grid(g,id_e) == restrict(g,2) @test boundary_grid(g,id_s) == restrict(g,1) @test boundary_grid(g,id_n) == restrict(g,1) + @test_throws DomainError boundary_grid(g,CartesianBoundary{4,Lower}()) end @testset "3D" begin g = EquidistantGrid((2,5,3), (0.0,0.0,0.0), (2.0,1.0,3.0)) @@ -91,6 +93,7 @@ @test boundary_grid(g,id_n) == restrict(g,[1,3]) @test boundary_grid(g,id_t) == restrict(g,[1,2]) @test boundary_grid(g,id_b) == restrict(g,[1,2]) + @test_throws DomainError boundary_grid(g,CartesianBoundary{4,Lower}()) end end end