Mercurial > repos > public > sbplib_julia
comparison src/Grids/tensor_grid.jl @ 1388:c0208286234e bugfix/grids/complete_interface_impl
Add `grid_and_local_dim_index`
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 15 Aug 2023 22:11:20 +0200 |
parents | 42ecd4b3e215 |
children | 47931bef8471 |
comparison
equal
deleted
inserted
replaced
1387:3d6425c36d32 | 1388:c0208286234e |
---|---|
95 end | 95 end |
96 | 96 |
97 function combine_coordinates(coords...) | 97 function combine_coordinates(coords...) |
98 return mapreduce(SVector, vcat, coords) | 98 return mapreduce(SVector, vcat, coords) |
99 end | 99 end |
100 | |
101 """ | |
102 grid_and_local_dim_index(nds, d) | |
103 | |
104 Given a tuple of number of dimensions `nds`, and a global dimension `d`, | |
105 calculate which grid index and local dimension `d` corresponds to. | |
106 """ | |
107 function grid_and_local_dim_index(nds, d) | |
108 I = findfirst(>=(d), cumsum(nds)) | |
109 | |
110 if I == 1 | |
111 return (1, d) | |
112 else | |
113 return (I, d-cumsum(nds)[I-1]) | |
114 end | |
115 # TBD: Is there a cleaner way to compute this? | |
116 end |