Skip to main content

surge_network/network/
switching_device_rating.rs

1// SPDX-License-Identifier: LicenseRef-PolyForm-Noncommercial-1.0.0
2use serde::{Deserialize, Serialize};
3
4/// Switching device alternate rating set (PSS/E v36).
5///
6/// Provides one named rating set for a switching device identified by
7/// (from\_bus, to\_bus, circuit). Multiple rating sets per device are
8/// supported via different `rating_set` values.
9#[derive(Debug, Clone, Serialize, Deserialize)]
10pub struct SwitchingDeviceRatingSet {
11    /// From bus number.
12    pub from_bus: u32,
13    /// To bus number.
14    pub to_bus: u32,
15    /// Circuit identifier.
16    pub circuit: String,
17    /// Rating set number.
18    pub rating_set: u32,
19    /// Normal rating (MVA).
20    pub rate1: f64,
21    /// Short-term rating (MVA).
22    pub rate2: f64,
23    /// Emergency rating (MVA).
24    pub rate3: f64,
25    /// Additional ratings (rate4 through rate12).
26    #[serde(default, skip_serializing_if = "Vec::is_empty")]
27    pub additional_rates: Vec<f64>,
28}