1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 """Case data in external format.
18 """
19
20 from numpy import array, ones, arange, r_
21
22
24 """Case data in external format used to test C{ext2int} and C{int2ext}.
25 """
26 ppc = {}
27
28
29 ppc['version'] = '2'
30
31
32
33 ppc['baseMVA'] = 100.0
34
35
36
37 ppc['bus'] = array([
38 [1, 3, 0, 0, 0, 0, 1, 1, 0, 345, 1, 1.1, 0.9],
39 [2, 2, 0, 0, 0, 0, 1, 1, 0, 345, 1, 1.1, 0.9],
40 [30, 2, 0, 0, 0, 0, 1, 1, 0, 345, 1, 1.1, 0.9],
41 [4, 1, 0, 0, 0, 0, 1, 1, 0, 345, 1, 1.1, 0.9],
42 [5, 1, 90, 30, 0, 0, 1, 1, 0, 345, 1, 1.1, 0.9],
43 [20, 4, 0, 0, 0, 0, 1, 1, 0, 345, 1, 1.1, 0.9],
44 [6, 1, 0, 0, 0, 0, 1, 1, 0, 345, 1, 1.1, 0.9],
45 [7, 1, 100, 35, 0, 0, 1, 1, 0, 345, 1, 1.1, 0.9],
46 [8, 1, 0, 0, 0, 0, 1, 1, 0, 345, 1, 1.1, 0.9],
47 [9, 1, 125, 50, 0, 0, 1, 1, 0, 345, 1, 1.1, 0.9]
48 ])
49
50
51
52
53 ppc['gen'] = array([
54 [30, 85, 0, 300, -300, 1, 100, 1, 270, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
55 [2, 163, 0, 300, -300, 1, 100, 1, 300, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
56 [20, 20, 0, 300, -300, 1, 100, 1, 200, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
57 [1, 0, 0, 300, -300, 1, 100, 1, 250, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
58 ], float)
59
60
61
62 ppc['branch'] = array([
63 [1, 4, 0, 0.0576, 0, 0, 250, 250, 0, 0, 1, -360, 360],
64 [4, 5, 0.017, 0.092, 0.158, 0, 250, 250, 0, 0, 1, -360, 360],
65 [5, 6, 0.039, 0.17, 0.358, 150, 150, 150, 0, 0, 1, -360, 360],
66 [30, 6, 0, 0.0586, 0, 0, 300, 300, 0, 0, 1, -360, 360],
67 [6, 7, 0.0119, 0.1008, 0.209, 40, 150, 150, 0, 0, 1, -360, 360],
68 [7, 8, 0.0085, 0.072, 0.149, 250, 250, 250, 0, 0, 1, -360, 360],
69 [8, 20, 0, 0.1, 0, 250, 250, 250, 0, 0, 1, -360, 360],
70 [8, 2, 0, 0.0625, 0, 250, 250, 250, 0, 0, 1, -360, 360],
71 [8, 9, 0.032, 0.161, 0.306, 250, 250, 250, 0, 0, 1, -360, 360],
72 [9, 4, 0.01, 0.085, 0.176, 250, 250, 250, 0, 0, 1, -360, 360]
73 ])
74
75
76
77
78 ppc['areas'] = array([
79 [2, 20],
80 [1, 5]
81 ], float)
82
83
84
85
86 ppc['gencost'] = array([
87 [2, 0, 0, 2, 15, 0, 0, 0, 0, 0, 0, 0],
88 [1, 0, 0, 4, 0, 0, 100, 2500, 200, 5500, 250, 7250],
89 [2, 0, 0, 2, 20, 0, 0, 0, 0, 0, 0, 0],
90 [1, 0, 0, 4, 0, 0, 100, 2000, 200, 4403.5, 270, 6363.5]
91 ])
92
93 ppc['A'] = array([
94 [1, 2, 3, 4, 5, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 17, 18, 19, 20, 21, 22, 0, 24, 25, 26, 0, 28, 29, 30],
95 [2, 4, 6, 8, 10, 0, 14, 16, 18, 20, 22, 24, 26, 28, 30, 0, 34, 36, 38, 40, 42, 44, 0, 48, 50, 52, 0, 56, 58, 60]
96 ], float)
97
98 ppc['N'] = array([
99 [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1],
100 [60, 58, 56, 54, 52, 50, 48, 46, 44, 42, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2],
101 ], float)
102
103 ppc['xbus'] = arange(100, dtype=float).reshape((10, 10))
104 ppc['xgen'] = arange(16, dtype=float).reshape((4, 4))
105 ppc['xbranch'] = ppc['xbus'].copy()
106 ppc['xrows'] = r_[ppc['xbranch'][:, :4], ppc['xgen'], ppc['xbus'][:, :4], -ones((2, 4))]
107 ppc['xcols'] = ppc['xrows'].T
108 ppc['x'] = { 'more': ppc['xgen'] }
109
110 return ppc
111