pub struct ReactiveCapability {
pub pq_curve: Vec<(f64, f64, f64)>,
pub pc1: Option<f64>,
pub pc2: Option<f64>,
pub qc1min: Option<f64>,
pub qc1max: Option<f64>,
pub qc2min: Option<f64>,
pub qc2max: Option<f64>,
pub pq_linear_equality: Option<PqLinearLink>,
pub pq_linear_upper: Option<PqLinearLink>,
pub pq_linear_lower: Option<PqLinearLink>,
}Expand description
Reactive capability curve data (MATPOWER cols 10-15 + D-curve).
Fields§
§pq_curve: Vec<(f64, f64, f64)>Sorted list of (p_pu, qmax_pu, qmin_pu) operating points.
pc1: Option<f64>Lower real power output point for Q capability curve (MW).
pc2: Option<f64>Upper real power output point for Q capability curve (MW).
qc1min: Option<f64>Minimum reactive power at Pc1 (MVAr).
qc1max: Option<f64>Maximum reactive power at Pc1 (MVAr).
qc2min: Option<f64>Minimum reactive power at Pc2 (MVAr).
qc2max: Option<f64>Maximum reactive power at Pc2 (MVAr).
pq_linear_equality: Option<PqLinearLink>GO Competition Challenge 3 §4.6 eq (116): linear EQUALITY linking
q = q_at_p_zero_pu + beta * p. Devices in J^pqe. The PDF
further constrains q-reserves to zero on these devices (eqs
117-118), enforced by the reserves layer when present. None of the
public 73/617/2000-bus scenarios I inspected exercise this case
(q_linear_cap = 1 in the GO JSON), but the larger 4000+ bus
problems may.
pq_linear_upper: Option<PqLinearLink>GO Competition Challenge 3 §4.6 eq (114): linear UPPER bound
q + q^qru ≤ q_at_p_zero_pu + beta * p on devices in J^pqmax.
In GO C3 inputs this is signaled by q_bound_cap = 1 together
with q_0_ub and beta_ub.
pq_linear_lower: Option<PqLinearLink>GO Competition Challenge 3 §4.6 eq (115): linear LOWER bound
q − q^qrd ≥ q_at_p_zero_pu + beta * p on devices in J^pqmin.
In GO C3 inputs this is signaled by q_bound_cap = 1 together
with q_0_lb and beta_lb. The GO data property eq (229)
guarantees J^pqmax = J^pqmin, so a device with q_bound_cap = 1
always carries both pq_linear_upper and pq_linear_lower.
Trait Implementations§
Source§impl Clone for ReactiveCapability
impl Clone for ReactiveCapability
Source§fn clone(&self) -> ReactiveCapability
fn clone(&self) -> ReactiveCapability
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more