@@ -402,44 +402,6 @@ Base.zero(::T) where {T <: ConnectionRule} = zero(T)
402
402
struct NotConnected{CR <: ConnectionRule } end
403
403
Base. getindex (:: NotConnected{CR} , inds... ) where {CR} = zero (CR)
404
404
Base. copy (c:: NotConnected ) = c
405
- """
406
- ConnectionMatrix{N, CR, Tup}
407
-
408
- A block matrix representing connections between N different subsystem types using
409
- connection rules of type `CR`.
410
-
411
- # Structure
412
- The matrix is organized as blocks where `data[i][j]` contains connections from
413
- subsystems of type `i` to subsystems of type `j`:
414
-
415
- ```
416
- dst type 1 dst type 2 dst type 3
417
- ┌─────────────┬─────────────┬─────────────┐
418
- type 1 │ data[1][1] │ data[1][2] │ data[1][3] │
419
- ├─────────────┼─────────────┼─────────────┤
420
- type 2 │ data[2][1] │ data[2][2] │ data[2][3] │ src
421
- ├─────────────┼─────────────┼─────────────┤
422
- type 3 │ data[3][1] │ data[3][2] │ data[3][3] │
423
- └─────────────┴─────────────┴─────────────┘
424
- ```
425
-
426
- Each block is either:
427
- - A sparse matrix of `ConnectionRule` objects
428
- - `NotConnected{CR}()` if no connections exist
429
-
430
- # Example
431
- ```julia
432
- # Block [2,1] has Spring connections from type 2 → type 1
433
- # Block [1,2] has no connections
434
- ConnectionMatrix with Spring connections:
435
- [1,1]: 2×2 sparse matrix
436
- [1,2]: NotConnected
437
- [2,1]: 3×2 sparse matrix
438
- [2,2]: NotConnected
439
- ```
440
-
441
- See also: [`ConnectionMatrices`](@ref), [`NotConnected`](@ref)
442
- """
443
405
struct ConnectionMatrix{N, CR, Tup <: NTuple {N, NTuple{N, Union{NotConnected{CR}, AbstractMatrix{CR}}}}}
444
406
data:: Tup
445
407
end
0 commit comments