Skip to main content

cimstructs/
StaticLoadModelKind.rs

1/// Type of static load model.
2#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
3pub enum StaticLoadModelKind {
4    /// This model is an exponential representation of the load. Exponential equations for active and reactive power are used and the following attributes are required: kp1, kp2, kp3, kpf, ep1, ep2, ep3 kq1, kq2, kq3, kqf, eq1, eq2, eq3.
5    exponential,
6    /// This model integrates the frequency-dependent load (primarily motors). ZIP1 equations for active and reactive power are used and the following attributes are required: kp1, kp2, kp3, kpf kq1, kq2, kq3, kqf.
7    zIP1,
8    /// This model separates the frequency-dependent load (primarily motors) from other load. ZIP2 equations for active and reactive power are used and the following attributes are required: kp1, kp2, kp3, kq4, kpf kq1, kq2, kq3, kq4, kqf.
9    zIP2,
10    /// The load is represented as a constant impedance. ConstantZ equations are used for active and reactive power and no attributes are required.
11    constantZ,
12}
13
14impl StaticLoadModelKind {
15    pub fn uri(&self) -> &'static str {
16        match self {
17            StaticLoadModelKind::exponential => "http://iec.ch/TC57/CIM100#StaticLoadModelKind.exponential",
18            StaticLoadModelKind::zIP1 => "http://iec.ch/TC57/CIM100#StaticLoadModelKind.zIP1",
19            StaticLoadModelKind::zIP2 => "http://iec.ch/TC57/CIM100#StaticLoadModelKind.zIP2",
20            StaticLoadModelKind::constantZ => "http://iec.ch/TC57/CIM100#StaticLoadModelKind.constantZ",
21        }
22    }
23}