Mercurial > repos > public > sbplib_julia
view test/Grids/manifolds_test.jl @ 1929:c5affb342e73 feature/grids/manifolds
Remove implementation of Base.size for CartesianAtlas
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Fri, 07 Feb 2025 09:14:43 +0100 |
parents | 96b3e9c516fe |
children | e985eaa20ecf |
line wrap: on
line source
using Test using Diffinitive.Grids using Diffinitive.RegionIndices using Diffinitive.LazyTensors using StaticArrays @testset "Chart" begin X(ξ) = 2ξ Grids.jacobian(::typeof(X), ξ) = @SVector[2,2] c = Chart(X, unitsquare()) @test c isa Chart{2} @test c([3,2]) == [6,4] @test parameterspace(c) == unitsquare() @test ndims(c) == 2 @test jacobian(c, [3,2]) == [2,2] end @testset "CartesianAtlas" begin c = Chart(identity, unitsquare()) a = CartesianAtlas([c c; c c]) @test a isa Atlas @test charts(a) == [c c; c c] c2 = Chart(x->2x, unitsquare()) @test CartesianAtlas([c c2; c2 c]) isa CartesianAtlas @testset "connections" begin a = CartesianAtlas(fill(c, 2,3)) # 2D west = CartesianBoundary{1,LowerBoundary} east = CartesianBoundary{1,UpperBoundary} south = CartesianBoundary{2,LowerBoundary} north = CartesianBoundary{2,UpperBoundary} @test Set(connections(a)) == Set([ (MultiBlockBoundary{(1,1), east}(), MultiBlockBoundary{(2,1), west}()), (MultiBlockBoundary{(1,1), north}(), MultiBlockBoundary{(1,2), south}()), (MultiBlockBoundary{(2,1), north}(), MultiBlockBoundary{(2,2), south}()), (MultiBlockBoundary{(1,2), east}(), MultiBlockBoundary{(2,2), west}()), (MultiBlockBoundary{(1,2), north}(), MultiBlockBoundary{(1,3), south}()), (MultiBlockBoundary{(2,2), north}(), MultiBlockBoundary{(2,3), south}()), (MultiBlockBoundary{(1,3), east}(), MultiBlockBoundary{(2,3), west}()), ]) # 3D a = CartesianAtlas(fill(c, 2,2,3)) bottom = CartesianBoundary{3, LowerBoundary} top = CartesianBoundary{3, UpperBoundary} @test Set(connections(a)) == Set([ (MultiBlockBoundary{(1,1,1), east}(), MultiBlockBoundary{(2,1,1), west}()), (MultiBlockBoundary{(1,1,1), north}(), MultiBlockBoundary{(1,2,1), south}()), (MultiBlockBoundary{(2,1,1), north}(), MultiBlockBoundary{(2,2,1), south}()), (MultiBlockBoundary{(1,2,1), east}(), MultiBlockBoundary{(2,2,1), west}()), (MultiBlockBoundary{(1,1,2), east}(), MultiBlockBoundary{(2,1,2), west}()), (MultiBlockBoundary{(1,1,2), north}(), MultiBlockBoundary{(1,2,2), south}()), (MultiBlockBoundary{(2,1,2), north}(), MultiBlockBoundary{(2,2,2), south}()), (MultiBlockBoundary{(1,2,2), east}(), MultiBlockBoundary{(2,2,2), west}()), (MultiBlockBoundary{(1,1,3), east}(), MultiBlockBoundary{(2,1,3), west}()), (MultiBlockBoundary{(1,1,3), north}(), MultiBlockBoundary{(1,2,3), south}()), (MultiBlockBoundary{(2,1,3), north}(), MultiBlockBoundary{(2,2,3), south}()), (MultiBlockBoundary{(1,2,3), east}(), MultiBlockBoundary{(2,2,3), west}()), (MultiBlockBoundary{(1,1,1), top}(), MultiBlockBoundary{(1,1,2), bottom}()), (MultiBlockBoundary{(2,1,1), top}(), MultiBlockBoundary{(2,1,2), bottom}()), (MultiBlockBoundary{(1,2,1), top}(), MultiBlockBoundary{(1,2,2), bottom}()), (MultiBlockBoundary{(2,2,1), top}(), MultiBlockBoundary{(2,2,2), bottom}()), (MultiBlockBoundary{(1,1,2), top}(), MultiBlockBoundary{(1,1,3), bottom}()), (MultiBlockBoundary{(2,1,2), top}(), MultiBlockBoundary{(2,1,3), bottom}()), (MultiBlockBoundary{(1,2,2), top}(), MultiBlockBoundary{(1,2,3), bottom}()), (MultiBlockBoundary{(2,2,2), top}(), MultiBlockBoundary{(2,2,3), bottom}()), ]) end end @testset "UnstructuredAtlas" begin @test_broken false end