#[non_exhaustive]pub struct BusMergeRule {
pub closed_switches: bool,
pub zero_impedance: Option<ZeroImpedanceRule>,
pub charging: MergedCharging,
pub survivor: MergeSurvivor,
}Expand description
What BalancedNetwork::merge_buses merges.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.closed_switches: boolMerge the two buses of every closed switch.
zero_impedance: Option<ZeroImpedanceRule>Merge the two buses of every branch this rule selects; None merges
no branch.
charging: MergedChargingWhat happens to the charging of a removed branch.
survivor: MergeSurvivorWhich bus of each merged group survives.
Implementations§
Source§impl BusMergeRule
impl BusMergeRule
Sourcepub const fn new(
closed_switches: bool,
zero_impedance: Option<ZeroImpedanceRule>,
) -> Self
pub const fn new( closed_switches: bool, zero_impedance: Option<ZeroImpedanceRule>, ) -> Self
A rule from its two parts, folding removed branches’ charging onto the survivors.
Sourcepub const fn with_charging(self, charging: MergedCharging) -> Self
pub const fn with_charging(self, charging: MergedCharging) -> Self
The same rule with charging for the removed branches’ charging.
Sourcepub const fn with_survivor(self, survivor: MergeSurvivor) -> Self
pub const fn with_survivor(self, survivor: MergeSurvivor) -> Self
The same rule with survivor choosing each group’s surviving bus.
Sourcepub const fn exact() -> Self
pub const fn exact() -> Self
Closed switches and exact zero impedance branches: the connections that impose equal terminal voltages with no tolerance.
Sourcepub const fn closed_switches() -> Self
pub const fn closed_switches() -> Self
Closed switches only.
Sourcepub fn psse(network: &BalancedNetwork) -> Result<Self>
pub fn psse(network: &BalancedNetwork) -> Result<Self>
PSS/E semantics for network: closed switches plus
ZeroImpedanceRule::PsseThreshold at the zero impedance threshold
the case states (GENERAL THRSHZ, carried in
SolverParams::zero_impedance_threshold).
Read it from the network as parsed: normalization does not carry the solver parameters, so a normalized network states no threshold.
§Errors
Error::BusMergeRule when the case states no threshold. Name one
with ZeroImpedanceRule::PsseThreshold, for example
PSSE_DEFAULT_ZERO_IMPEDANCE_THRESHOLD.
Trait Implementations§
Source§impl Clone for BusMergeRule
impl Clone for BusMergeRule
Source§fn clone(&self) -> BusMergeRule
fn clone(&self) -> BusMergeRule
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more