Mercurial > repos > public > sbplib_julia
comparison src/Grids/manifolds.jl @ 1934:1b012e2d5db1 feature/grids/manifolds
Add function for getting boundaries from CartesianAtlas
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Fri, 07 Feb 2025 11:11:54 +0100 |
| parents | ac63820222f8 |
| children | a7c9d04b57e0 |
comparison
equal
deleted
inserted
replaced
| 1933:2801507dbee1 | 1934:1b012e2d5db1 |
|---|---|
| 84 end | 84 end |
| 85 | 85 |
| 86 return c | 86 return c |
| 87 end | 87 end |
| 88 | 88 |
| 89 function boundaries(a::CartesianAtlas) | |
| 90 c = MultiBlockBoundary[] | |
| 91 | |
| 92 for d ∈ 1:ndims(charts(a)) | |
| 93 Is = eachslice(CartesianIndices(charts(a)); dims=d) | |
| 94 | |
| 95 for (i,b) ∈ ((1,LowerBoundary),(length(Is),UpperBoundary)) # For first and last slice | |
| 96 for jk ∈ eachindex(Is[i]) # For each block in slice | |
| 97 Iᵢⱼₖ = Tuple(Is[i][jk]) | |
| 98 push!(c, | |
| 99 MultiBlockBoundary{Iᵢⱼₖ, CartesianBoundary{d,b}}(), | |
| 100 ) | |
| 101 end | |
| 102 end | |
| 103 end | |
| 104 | |
| 105 return c | |
| 106 end | |
| 107 | |
| 108 | |
| 89 struct UnstructuredAtlas <: Atlas | 109 struct UnstructuredAtlas <: Atlas |
| 90 charts::Vector{Chart} | 110 charts::Vector{Chart} |
| 91 connections::Vector{Tuple{MultiBlockBoundary, MultiBlockBoundary}} | 111 connections::Vector{Tuple{MultiBlockBoundary, MultiBlockBoundary}} |
| 92 end | 112 end |
| 93 | 113 |
