Links (Bus Couplers / Sectionalizers)

Concept

Links represent impedance-less topological connections between buses.

Typical use cases:

  • Busbar couplers
  • Sectionalizers
  • Node splitting / merging in CIM imports

A link is not a physical branch:

  • It has no impedance
  • It is not stamped into the Y-bus
  • It enforces voltage equality constraints

Mathematical interpretation

A closed link between bus i and j imposes:

\[[ V_i = V_j ]\]

This introduces a topological constraint, not an admittance.


Relation to KCL

Since links are not part of the Y-bus, Kirchhoff’s Current Law (KCL) is not enforced via admittance equations at the link.

Instead:

  • KCL is enforced per bus after topology processing
  • Link flows are reconstructed after solving via power balancing

Zero-impedance loops (critical case)

If multiple links form a loop, the system contains a zero-impedance cycle.

Example:

Bus1 ──link── Bus2
  │             │
 link          link
  │             │
Bus3 ───────────

This leads to:

  • No voltage drop in the loop
  • Underdetermined current distribution
  • Singular system if treated electrically

Resolution via Pseudoinverse

To compute link flows in such cases, Sparlectra uses a minimum-norm solution.

Let:

  • $A$ = incidence matrix of link graph
  • $f$ = unknown link flows
  • $b$ = nodal power imbalance

We solve:

\[[ A f = b ]\]

Since the system is rank-deficient:

\[[ f = A^{+} b ]\]

where $A^{+}$ is the Moore–Penrose pseudoinverse.


Interpretation of the solution

The pseudoinverse yields:

  • A consistent KCL solution

  • The minimum 2-norm flow distribution

  • Physically equivalent to:

    • uniform distribution of flows in symmetric loops
    • no artificial circulation currents

Practical implications

  • Link flows in loops are not unique
  • Sparlectra returns the minimum-energy solution
  • Results are stable and deterministic

Modeling guidelines

  • Do not connect links to slack buses
  • Prefer identical bus types for linked buses
  • Use links only for topology, not impedance modeling
  • Avoid large link-only subgraphs without measurements (SE context)

Example

linkNr = addLink!(net = net, fromBus = "Bus1", toBus = "Bus1a", status = 1)

Summary

AspectBehavior
Electrical modelnone (no Y-bus entry)
Constraintvoltage equality
Loop handlingpseudoinverse
Flow uniquenessnot unique
Returned solutionminimum-norm