comparison src/Grids/EquidistantGrid.jl @ 366:0af6da238d95

Merge feature/equidistant_grid/subgrid. Add function for getting isolated dimensions of EquidistantGrid
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 28 Sep 2020 22:49:21 +0200
parents 64ad8ec0eae0
children dacbcba33d7d
comparison
equal deleted inserted replaced
351:ffddaf053085 366:0af6da238d95
64 indices = Tuple.(CartesianIndices(grid.size)) 64 indices = Tuple.(CartesianIndices(grid.size))
65 h = spacing(grid) 65 h = spacing(grid)
66 return broadcast(I -> grid.limit_lower .+ (I.-1).*h, indices) 66 return broadcast(I -> grid.limit_lower .+ (I.-1).*h, indices)
67 end 67 end
68 68
69 """
70 restrict(::EquidistantGrid, dim)
71
72 Pick out given dimensions from the grid and return a grid for them
73 """
74 function restrict(grid::EquidistantGrid, dim)
75 size = grid.size[dim]
76 limit_lower = grid.limit_lower[dim]
77 limit_upper = grid.limit_upper[dim]
78
79 return EquidistantGrid(size, limit_lower, limit_upper)
80 end
81 export restrict
82
69 function pointsalongdim(grid::EquidistantGrid, dim::Integer) 83 function pointsalongdim(grid::EquidistantGrid, dim::Integer)
70 @assert dim<=dimension(grid) 84 @assert dim<=dimension(grid)
71 @assert dim>0 85 @assert dim>0
72 points = collect(range(grid.limit_lower[dim],stop=grid.limit_upper[dim],length=grid.size[dim])) 86 points = collect(range(grid.limit_lower[dim],stop=grid.limit_upper[dim],length=grid.size[dim]))
73 end 87 end