comparison src/Grids/tensor_grid.jl @ 1678:13a7a4ff49e3 feature/grids/manifolds

Merge feature/grids/curvilinear
author Jonatan Werpers <jonatan@werpers.com>
date Sun, 30 Jun 2024 10:50:44 +0200
parents 51f0c5f895fb
children ff7aeda1b292
comparison
equal deleted inserted replaced
1650:8250cf5a3ce9 1678:13a7a4ff49e3
47 Base.IteratorSize(::Type{<:TensorGrid{<:Any, D}}) where D = Base.HasShape{D}() 47 Base.IteratorSize(::Type{<:TensorGrid{<:Any, D}}) where D = Base.HasShape{D}()
48 Base.length(g::TensorGrid) = prod(length, g.grids) 48 Base.length(g::TensorGrid) = prod(length, g.grids)
49 Base.size(g::TensorGrid) = LazyTensors.concatenate_tuples(size.(g.grids)...) 49 Base.size(g::TensorGrid) = LazyTensors.concatenate_tuples(size.(g.grids)...)
50 Base.size(g::TensorGrid, d) = size(g)[d] 50 Base.size(g::TensorGrid, d) = size(g)[d]
51 51
52
53 function min_spacing(g::TensorGrid)
54 relevant_grids = filter(g->!isa(g,ZeroDimGrid),g.grids)
55 d = min_spacing.(relevant_grids)
56 return minimum(d)
57 end
52 58
53 refine(g::TensorGrid, r::Int) = mapreduce(g->refine(g,r), TensorGrid, g.grids) 59 refine(g::TensorGrid, r::Int) = mapreduce(g->refine(g,r), TensorGrid, g.grids)
54 coarsen(g::TensorGrid, r::Int) = mapreduce(g->coarsen(g,r), TensorGrid, g.grids) 60 coarsen(g::TensorGrid, r::Int) = mapreduce(g->coarsen(g,r), TensorGrid, g.grids)
55 61
56 """ 62 """