diff src/Grids/tensor_grid.jl @ 1877:21e5fe1545c0 refactor/lazy_tensors/elementwise_ops

Merge default
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 27 Jan 2025 16:56:04 +0100
parents b1eb33e62d1e
children
line wrap: on
line diff
--- a/src/Grids/tensor_grid.jl	Fri Jan 10 19:45:11 2025 +0100
+++ b/src/Grids/tensor_grid.jl	Mon Jan 27 16:56:04 2025 +0100
@@ -47,6 +47,10 @@
 Base.size(g::TensorGrid) = LazyTensors.concatenate_tuples(size.(g.grids)...)
 Base.size(g::TensorGrid, d) = size(g)[d]
 
+function spacing(g::TensorGrid)
+    relevant_grids = filter(g->!isa(g,ZeroDimGrid),g.grids)
+    return spacing.(relevant_grids)
+end
 
 function min_spacing(g::TensorGrid)
     relevant_grids = filter(g->!isa(g,ZeroDimGrid),g.grids)
@@ -90,15 +94,16 @@
     return TensorGrid(new_grids...)
 end
 
-function boundary_indices(g::TensorGrid, id::TensorGridBoundary)
-    per_grid_ind = map(g.grids) do g
-        ntuple(i->:, ndims(g))
-    end
 
+function boundary_indices(g::TensorGrid{<:Any, 1}, id::TensorGridBoundary)
+    return boundary_indices(g.grids[grid_id(id)], boundary_id(id))
+end
+function boundary_indices(g::TensorGrid, id::TensorGridBoundary)
     local_b_ind = boundary_indices(g.grids[grid_id(id)], boundary_id(id))
-    b_ind = Base.setindex(per_grid_ind, local_b_ind, grid_id(id))
 
-    return LazyTensors.concatenate_tuples(b_ind...)
+    b_ind = Base.setindex(map(eachindex, g.grids), local_b_ind, grid_id(id))
+
+    return view(eachindex(g), b_ind...)
 end
 
 function combined_coordinate_vector_type(coordinate_types...)