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}