Skip to content

Commit 3b3587d

Browse files
committed
fixing big-theta values in ne models
1 parent 0e98a81 commit 3b3587d

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

src/prob/tnep.jl

+30-3
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,8 @@ function process_raw_mp_ne_data(data::Dict{AbstractString,Any})
103103
# would be fine, except for on/off phase angle calc
104104
make_per_unit(data)
105105

106-
# TODO, make these two copmutations correct in context of TNEP
107-
min_theta_delta = calc_min_phase_angle(data)
108-
max_theta_delta = calc_max_phase_angle(data)
106+
min_theta_delta = calc_min_phase_angle_ne(data)
107+
max_theta_delta = calc_max_phase_angle_ne(data)
109108

110109
unify_transformer_taps(data["branch"])
111110
add_branch_parameters(data["branch"], min_theta_delta, max_theta_delta)
@@ -123,6 +122,34 @@ function process_raw_mp_ne_data(data::Dict{AbstractString,Any})
123122
return data, sets, ext
124123
end
125124

125+
function calc_max_phase_angle_ne(data::Dict{AbstractString,Any})
126+
bus_count = length(data["bus"])
127+
angle_max = [branch["angmax"] for branch in data["branch"]]
128+
if haskey(data, "branch_ne")
129+
angle_max_ne = [branch["angmax"] for branch in data["branch_ne"]]
130+
angle_max = [angle_max; angle_max_ne]
131+
end
132+
sort!(angle_max, rev=true)
133+
if length(angle_max) > 1
134+
return sum(angle_max[1:bus_count-1])
135+
end
136+
return angle_max[1]
137+
end
138+
139+
function calc_min_phase_angle_ne(data::Dict{AbstractString,Any})
140+
bus_count = length(data["bus"])
141+
angle_min = [branch["angmin"] for branch in data["branch"]]
142+
if haskey(data, "branch_ne")
143+
angle_min_ne = [branch["angmin"] for branch in data["branch_ne"]]
144+
angle_min = [angle_min; angle_min_ne]
145+
end
146+
sort!(angle_min)
147+
if length(angle_min) > 1
148+
return sum(angle_min[1:bus_count-1])
149+
end
150+
return angle_min[1]
151+
end
152+
126153
function get_tnep_solution{T}(pm::GenericPowerModel{T})
127154
sol = Dict{AbstractString,Any}()
128155
add_bus_voltage_setpoint(sol, pm)

0 commit comments

Comments
 (0)