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}