view src/Grids/multiblockgrids.jl @ 2017:ea2a15454cf2 feature/grids/multiblock_grids

Add connectio(...) to simplify the creation of grid connection tuples
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 12 Mar 2025 09:32:32 +0100
parents e68669552ed8
children a3ffc3202813
line wrap: on
line source

"""
    MultiBlockBoundary{N, BID} <: BoundaryIdentifier

A boundary identifier for a multiblock grids. `N` Specifies which grid and
`BID` which boundary on that grid.
"""
struct MultiBlockBoundary{N, BID} <: BoundaryIdentifier end
grid_id(::MultiBlockBoundary{N, BID}) where {N, BID} = N
boundary_id(::MultiBlockBoundary{N, BID}) where {N, BID} = BID()


function connection(k1, b1::BoundaryIdentifier, k2, b2::BoundaryIdentifier)
    return (
        MultiBlockBoundary{k1,typeof(b1)}(),
        MultiBlockBoundary{k2,typeof(b2)}(),
    )
end

connection(t::Tuple) = connection(t...)