1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 """Power flow data for 30 bus, 6 gen case w/reserves & iflims.
18 """
19
20 from numpy import array
21
22
24 """Power flow data for 30 bus, 6 gen case w/reserves & iflims.
25 Please see L{caseformat} for details on the case file format.
26
27 Same as case30.py, but with fixed reserve and interface flow limit data.
28 The reserve data is defined in the fields of ppc.reserves and the
29 interface flow limit data in ppc.if at the bottom of the file.
30
31 @return: Power flow data for 30 bus, 6 gen case w/reserves & iflims.
32 """
33 ppc = {}
34
35
36 ppc['version'] = '2'
37
38
39
40 ppc['baseMVA'] = 100.0
41
42
43
44 ppc['bus'] = array([
45 [1, 3, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95],
46 [2, 2, 21.7, 12.7, 0, 0, 1, 1, 0, 135, 1, 1.1, 0.95],
47 [3, 1, 2.4, 1.2, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95],
48 [4, 1, 7.6, 1.6, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95],
49 [5, 1, 0, 0, 0, 0.19, 1, 1, 0, 135, 1, 1.05, 0.95],
50 [6, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95],
51 [7, 1, 22.8, 10.9, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95],
52 [8, 1, 30, 30, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95],
53 [9, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95],
54 [10, 1, 5.8, 2, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95],
55 [11, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95],
56 [12, 1, 11.2, 7.5, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95],
57 [13, 2, 0, 0, 0, 0, 2, 1, 0, 135, 1, 1.1, 0.95],
58 [14, 1, 6.2, 1.6, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95],
59 [15, 1, 8.2, 2.5, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95],
60 [16, 1, 3.5, 1.8, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95],
61 [17, 1, 9, 5.8, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95],
62 [18, 1, 3.2, 0.9, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95],
63 [19, 1, 9.5, 3.4, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95],
64 [20, 1, 2.2, 0.7, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95],
65 [21, 1, 17.5, 11.2, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95],
66 [22, 2, 0, 0, 0, 0, 3, 1, 0, 135, 1, 1.1, 0.95],
67 [23, 2, 3.2, 1.6, 0, 0, 2, 1, 0, 135, 1, 1.1, 0.95],
68 [24, 1, 8.7, 6.7, 0, 0.04, 3, 1, 0, 135, 1, 1.05, 0.95],
69 [25, 1, 0, 0, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95],
70 [26, 1, 3.5, 2.3, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95],
71 [27, 2, 0, 0, 0, 0, 3, 1, 0, 135, 1, 1.1, 0.95],
72 [28, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95],
73 [29, 1, 2.4, 0.9, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95],
74 [30, 1, 10.6, 1.9, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95]
75 ])
76
77
78
79
80 ppc['gen'] = array([
81 [1, 23.54, 0, 150, -20, 1, 100, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
82 [2, 60.97, 0, 60, -20, 1, 100, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
83 [22, 21.59, 0, 62.5, -15, 1, 100, 1, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
84 [27, 26.91, 0, 48.7, -15, 1, 100, 1, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
85 [23, 19.2, 0, 40, -10, 1, 100, 1, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
86 [13, 37, 0, 44.7, -15, 1, 100, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
87 ])
88
89
90
91 ppc['branch'] = array([
92 [1, 2, 0.02, 0.06, 0.03, 130, 130, 130, 0, 0, 1, -360, 360],
93 [1, 3, 0.05, 0.19, 0.02, 130, 130, 130, 0, 0, 1, -360, 360],
94 [2, 4, 0.06, 0.17, 0.02, 65, 65, 65, 0, 0, 1, -360, 360],
95 [3, 4, 0.01, 0.04, 0, 130, 130, 130, 0, 0, 1, -360, 360],
96 [2, 5, 0.05, 0.2, 0.02, 130, 130, 130, 0, 0, 1, -360, 360],
97 [2, 6, 0.06, 0.18, 0.02, 65, 65, 65, 0, 0, 1, -360, 360],
98 [4, 6, 0.01, 0.04, 0, 90, 90, 90, 0, 0, 1, -360, 360],
99 [5, 7, 0.05, 0.12, 0.01, 70, 70, 70, 0, 0, 1, -360, 360],
100 [6, 7, 0.03, 0.08, 0.01, 130, 130, 130, 0, 0, 1, -360, 360],
101 [6, 8, 0.01, 0.04, 0, 32, 32, 32, 0, 0, 1, -360, 360],
102 [6, 9, 0, 0.21, 0, 65, 65, 65, 0, 0, 1, -360, 360],
103 [6, 10, 0, 0.56, 0, 32, 32, 32, 0, 0, 1, -360, 360],
104 [9, 11, 0, 0.21, 0, 65, 65, 65, 0, 0, 1, -360, 360],
105 [9, 10, 0, 0.11, 0, 65, 65, 65, 0, 0, 1, -360, 360],
106 [4, 12, 0, 0.26, 0, 65, 65, 65, 0, 0, 1, -360, 360],
107 [12, 13, 0, 0.14, 0, 65, 65, 65, 0, 0, 1, -360, 360],
108 [12, 14, 0.12, 0.26, 0, 32, 32, 32, 0, 0, 1, -360, 360],
109 [12, 15, 0.07, 0.13, 0, 32, 32, 32, 0, 0, 1, -360, 360],
110 [12, 16, 0.09, 0.2, 0, 32, 32, 32, 0, 0, 1, -360, 360],
111 [14, 15, 0.22, 0.2, 0, 16, 16, 16, 0, 0, 1, -360, 360],
112 [16, 17, 0.08, 0.19, 0, 16, 16, 16, 0, 0, 1, -360, 360],
113 [15, 18, 0.11, 0.22, 0, 16, 16, 16, 0, 0, 1, -360, 360],
114 [18, 19, 0.06, 0.13, 0, 16, 16, 16, 0, 0, 1, -360, 360],
115 [19, 20, 0.03, 0.07, 0, 32, 32, 32, 0, 0, 1, -360, 360],
116 [10, 20, 0.09, 0.21, 0, 32, 32, 32, 0, 0, 1, -360, 360],
117 [10, 17, 0.03, 0.08, 0, 32, 32, 32, 0, 0, 1, -360, 360],
118 [10, 21, 0.03, 0.07, 0, 32, 32, 32, 0, 0, 1, -360, 360],
119 [10, 22, 0.07, 0.15, 0, 32, 32, 32, 0, 0, 1, -360, 360],
120 [21, 22, 0.01, 0.02, 0, 32, 32, 32, 0, 0, 1, -360, 360],
121 [15, 23, 0.1, 0.2, 0, 16, 16, 16, 0, 0, 1, -360, 360],
122 [22, 24, 0.12, 0.18, 0, 16, 16, 16, 0, 0, 1, -360, 360],
123 [23, 24, 0.13, 0.27, 0, 16, 16, 16, 0, 0, 1, -360, 360],
124 [24, 25, 0.19, 0.33, 0, 16, 16, 16, 0, 0, 1, -360, 360],
125 [25, 26, 0.25, 0.38, 0, 16, 16, 16, 0, 0, 1, -360, 360],
126 [25, 27, 0.11, 0.21, 0, 16, 16, 16, 0, 0, 1, -360, 360],
127 [28, 27, 0, 0.4, 0, 65, 65, 65, 0, 0, 1, -360, 360],
128 [27, 29, 0.22, 0.42, 0, 16, 16, 16, 0, 0, 1, -360, 360],
129 [27, 30, 0.32, 0.6, 0, 16, 16, 16, 0, 0, 1, -360, 360],
130 [29, 30, 0.24, 0.45, 0, 16, 16, 16, 0, 0, 1, -360, 360],
131 [8, 28, 0.06, 0.2, 0.02, 32, 32, 32, 0, 0, 1, -360, 360],
132 [6, 28, 0.02, 0.06, 0.01, 32, 32, 32, 0, 0, 1, -360, 360]
133 ])
134
135
136
137
138 ppc['areas'] = array([
139 [1, 8],
140 [2, 23],
141 [3, 26],
142 ])
143
144
145
146
147 ppc['gencost'] = array([
148 [2, 0, 0, 3, 0.02, 2, 0],
149 [2, 0, 0, 3, 0.0175, 1.75, 0],
150 [2, 0, 0, 3, 0.0625, 1, 0],
151 [2, 0, 0, 3, 0.00834, 3.25, 0],
152 [2, 0, 0, 3, 0.025, 3, 0],
153 [2, 0, 0, 3, 0.025, 3, 0]
154 ])
155
156
157 ppc['reserves'] = {}
158
159
160 ppc['reserves']['zones'] = array([
161 [1, 1, 1, 1, 1, 1],
162 [0, 0, 0, 0, 1, 1]
163 ], float)
164
165
166 ppc['reserves']['req'] = array([60, 20], float)
167
168
169
170 ppc['reserves']['cost'] = array([1.9, 2, 3, 4, 5, 5.5])
171
172
173
174
175 ppc['reserves']['qty'] = array([25, 25, 25, 25, 25, 25], float)
176
177
178
179 ppc['if'] = {}
180
181
182 ppc['if']['map'] = array([
183 [1, -11],
184 [1, -13],
185 [1, -14],
186 [1, -35],
187 [2, 14],
188 [2, 24],
189 [2, 25],
190 [2, -31],
191 [3, 11],
192 [3, 13],
193 [3, -24],
194 [3, -25],
195 [3, 31],
196 [3, 35]
197 ], int)
198
199
200
201
202 ppc['if']['lims'] = array([
203 [1, -15, 25],
204 [2, -10, 20]
205 ], float)
206
207 return ppc
208