Package pypower :: Package t :: Module t_case_ext
[hide private]
[frames] | no frames]

Source Code for Module pypower.t.t_case_ext

  1  # Copyright (C) 2004-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 data in external format. 
 18  """ 
 19   
 20  from numpy import array, ones, arange, r_ 
 21   
 22   
23 -def t_case_ext():
24 """Case data in external format used to test C{ext2int} and C{int2ext}. 25 """ 26 ppc = {} 27 28 ## PYPOWER Case Format : Version 2 29 ppc['version'] = '2' 30 31 ##----- Power Flow Data -----## 32 ## system MVA base 33 ppc['baseMVA'] = 100.0 34 35 ## bus data 36 # bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vmin 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 ## generator data 51 # bus, Pg, Qg, Qmax, Qmin, Vg, mBase, status, Pmax, Pmin, Pc1, Pc2, 52 # Qc1min, Qc1max, Qc2min, Qc2max, ramp_agc, ramp_10, ramp_30, ramp_q, apf 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 ## branch data 61 # fbus, tbus, r, x, b, rateA, rateB, rateC, ratio, angle, status, angmin, angmax 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 ##----- OPF Data -----## 76 ## area data 77 # area refbus 78 ppc['areas'] = array([ 79 [2, 20], 80 [1, 5] 81 ], float) 82 83 ## generator cost data 84 # 1 startup shutdown n x1 y1 ... xn yn 85 # 2 startup shutdown n c(n-1) ... c0 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