comparison src/Grids/equidistant_grid.jl @ 1672:3714a391545a refactor/grids/boundary_identifiers_1d

Make the boundary identifiers for EquidistantGrid subtype BoundaryIdentifer
author Vidar Stiernström <vidar.stiernstrom@gmail.com>
date Sun, 07 Jul 2024 15:15:12 -0700
parents 5f348cc5598e
children f09d98874f12
comparison
equal deleted inserted replaced
1671:791d0f3f289a 1672:3714a391545a
47 """ 47 """
48 inverse_spacing(g::EquidistantGrid) = 1/step(g.points) 48 inverse_spacing(g::EquidistantGrid) = 1/step(g.points)
49 49
50 min_spacing(g::EquidistantGrid) = spacing(g) 50 min_spacing(g::EquidistantGrid) = spacing(g)
51 51
52 """
53 LowerBoundary <: BoundaryIdentifier
52 54
53 boundary_identifiers(::EquidistantGrid) = (Lower(), Upper()) 55 Boundary identifier for the the lower (left) boundary of an EquidistantGrid
54 boundary_grid(g::EquidistantGrid, id::Lower) = ZeroDimGrid(g[begin]) 56
55 boundary_grid(g::EquidistantGrid, id::Upper) = ZeroDimGrid(g[end]) 57 See also: [`BoundaryIdentifier`](@ref)
56 boundary_indices(g::EquidistantGrid, id::Lower) = (1,) 58 """
57 boundary_indices(g::EquidistantGrid, id::Upper) = (length(g),) 59 struct LowerBoundary <: BoundaryIdentifier end
60
61 """
62 UpperBoundary <: BoundaryIdentifier
63
64 Boundary identifier for the the upper (right) boundary of an EquidistantGrid
65
66 See also: [`BoundaryIdentifier`](@ref)
67 """
68 struct UpperBoundary <: BoundaryIdentifier end
69
70
71 boundary_identifiers(::EquidistantGrid) = (LowerBoundary(), UpperBoundary())
72 boundary_grid(g::EquidistantGrid, id::LowerBoundary) = ZeroDimGrid(g[begin])
73 boundary_grid(g::EquidistantGrid, id::UpperBoundary) = ZeroDimGrid(g[end])
74 boundary_indices(g::EquidistantGrid, id::LowerBoundary) = (firstindex(g),)
75 boundary_indices(g::EquidistantGrid, id::UpperBoundary) = (lastindex(g),)
58 76
59 """ 77 """
60 refine(g::EquidistantGrid, r::Int) 78 refine(g::EquidistantGrid, r::Int)
61 79
62 The grid where `g` is refined by the factor `r`. The factor is applied to the number of 80 The grid where `g` is refined by the factor `r`. The factor is applied to the number of