Skip to main content

Module merge

Module merge 

Source
Expand description

One explicit bus merge: closed switches and zero impedance branches.

BalancedNetwork::merge_buses joins every set of buses connected by the elements a BusMergeRule selects into one surviving bus, rewrites every element reference onto it, and removes the joining elements. The result is a BusMerge: the merged network, the map from each merged bus to its survivor, every removed element with its source row and ratings, the branch and switch row maps, and diagnostics for what the merge changed.

The rule is always the caller’s: ZeroImpedanceRule::Exact merges only branches with r == 0 and x == 0, and a threshold rule names its threshold. Nothing here selects elements by a tolerance the caller did not state; only the attribute conflict report compares within a fixed 1e-9.

The merged network no longer has the removed elements’ flows as variables. BusMerge::calc_removed_flows recovers their active power from a solution of the merged network.

Structs§

BusGroup
Buses the merge joined into one.
BusMerge
The result of BalancedNetwork::merge_buses.
BusMergeRule
What BalancedNetwork::merge_buses merges.
MergedFlows
A solution of a merged network, as BusMerge::calc_removed_flows reads it. Every value is active power in the network’s own units (MW for a network as parsed, per unit for a normalized one).
RemovedBranch
A branch the merge removed.
RemovedFlow
One recovered flow.
RemovedFlows
The result of BusMerge::calc_removed_flows.
RemovedSwitch
A switch the merge removed.

Enums§

MergeSurvivor
Which bus of a merged group survives and carries the group.
MergedCharging
What happens to the line charging and line shunts of a branch the merge removes. A bypassed transformer’s series equivalent is always retained.
RemovalReason
Why a merge removed an element.
RemovedFlowMethod
How BusMerge::calc_removed_flows determined one flow.
ZeroImpedanceRule
Which branches a BusMergeRule treats as zero impedance connections.

Constants§

PSSE_DEFAULT_ZERO_IMPEDANCE_THRESHOLD
The zero impedance threshold PSS/E applies when a case states none (THRSHZ, per unit). BusMergeRule::psse does not fall back to it; a caller that wants it for a case that states no threshold names it.