Mercurial > repos > public > sbplib_julia
annotate src/Grids/multiblockgrids.jl @ 2018:a3ffc3202813 feature/grids/multiblock_grids
Start implementation of MultiBlockGrid
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Wed, 12 Mar 2025 09:34:00 +0100 |
| parents | ea2a15454cf2 |
| children | fb2dc185c197 |
| rev | line source |
|---|---|
|
2018
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
1 |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
2 struct MultiBlockGrid{T,D,GT, CT} <: Grid{T,D} |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
3 grids::GT |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
4 connections::CT |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
5 end |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
6 |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
7 function MultiBlockGrid(grids, connections) |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
8 T = eltype(valtype(grids)) |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
9 D = ndims(valtype(grids)) |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
10 |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
11 MultiBlockGrid{T,D,typeof(grids), typeof(connections)}(grids,connections) |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
12 end |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
13 |
|
a3ffc3202813
Start implementation of MultiBlockGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
2017
diff
changeset
|
14 |
| 1912 | 15 """ |
| 16 MultiBlockBoundary{N, BID} <: BoundaryIdentifier | |
| 17 | |
| 18 A boundary identifier for a multiblock grids. `N` Specifies which grid and | |
| 19 `BID` which boundary on that grid. | |
| 20 """ | |
| 21 struct MultiBlockBoundary{N, BID} <: BoundaryIdentifier end | |
| 22 grid_id(::MultiBlockBoundary{N, BID}) where {N, BID} = N | |
| 23 boundary_id(::MultiBlockBoundary{N, BID}) where {N, BID} = BID() | |
|
2017
ea2a15454cf2
Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents:
1912
diff
changeset
|
24 |
|
ea2a15454cf2
Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents:
1912
diff
changeset
|
25 |
|
ea2a15454cf2
Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents:
1912
diff
changeset
|
26 function connection(k1, b1::BoundaryIdentifier, k2, b2::BoundaryIdentifier) |
|
ea2a15454cf2
Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents:
1912
diff
changeset
|
27 return ( |
|
ea2a15454cf2
Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents:
1912
diff
changeset
|
28 MultiBlockBoundary{k1,typeof(b1)}(), |
|
ea2a15454cf2
Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents:
1912
diff
changeset
|
29 MultiBlockBoundary{k2,typeof(b2)}(), |
|
ea2a15454cf2
Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents:
1912
diff
changeset
|
30 ) |
|
ea2a15454cf2
Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents:
1912
diff
changeset
|
31 end |
|
ea2a15454cf2
Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents:
1912
diff
changeset
|
32 |
|
ea2a15454cf2
Add connectio(...) to simplify the creation of grid connection tuples
Jonatan Werpers <jonatan@werpers.com>
parents:
1912
diff
changeset
|
33 connection(t::Tuple) = connection(t...) |
