changeset 563:212e266043dd feature/boundary_ops

Fix region(CartesianBoundary) not returning an instance.
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Mon, 30 Nov 2020 18:34:48 +0100
parents 8f7919a9b398
children ccb41095def6
files src/Grids/Grids.jl src/SbpOperators/boundaryops/boundary_restriction.jl
diffstat 2 files changed, 4 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/Grids/Grids.jl	Mon Nov 30 18:30:24 2020 +0100
+++ b/src/Grids/Grids.jl	Mon Nov 30 18:34:48 2020 +0100
@@ -7,7 +7,7 @@
 abstract type BoundaryIdentifier end
 struct CartesianBoundary{Dim, R<:Region} <: BoundaryIdentifier end
 dim(::CartesianBoundary{Dim, R}) where {Dim, R} = Dim
-region(::CartesianBoundary{Dim, R}) where {Dim, R} = R  #TODO: Should return R()
+region(::CartesianBoundary{Dim, R}) where {Dim, R} = R()
 
 export dim, region
 
--- a/src/SbpOperators/boundaryops/boundary_restriction.jl	Mon Nov 30 18:30:24 2020 +0100
+++ b/src/SbpOperators/boundaryops/boundary_restriction.jl	Mon Nov 30 18:34:48 2020 +0100
@@ -4,20 +4,17 @@
 Creates a BoundaryRestriction operator for the specified boundary
 """
 function boundary_restriction(grid::EquidistantGrid{1,T}, closureStencil::Stencil{T,M}, boundary::CartesianBoundary{1}) where {T,M}
-    r = region(boundary)
-    return e = BoundaryRestriction(grid, closureStencil, r())
+    return e = BoundaryRestriction(grid, closureStencil, region(boundary))
 end
 
 function boundary_restriction(grid::EquidistantGrid{2,T}, closureStencil::Stencil{T,M}, boundary::CartesianBoundary{1}) where {T,M}
-    r = region(boundary)
-    e = BoundaryRestriction(restrict(grid, 1), closureStencil, r())
+    e = BoundaryRestriction(restrict(grid, 1), closureStencil, region(boundary))
     I = IdentityMapping{T}(size(restrict(grid,2)))
     return e⊗I
 end
 
 function boundary_restriction(grid::EquidistantGrid{2,T}, closureStencil::Stencil{T,M}, boundary::CartesianBoundary{2}) where {T,M}
-    r = region(boundary)
-    e = BoundaryRestriction(restrict(grid, 2), closureStencil, r())
+    e = BoundaryRestriction(restrict(grid, 2), closureStencil, region(boundary))
     I = IdentityMapping{T}(size(restrict(grid,1)))
     return I⊗e
 end