In [ ]:
using DataFrames, HDF5, JLD, Makeps, ACPowerFlow, ACSIMSEP, Optim

# user input to the code
verbose = true
PartFactFlag = false
PolarFlag = true
# ps = load("data/case2383wp_ps.jld")["ps"]
# ps = load("data/case6ww_ps.jld")["ps"]
# ps = load("data/case2_ps.jld")["ps"]; 
ps = load("../data/case6ww_ps_2.jld")["ps"]
ps.shunt[[4:6],[:P,:Q]] = 210.
# ps.shunt[[1:3],[:P,:Q]] = 210.
ps.branch[23,:status] = false

LoadFactor = 1.
ps.shunt[:,:P] = ps.shunt[:,:P] * LoadFactor
ps.shunt[:,:Q] = ps.shunt[:,:Q] * LoadFactor

not_converged = ACPowerFlow.acpf!(ps, PartFactFlag = PartFactFlag)

beta, beta_P, beta_Q, beta_S, beta_C = ACSIMSEP.find_sens_fact(ps, PartFactFlag, not_converged);
println("beta: $beta")
max_beta_P = maximum(beta_P)
i_max = find(max_beta_P .== beta_P)
println("max beta_P: bus $i_max: $max_beta_P")
max_beta_Q = maximum(beta_Q)
i_max = find(max_beta_Q .== beta_Q)
println("max beta_Q: bus $i_max: $max_beta_Q")
max_beta_C = maximum(beta_C)
i_max = find(max_beta_C .== beta_C)
println("max beta_C: bus $i_max: $max_beta_C")
max_beta_S = maximum(beta_S)
i_max = find(max_beta_S .== beta_S)
println("max beta_S: bus $i_max: $max_beta_S")

# br_outage_list = {[3,5]}

# for (i,br_outages) in enumerate(br_outage_list)
#     psnew = deepcopy(ps)
#     psnew.branch[br_outages,:status] = false
#     beta, beta_P, beta_Q, beta_S, beta_C = find_sens_fact(psnew, PartFactFlag, verbose = verbose);
# end

# max_beta_S = maximum(beta_S)
# i_max = find(max_beta_S .== beta_S)


Iter   Max(|g|)   |g|_2      max(Jac'*g)      alpha
   1  0.5060672  0.9462937 12.6881918  1.0047814 
   2  0.0154004  0.0267479  0.1729836  1.0018776 
   3  0.0000094  0.0000122  0.0001057  0.9999999 
Solution found.
Iter   Max(|g|)   |g|_2      max(Jac'*g)      alpha
   1  1.9060672  4.0005466 28.4673935  1.3142463 
   2  0.4751459  0.7475127  8.5153861  1.3248368 
   3  0.1278692  0.2006868  1.5223427  0.0123590 
   4  0.1272233  0.1994478  1.4983327  0.0000388 
   5  0.1272213  0.1994439  1.4972657  0.0000001 
 Did not find a solution to g(x) = 0.
Power flow did not converge on island 2 of 2.
Iter   Max(|g|)   |g|_2      max(Jac'*g)      alpha

In [ ]:
reload("ACPowerFlow")
reload("ACSIMSEP")

In [37]:
br_outage_list = {[1,2],[5,67,8]}
for (i, v) in enumerate(br_outage_list)
    println("event number $i outages: $v")
    println(typeof(v))
end


event number 1 outages: [1,2]
Array{Int64,1}
event number 2 outages: [5,67,8]
Array{Int64,1}