Mercurial > repos > public > sbplib_julia
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