-
Notifications
You must be signed in to change notification settings - Fork 14
/
buildnetwork.py
111 lines (91 loc) · 4.55 KB
/
buildnetwork.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
"""Usage:
buildnetwork.py <model> [--verbose]
buildnetwork.py <model>
buildnetwork.py <model>
buildnetwork.py <model>
Options:
-h --help This file us used to generate commonly available power system models.
--version This is part of Canvass 0.1
--verbose
"""
from shutil import *
from docopt import docopt
import os
def askToExecute(modelname):
resp = "N"
try:
resp = raw_input('Model Built. Do you want to run a NR Power Flow Now? [Y/n]')
except:
print("No response received. Skipping Power Flow. Model still exists. ")
if resp == "Y" or resp == "y":
print("Cool!")
os.system("python activemodel.py")
def writeRemainingStuff(f):
f.write("\nprint (\"------------------------------------------\")")
f.write("\nprint (net.res_bus)")
f.write("\n\n\n#Load Info -->\nloadInfo = net.load[[\"bus\",\"p_kw\",\"q_kvar\",\"in_service\"]].values")
#f.write("#Line Info -->\nlineInfo = net.load[[\"bus","p_kw","q_kvar","in_service"]].values")
#f.write("#Generator Info -->\ngenInfo = net.load[[\"bus","p_kw","q_kvar","in_service"]].values")
#f.write("#Bus Info -->\nbusInfo = net.load[[\"bus","p_kw","q_kvar","in_service"]].values")
#f.write("")
f.close()
def build9bus():
f = open('activemodel.py', 'w')
f.write('#Careful --> There are copyright holders. \nimport pandapower as pp\nimport pandapower.networks as pn\nnet = pn.case9()\n\n\npp.runpp(net)\n\nprint (\"Canvass NR Power Flow Results At The Buses\")')
writeRemainingStuff(f)
#askToExecute(str(f))
def build14bus():
f = open('activemodel.py', 'w')
f.write('#Careful --> There are copyright holders. \nimport pandapower as pp\nimport pandapower.networks as pn\nnet = pn.case14()\n\n\npp.runpp(net)\n\nprint (\"Canvass NR Power Flow Results At The Buses\")')
f.write("\nprint (\"------------------------------------------\")")
f.write("\nprint (net.res_bus)")
f.close()
askToExecute(str(f))
def build30bus():
f = open('activemodel.py', 'w')
f.write('#Careful --> There are copyright holders. \nimport pandapower as pp\nimport pandapower.networks as pn\nnet = pn.case30()\n\n\npp.runpp(net)\n\nprint (\"Canvass NR Power Flow Results At The Buses\")')
f.write("\nprint (\"------------------------------------------\")")
f.write("\nprint (net.res_bus)")
f.close()
askToExecute(str(f))
def build39bus():
f = open('activemodel.py', 'w')
f.write('#Careful --> There are copyright holders. \nimport pandapower as pp\nimport pandapower.networks as pn\nnet = pn.case39()\n\n\npp.runpp(net)\n\nprint (\"Canvass NR Power Flow Results At The Buses\")')
f.write("\nprint (\"------------------------------------------\")")
f.write("\nprint (net.res_bus)")
f.close()
askToExecute(str(f))
def build57bus():
f = open('activemodel.py', 'w')
f.write('#Careful --> There are copyright holders. \nimport pandapower as pp\nimport pandapower.networks as pn\nnet = pn.case57()\n\n\npp.runpp(net)\n\nprint (\"Canvass NR Power Flow Results At The Buses\")')
f.write("\nprint (\"------------------------------------------\")")
f.write("\nprint (net.res_bus)")
f.close()
askToExecute(str(f))
def build118bus():
f = open('activemodel.py', 'w')
f.write('#Careful --> There are copyright holders. \nimport pandapower as pp\nimport pandapower.networks as pn\nnet = pn.case118()\n\n\npp.runpp(net)\n\nprint (\"Canvass NR Power Flow Results At The Buses\")')
f.write("\nprint (\"------------------------------------------\")")
f.write("\nprint (net.res_bus)")
f.close()
askToExecute(str(f))
def buildBritainNetwork():
f = open('activemodel.py', 'w')
f.write('#Careful --> There are copyright holders. \nimport pandapower as pp\nimport pandapower.networks as pn\nnet = pn.GBnetwork()\n\n\npp.runpp(net)\n\nprint (\"Canvass NR Power Flow Results At The Buses\")')
f.write("\nprint (\"------------------------------------------\")")
f.write("\nprint (net.res_bus)")
f.close()
askToExecute(str(f))
if __name__ == '__main__':
v = 0
arguments = docopt(__doc__, version='Canvass 0.0.1')
options = docopt(__doc__, version='Canvass 0.0.1')
modelname = arguments['<model>']
if options['--verbose']:
v = 1
if modelname == "9bus" or modelname == "ieee9bus" or modelname == "case9" or modelname == "wscc9bus":
build9bus()
elif modelname == "ieee14bus" or modelname == "14bus" or modelname == "case14":
build14bus()
elif modelname == "ieee30bus" or modelname == "30bus" or modelname == "case30":
build30bus()