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

Source Code for Module pypower.case30Q

  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  """Case 30 with costs for reactive generation. 
 18  """ 
 19   
 20  from numpy import array 
 21   
22 -def case30Q():
23 """Case 30 with costs for reactive generation. 24 Please see L{caseformat} for details on the case file format. 25 26 Identical to L{case30}, with the addition of non-zero costs for 27 reactive power. 28 29 @return: Case 30 with costs for reactive generation. 30 """ 31 ppc = {"version": '2'} 32 33 ##----- Power Flow Data -----## 34 ## system MVA base 35 ppc["baseMVA"] = 100.0 36 37 ## bus data 38 # bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vmin 39 ppc["bus"] = array([ 40 [1, 3, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 41 [2, 2, 21.7, 12.7, 0, 0, 1, 1, 0, 135, 1, 1.1, 0.95], 42 [3, 1, 2.4, 1.2, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 43 [4, 1, 7.6, 1.6, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 44 [5, 1, 0, 0, 0, 0.19, 1, 1, 0, 135, 1, 1.05, 0.95], 45 [6, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 46 [7, 1, 22.8, 10.9, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 47 [8, 1, 30, 30, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 48 [9, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 49 [10, 1, 5.8, 2, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95], 50 [11, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 51 [12, 1, 11.2, 7.5, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 52 [13, 2, 0, 0, 0, 0, 2, 1, 0, 135, 1, 1.1, 0.95], 53 [14, 1, 6.2, 1.6, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 54 [15, 1, 8.2, 2.5, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 55 [16, 1, 3.5, 1.8, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 56 [17, 1, 9, 5.8, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 57 [18, 1, 3.2, 0.9, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 58 [19, 1, 9.5, 3.4, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 59 [20, 1, 2.2, 0.7, 0, 0, 2, 1, 0, 135, 1, 1.05, 0.95], 60 [21, 1, 17.5, 11.2, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95], 61 [22, 2, 0, 0, 0, 0, 3, 1, 0, 135, 1, 1.1, 0.95], 62 [23, 2, 3.2, 1.6, 0, 0, 2, 1, 0, 135, 1, 1.1, 0.95], 63 [24, 1, 8.7, 6.7, 0, 0.04, 3, 1, 0, 135, 1, 1.05, 0.95], 64 [25, 1, 0, 0, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95], 65 [26, 1, 3.5, 2.3, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95], 66 [27, 2, 0, 0, 0, 0, 3, 1, 0, 135, 1, 1.1, 0.95], 67 [28, 1, 0, 0, 0, 0, 1, 1, 0, 135, 1, 1.05, 0.95], 68 [29, 1, 2.4, 0.9, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95], 69 [30, 1, 10.6, 1.9, 0, 0, 3, 1, 0, 135, 1, 1.05, 0.95] 70 ]) 71 72 ## generator data 73 # bus, Pg, Qg, Qmax, Qmin, Vg, mBase, status, Pmax, Pmin, Pc1, Pc2, 74 # Qc1min, Qc1max, Qc2min, Qc2max, ramp_agc, ramp_10, ramp_30, ramp_q, apf 75 ppc["gen"] = array([ 76 [1, 23.54, 0, 150, -20, 1, 100, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 77 [2, 60.97, 0, 60, -20, 1, 100, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 78 [22, 21.59, 0, 62.5, -15, 1, 100, 1, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 79 [27, 26.91, 0, 48.7, -15, 1, 100, 1, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 80 [23, 19.2, 0, 40, -10, 1, 100, 1, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 81 [13, 37, 0, 44.7, -15, 1, 100, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 82 ]) 83 84 ## branch data 85 # fbus, tbus, r, x, b, rateA, rateB, rateC, ratio, angle, status, angmin, angmax 86 ppc["branch"] = array([ 87 [1, 2, 0.02, 0.06, 0.03, 130, 130, 130, 0, 0, 1, -360, 360], 88 [1, 3, 0.05, 0.19, 0.02, 130, 130, 130, 0, 0, 1, -360, 360], 89 [2, 4, 0.06, 0.17, 0.02, 65, 65, 65, 0, 0, 1, -360, 360], 90 [3, 4, 0.01, 0.04, 0, 130, 130, 130, 0, 0, 1, -360, 360], 91 [2, 5, 0.05, 0.2, 0.02, 130, 130, 130, 0, 0, 1, -360, 360], 92 [2, 6, 0.06, 0.18, 0.02, 65, 65, 65, 0, 0, 1, -360, 360], 93 [4, 6, 0.01, 0.04, 0, 90, 90, 90, 0, 0, 1, -360, 360], 94 [5, 7, 0.05, 0.12, 0.01, 70, 70, 70, 0, 0, 1, -360, 360], 95 [6, 7, 0.03, 0.08, 0.01, 130, 130, 130, 0, 0, 1, -360, 360], 96 [6, 8, 0.01, 0.04, 0, 32, 32, 32, 0, 0, 1, -360, 360], 97 [6, 9, 0, 0.21, 0, 65, 65, 65, 0, 0, 1, -360, 360], 98 [6, 10, 0, 0.56, 0, 32, 32, 32, 0, 0, 1, -360, 360], 99 [9, 11, 0, 0.21, 0, 65, 65, 65, 0, 0, 1, -360, 360], 100 [9, 10, 0, 0.11, 0, 65, 65, 65, 0, 0, 1, -360, 360], 101 [4, 12, 0, 0.26, 0, 65, 65, 65, 0, 0, 1, -360, 360], 102 [12, 13, 0, 0.14, 0, 65, 65, 65, 0, 0, 1, -360, 360], 103 [12, 14, 0.12, 0.26, 0, 32, 32, 32, 0, 0, 1, -360, 360], 104 [12, 15, 0.07, 0.13, 0, 32, 32, 32, 0, 0, 1, -360, 360], 105 [12, 16, 0.09, 0.2, 0, 32, 32, 32, 0, 0, 1, -360, 360], 106 [14, 15, 0.22, 0.2, 0, 16, 16, 16, 0, 0, 1, -360, 360], 107 [16, 17, 0.08, 0.19, 0, 16, 16, 16, 0, 0, 1, -360, 360], 108 [15, 18, 0.11, 0.22, 0, 16, 16, 16, 0, 0, 1, -360, 360], 109 [18, 19, 0.06, 0.13, 0, 16, 16, 16, 0, 0, 1, -360, 360], 110 [19, 20, 0.03, 0.07, 0, 32, 32, 32, 0, 0, 1, -360, 360], 111 [10, 20, 0.09, 0.21, 0, 32, 32, 32, 0, 0, 1, -360, 360], 112 [10, 17, 0.03, 0.08, 0, 32, 32, 32, 0, 0, 1, -360, 360], 113 [10, 21, 0.03, 0.07, 0, 32, 32, 32, 0, 0, 1, -360, 360], 114 [10, 22, 0.07, 0.15, 0, 32, 32, 32, 0, 0, 1, -360, 360], 115 [21, 22, 0.01, 0.02, 0, 32, 32, 32, 0, 0, 1, -360, 360], 116 [15, 23, 0.1, 0.2, 0, 16, 16, 16, 0, 0, 1, -360, 360], 117 [22, 24, 0.12, 0.18, 0, 16, 16, 16, 0, 0, 1, -360, 360], 118 [23, 24, 0.13, 0.27, 0, 16, 16, 16, 0, 0, 1, -360, 360], 119 [24, 25, 0.19, 0.33, 0, 16, 16, 16, 0, 0, 1, -360, 360], 120 [25, 26, 0.25, 0.38, 0, 16, 16, 16, 0, 0, 1, -360, 360], 121 [25, 27, 0.11, 0.21, 0, 16, 16, 16, 0, 0, 1, -360, 360], 122 [28, 27, 0, 0.4, 0, 65, 65, 65, 0, 0, 1, -360, 360], 123 [27, 29, 0.22, 0.42, 0, 16, 16, 16, 0, 0, 1, -360, 360], 124 [27, 30, 0.32, 0.6, 0, 16, 16, 16, 0, 0, 1, -360, 360], 125 [29, 30, 0.24, 0.45, 0, 16, 16, 16, 0, 0, 1, -360, 360], 126 [8, 28, 0.06, 0.2, 0.02, 32, 32, 32, 0, 0, 1, -360, 360], 127 [6, 28, 0.02, 0.06, 0.01, 32, 32, 32, 0, 0, 1, -360, 360] 128 ]) 129 130 ##----- OPF Data -----## 131 ## area data 132 # area refbus 133 ppc["areas"] = array([ 134 [1, 8], 135 [2, 23], 136 [3, 26] 137 ]) 138 139 ## generator cost data 140 # 1 startup shutdown n x1 y1 ... xn yn 141 # 2 startup shutdown n c(n-1) ... c0 142 ppc["gencost"] = array([ 143 [2, 0, 0, 3, 0.02, 2, 0], 144 [2, 0, 0, 3, 0.0175, 1.75, 0], 145 [2, 0, 0, 3, 0.0625, 1, 0], 146 [2, 0, 0, 3, 0.00834, 3.25, 0], 147 [2, 0, 0, 3, 0.025, 3, 0], 148 [2, 0, 0, 3, 0.025, 3, 0], 149 [2, 0, 0, 3, 0.02, 0, 0], 150 [2, 0, 0, 3, 0.0175, 0, 0], 151 [2, 0, 0, 3, 0.0625, 0, 0], 152 [2, 0, 0, 3, 0.00834, 0, 0], 153 [2, 0, 0, 3, 0.025, 0, 0], 154 [2, 0, 0, 3, 0.025, 0, 0] 155 ]) 156 157 return ppc
158