Mercurial > repos > public > sbplib_julia
changeset 1431:6adf31ba6cfd feature/grids/curvilinear
Add `jacobian` and `logicalgrid`
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Fri, 25 Aug 2023 15:41:19 +0200 |
parents | 9fc3c1af33e5 |
children | 64b60b42d367 |
files | src/Grids/Grids.jl src/Grids/curvilinear_grid.jl test/Grids/curvilinear_grid_test.jl |
diffstat | 3 files changed, 11 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Grids/Grids.jl Wed Jul 26 21:00:44 2023 +0200 +++ b/src/Grids/Grids.jl Fri Aug 25 15:41:19 2023 +0200 @@ -35,7 +35,11 @@ export equidistant_grid export CartesianBoundary + +# CurvilinearGrid export CurvilinearGrid +export jacobian +export logicalgrid abstract type BoundaryIdentifier end
--- a/src/Grids/curvilinear_grid.jl Wed Jul 26 21:00:44 2023 +0200 +++ b/src/Grids/curvilinear_grid.jl Fri Aug 25 15:41:19 2023 +0200 @@ -1,9 +1,12 @@ struct CurvilinearGrid{T,D, GT<:Grid{<:Any,D}, CT<:AbstractArray{T,D}, JT<:AbstractArray{<:AbstractArray{<:Any, 2}, D}} <: Grid{T,D} logicalgrid::GT physicalcoordinates::CT - Jacobian::JT + jacobian::JT end +jacobian(g::CurvilinearGrid) = g.jacobian +logicalgrid(g::CurvilinearGrid) = g.logicalgrid + # Indexing interface Base.getindex(g::CurvilinearGrid, I...) = g.physicalcoordinates[I...]
--- a/test/Grids/curvilinear_grid_test.jl Wed Jul 26 21:00:44 2023 +0200 +++ b/test/Grids/curvilinear_grid_test.jl Fri Aug 25 15:41:19 2023 +0200 @@ -9,10 +9,9 @@ @test CurvilinearGrid(g, x̄, J) isa Grid{SVector{2, Float64},2} - - @test_broken jacobian(cg) isa Array{<:AbstractVector} - @test_broken logicalgrid(cg) isa Grid - + cg = CurvilinearGrid(g, x̄, J) + @test jacobian(cg) isa Array{<:AbstractMatrix} + @test logicalgrid(cg) isa Grid @testset "Indexing Interface" begin