Package pypower :: Module case30
[hide private]
[frames] | no frames]

Source Code for Module pypower.case30

  1  # Copyright (C) 1996-2011 Power System Engineering Research Center (PSERC) 
  2  # Copyright (C) 2011 Richard Lincoln 
  3  # 
  4  # PYPOWER is free software: you can redistribute it and/or modify 
  5  # it under the terms of the GNU General Public License as published 
  6  # by the Free Software Foundation, either version 3 of the License, 
  7  # or (at your option) any later version. 
  8  # 
  9  # PYPOWER is distributed in the hope that it will be useful, 
 10  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
 11  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
 12  # GNU General Public License for more details. 
 13  # 
 14  # You should have received a copy of the GNU General Public License 
 15  # along with PYPOWER. If not, see <http://www.gnu.org/licenses/>. 
 16   
 17  """Power flow data for 30 bus, 6 generator case. 
 18  """ 
 19   
 20  from numpy import array 
 21   
22 -def case30():
23 """Power flow data for 30 bus, 6 generator case. 24 Please see L{caseformat} for details on the case file format. 25 26 Based on data from ... 27 28 Alsac, O. & Stott, B., I{"Optimal Load Flow with Steady State Security"}, 29 IEEE Transactions on Power Apparatus and Systems, Vol. PAS 93, No. 3, 30 1974, pp. 745-751. 31 32 ... with branch parameters rounded to nearest 0.01, shunt values divided 33 by 100 and shunt on bus 10 moved to bus 5, load at bus 5 zeroed out. 34 Generator locations, costs and limits and bus areas were taken from ... 35 36 Ferrero, R.W., Shahidehpour, S.M., Ramesh, V.C., I{"Transaction analysis 37 in deregulated power systems using game theory"}, IEEE Transactions on 38 Power Systems, Vol. 12, No. 3, Aug 1997, pp. 1340-1347. 39 40 Generator Q limits were derived from Alsac & Stott, using their Pmax 41 capacities. V limits and line |S| limits taken from Alsac & Stott. 42 43 @return: Power flow data for 30 bus, 6 generator case. 44 @see: U{http://www.pserc.cornell.edu/matpower/} 45 """ 46 ppc = {"version": '2'} 47 48 ##----- Power Flow Data -----## 49 ## system MVA base 50 ppc["baseMVA"] = 100.0 51 52 ## bus data 53 # bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vmin 54 ppc["bus"] = array([ 55 [1, 3, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 56 [2, 2, 21.7, 12.7, 0, 0, 1, 1, 0, 135, 1, 1.1, 0.95], 57 [3, 1, 2.4, 1.2, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 58 [4, 1, 7.6, 1.6, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 59 [5, 1, 0, 0, 0, 0.19, 1, 1, 0, 135, 1, 1.05, 0.95], 60 [6, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 61 [7, 1, 22.8, 10.9, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 62 [8, 1, 30, 30, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 63 [9, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 64 [10, 1, 5.8, 2, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95], 65 [11, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 66 [12, 1, 11.2, 7.5, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 67 [13, 2, 0, 0, 0, 0, 2, 1, 0, 135, 1, 1.1, 0.95], 68 [14, 1, 6.2, 1.6, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 69 [15, 1, 8.2, 2.5, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 70 [16, 1, 3.5, 1.8, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 71 [17, 1, 9, 5.8, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 72 [18, 1, 3.2, 0.9, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 73 [19, 1, 9.5, 3.4, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 74 [20, 1, 2.2, 0.7, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 75 [21, 1, 17.5, 11.2, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95], 76 [22, 2, 0, 0, 0, 0, 3, 1, 0, 135, 1, 1.1, 0.95], 77 [23, 2, 3.2, 1.6, 0, 0, 2, 1, 0, 135, 1, 1.1, 0.95], 78 [24, 1, 8.7, 6.7, 0, 0.04, 3, 1, 0, 135, 1, 1.05, 0.95], 79 [25, 1, 0, 0, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95], 80 [26, 1, 3.5, 2.3, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95], 81 [27, 2, 0, 0, 0, 0, 3, 1, 0, 135, 1, 1.1, 0.95], 82 [28, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 83 [29, 1, 2.4, 0.9, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95], 84 [30, 1, 10.6, 1.9, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95] 85 ]) 86 87 ## generator data 88 # bus, Pg, Qg, Qmax, Qmin, Vg, mBase, status, Pmax, Pmin, Pc1, Pc2, 89 # Qc1min, Qc1max, Qc2min, Qc2max, ramp_agc, ramp_10, ramp_30, ramp_q, apf 90 ppc["gen"] = array([ 91 [1, 23.54, 0, 150, -20, 1, 100, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 92 [2, 60.97, 0, 60, -20, 1, 100, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 93 [22, 21.59, 0, 62.5, -15, 1, 100, 1, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 94 [27, 26.91, 0, 48.7, -15, 1, 100, 1, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 95 [23, 19.2, 0, 40, -10, 1, 100, 1, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 96 [13, 37, 0, 44.7, -15, 1, 100, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 97 ]) 98 99 ## branch data 100 # fbus, tbus, r, x, b, rateA, rateB, rateC, ratio, angle, status, angmin, angmax 101 ppc["branch"] = array([ 102 [1, 2, 0.02, 0.06, 0.03, 130, 130, 130, 0, 0, 1, -360, 360], 103 [1, 3, 0.05, 0.19, 0.02, 130, 130, 130, 0, 0, 1, -360, 360], 104 [2, 4, 0.06, 0.17, 0.02, 65, 65, 65, 0, 0, 1, -360, 360], 105 [3, 4, 0.01, 0.04, 0, 130, 130, 130, 0, 0, 1, -360, 360], 106 [2, 5, 0.05, 0.2, 0.02, 130, 130, 130, 0, 0, 1, -360, 360], 107 [2, 6, 0.06, 0.18, 0.02, 65, 65, 65, 0, 0, 1, -360, 360], 108 [4, 6, 0.01, 0.04, 0, 90, 90, 90, 0, 0, 1, -360, 360], 109 [5, 7, 0.05, 0.12, 0.01, 70, 70, 70, 0, 0, 1, -360, 360], 110 [6, 7, 0.03, 0.08, 0.01, 130, 130, 130, 0, 0, 1, -360, 360], 111 [6, 8, 0.01, 0.04, 0, 32, 32, 32, 0, 0, 1, -360, 360], 112 [6, 9, 0, 0.21, 0, 65, 65, 65, 0, 0, 1, -360, 360], 113 [6, 10, 0, 0.56, 0, 32, 32, 32, 0, 0, 1, -360, 360], 114 [9, 11, 0, 0.21, 0, 65, 65, 65, 0, 0, 1, -360, 360], 115 [9, 10, 0, 0.11, 0, 65, 65, 65, 0, 0, 1, -360, 360], 116 [4, 12, 0, 0.26, 0, 65, 65, 65, 0, 0, 1, -360, 360], 117 [12, 13, 0, 0.14, 0, 65, 65, 65, 0, 0, 1, -360, 360], 118 [12, 14, 0.12, 0.26, 0, 32, 32, 32, 0, 0, 1, -360, 360], 119 [12, 15, 0.07, 0.13, 0, 32, 32, 32, 0, 0, 1, -360, 360], 120 [12, 16, 0.09, 0.2, 0, 32, 32, 32, 0, 0, 1, -360, 360], 121 [14, 15, 0.22, 0.2, 0, 16, 16, 16, 0, 0, 1, -360, 360], 122 [16, 17, 0.08, 0.19, 0, 16, 16, 16, 0, 0, 1, -360, 360], 123 [15, 18, 0.11, 0.22, 0, 16, 16, 16, 0, 0, 1, -360, 360], 124 [18, 19, 0.06, 0.13, 0, 16, 16, 16, 0, 0, 1, -360, 360], 125 [19, 20, 0.03, 0.07, 0, 32, 32, 32, 0, 0, 1, -360, 360], 126 [10, 20, 0.09, 0.21, 0, 32, 32, 32, 0, 0, 1, -360, 360], 127 [10, 17, 0.03, 0.08, 0, 32, 32, 32, 0, 0, 1, -360, 360], 128 [10, 21, 0.03, 0.07, 0, 32, 32, 32, 0, 0, 1, -360, 360], 129 [10, 22, 0.07, 0.15, 0, 32, 32, 32, 0, 0, 1, -360, 360], 130 [21, 22, 0.01, 0.02, 0, 32, 32, 32, 0, 0, 1, -360, 360], 131 [15, 23, 0.1, 0.2, 0, 16, 16, 16, 0, 0, 1, -360, 360], 132 [22, 24, 0.12, 0.18, 0, 16, 16, 16, 0, 0, 1, -360, 360], 133 [23, 24, 0.13, 0.27, 0, 16, 16, 16, 0, 0, 1, -360, 360], 134 [24, 25, 0.19, 0.33, 0, 16, 16, 16, 0, 0, 1, -360, 360], 135 [25, 26, 0.25, 0.38, 0, 16, 16, 16, 0, 0, 1, -360, 360], 136 [25, 27, 0.11, 0.21, 0, 16, 16, 16, 0, 0, 1, -360, 360], 137 [28, 27, 0, 0.4, 0, 65, 65, 65, 0, 0, 1, -360, 360], 138 [27, 29, 0.22, 0.42, 0, 16, 16, 16, 0, 0, 1, -360, 360], 139 [27, 30, 0.32, 0.6, 0, 16, 16, 16, 0, 0, 1, -360, 360], 140 [29, 30, 0.24, 0.45, 0, 16, 16, 16, 0, 0, 1, -360, 360], 141 [8, 28, 0.06, 0.2, 0.02, 32, 32, 32, 0, 0, 1, -360, 360], 142 [6, 28, 0.02, 0.06, 0.01, 32, 32, 32, 0, 0, 1, -360, 360] 143 ]) 144 145 ##----- OPF Data -----## 146 ## area data 147 # area refbus 148 ppc["areas"] = array([ 149 [1, 8], 150 [2, 23], 151 [3, 26], 152 ]) 153 154 ## generator cost data 155 # 1 startup shutdown n x1 y1 ... xn yn 156 # 2 startup shutdown n c(n-1) ... c0 157 ppc["gencost"] = array([ 158 [2, 0, 0, 3, 0.02, 2, 0], 159 [2, 0, 0, 3, 0.0175, 1.75, 0], 160 [2, 0, 0, 3, 0.0625, 1, 0], 161 [2, 0, 0, 3, 0.00834, 3.25, 0], 162 [2, 0, 0, 3, 0.025, 3, 0], 163 [2, 0, 0, 3, 0.025, 3, 0] 164 ]) 165 166 return ppc
167