Skip to content

Commit

Permalink
Add LevelPlaceholderSpace
Browse files Browse the repository at this point in the history
  • Loading branch information
dennisYatunin committed Sep 12, 2024
1 parent 476d93c commit 2e4237c
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions src/Operators/common.jl
Original file line number Diff line number Diff line change
Expand Up @@ -69,13 +69,21 @@ end

# Functions for CUDASpectralStyle
struct PlaceholderSpace <: Spaces.AbstractSpace end
struct LevelPlaceholderSpace <: Spaces.AbstractSpace end
struct CenterPlaceholderSpace <: Spaces.AbstractSpace end
struct FacePlaceholderSpace <: Spaces.AbstractSpace end


placeholder_space(current_space, parent_space) = current_space
placeholder_space(current_space::T, parent_space::T) where {T} =
PlaceholderSpace()
placeholder_space(current_space, parent_space) = current_space
placeholder_space(
current_space::Spaces.AbstractPointSpace,
parent_space::Spaces.AbstractFiniteDifferenceSpace,
) = LevelPlaceholderSpace()
placeholder_space(
current_space::Spaces.AbstractSpectralElementSpace,
parent_space::Spaces.ExtrudedFiniteDifferenceSpace,
) = LevelPlaceholderSpace()
placeholder_space(
current_space::Spaces.CenterFiniteDifferenceSpace,
parent_space::Spaces.FaceFiniteDifferenceSpace,
Expand All @@ -93,8 +101,12 @@ placeholder_space(
parent_space::Spaces.CenterExtrudedFiniteDifferenceSpace,
) = FacePlaceholderSpace()

@inline reconstruct_placeholder_space(current_space, parent_space) =
current_space
@inline reconstruct_placeholder_space(::PlaceholderSpace, parent_space) =
parent_space
@inline reconstruct_placeholder_space(::LevelPlaceholderSpace, parent_space) =
Spaces.level(parent_space, left_idx(parent_space)) # extract any level
@inline reconstruct_placeholder_space(
::CenterPlaceholderSpace,
parent_space::Spaces.FaceFiniteDifferenceSpace,
Expand All @@ -111,9 +123,6 @@ placeholder_space(
::FacePlaceholderSpace,
parent_space::Spaces.CenterExtrudedFiniteDifferenceSpace,
) = Spaces.FaceExtrudedFiniteDifferenceSpace(parent_space)
@inline reconstruct_placeholder_space(current_space, parent_space) =
current_space


strip_space(obj, parent_space) = obj

Expand Down

0 comments on commit 2e4237c

Please sign in to comment.