comparison src/Grids/tensor_grid.jl @ 1901:edee7d677efb feature/grids/manifolds

Merge default
author Jonatan Werpers <jonatan@werpers.com>
date Sat, 01 Feb 2025 21:38:49 +0100
parents b1eb33e62d1e
children
comparison
equal deleted inserted replaced
1870:27534b471b6a 1901:edee7d677efb
92 local_boundary_grid = boundary_grid(g.grids[grid_id(id)], boundary_id(id)) 92 local_boundary_grid = boundary_grid(g.grids[grid_id(id)], boundary_id(id))
93 new_grids = Base.setindex(g.grids, local_boundary_grid, grid_id(id)) 93 new_grids = Base.setindex(g.grids, local_boundary_grid, grid_id(id))
94 return TensorGrid(new_grids...) 94 return TensorGrid(new_grids...)
95 end 95 end
96 96
97
98 function boundary_indices(g::TensorGrid{<:Any, 1}, id::TensorGridBoundary)
99 return boundary_indices(g.grids[grid_id(id)], boundary_id(id))
100 end
97 function boundary_indices(g::TensorGrid, id::TensorGridBoundary) 101 function boundary_indices(g::TensorGrid, id::TensorGridBoundary)
98 per_grid_ind = map(g.grids) do g 102 local_b_ind = boundary_indices(g.grids[grid_id(id)], boundary_id(id))
99 ntuple(i->:, ndims(g))
100 end
101 103
102 local_b_ind = boundary_indices(g.grids[grid_id(id)], boundary_id(id)) 104 b_ind = Base.setindex(map(eachindex, g.grids), local_b_ind, grid_id(id))
103 b_ind = Base.setindex(per_grid_ind, local_b_ind, grid_id(id))
104 105
105 return LazyTensors.concatenate_tuples(b_ind...) 106 return view(eachindex(g), b_ind...)
106 end 107 end
107 108
108 function combined_coordinate_vector_type(coordinate_types...) 109 function combined_coordinate_vector_type(coordinate_types...)
109 combined_coord_length = mapreduce(_ncomponents, +, coordinate_types) 110 combined_coord_length = mapreduce(_ncomponents, +, coordinate_types)
110 combined_coord_type = mapreduce(eltype, promote_type, coordinate_types) 111 combined_coord_type = mapreduce(eltype, promote_type, coordinate_types)