|
1 |
| -function _create_new_shunt(sub_data::Dict, pm_data::Dict) |
2 |
| - for (idx, value) in pm_data["shunt"] |
3 |
| - if value["shunt_bus"] == sub_data["shunt_bus"] && value["source_id"][1] == sub_data["source_id"][1] |
4 |
| - return false, idx |
5 |
| - end |
6 |
| - end |
7 |
| - return true |
8 |
| -end |
9 |
| - |
10 | 1 | function _handle_bs_bounds(shunt::Dict{String, Any})
|
11 | 2 | bsmin, bsmax = 0.0, 0.0
|
12 | 3 | for (i,el) in shunt["REACTANCE GROUPS"]
|
@@ -76,18 +67,8 @@ function _pwf2pm_DBSH_shunt!(pm_data::Dict, pwf_data::Dict, shunt::Dict; add_con
|
76 | 67 | sub_data["source_id"] = ["switched shunt", sub_data["shunt_bus"], "0$(n+1)"]
|
77 | 68 | sub_data["index"] = length(pm_data["shunt"]) + 1
|
78 | 69 |
|
79 |
| - if _create_new_shunt(sub_data, pm_data)[1] |
80 |
| - idx = string(sub_data["index"]) |
81 |
| - pm_data["shunt"][idx] = sub_data |
82 |
| - else |
83 |
| - idx = _create_new_shunt(sub_data, pm_data)[2] |
84 |
| - pm_data["shunt"][idx]["gs"] += sub_data["gs"] |
85 |
| - pm_data["shunt"][idx]["bs"] += sub_data["bs"] |
86 |
| - if add_control_data |
87 |
| - pm_data["shunt"][idx]["control_data"]["bsmin"] += sub_data["control_data"]["bsmin"] |
88 |
| - pm_data["shunt"][idx]["control_data"]["bsmax"] += sub_data["control_data"]["bsmax"] |
89 |
| - end |
90 |
| - end |
| 70 | + idx = string(sub_data["index"]) |
| 71 | + pm_data["shunt"][idx] = sub_data |
91 | 72 | end
|
92 | 73 |
|
93 | 74 | function _pwf2pm_DBSH_shunt!(pm_data::Dict, pwf_data::Dict; add_control_data::Bool=false)
|
@@ -139,18 +120,8 @@ function _pwf2pm_DCER_shunt!(pm_data::Dict, pwf_data::Dict, shunt::Dict; add_con
|
139 | 120 | sub_data["source_id"] = ["switched shunt", sub_data["shunt_bus"], "0$(n+1)"]
|
140 | 121 | sub_data["index"] = length(pm_data["shunt"]) + 1
|
141 | 122 |
|
142 |
| - if _create_new_shunt(sub_data, pm_data)[1] |
143 |
| - idx = string(sub_data["index"]) |
144 |
| - pm_data["shunt"][idx] = sub_data |
145 |
| - else |
146 |
| - idx = _create_new_shunt(sub_data, pm_data)[2] |
147 |
| - pm_data["shunt"][idx]["gs"] += sub_data["gs"] |
148 |
| - pm_data["shunt"][idx]["bs"] += sub_data["bs"] |
149 |
| - if add_control_data |
150 |
| - pm_data["shunt"][idx]["control_data"]["bsmin"] += sub_data["control_data"]["bsmin"] |
151 |
| - pm_data["shunt"][idx]["control_data"]["bsmax"] += sub_data["control_data"]["bsmax"] |
152 |
| - end |
153 |
| - end |
| 123 | + idx = string(sub_data["index"]) |
| 124 | + pm_data["shunt"][idx] = sub_data |
154 | 125 | end
|
155 | 126 |
|
156 | 127 | function _pwf2pm_DCER_shunt!(pm_data::Dict, pwf_data::Dict; add_control_data::Bool=false)
|
@@ -212,8 +183,6 @@ function _pwf2pm_DBAR_shunt!(pm_data::Dict, pwf_data::Dict; add_control_data::Bo
|
212 | 183 | end
|
213 | 184 | end
|
214 | 185 |
|
215 |
| -# Assumption - if there are more than one shunt for the same bus we sum their values into one shunt (source: Organon) |
216 |
| -# CAUTION: this might be an Organon error |
217 | 186 | function _pwf2pm_shunt!(pm_data::Dict, pwf_data::Dict; add_control_data::Bool=false)
|
218 | 187 | pm_data["shunt"] = Dict{String, Any}()
|
219 | 188 |
|
|
0 commit comments