First time here? We are a friendly community of Power Systems Engineers. Check out the FAQ!

Ask Your Question
0

Line closure distribution factor-PSS/E

asked Oct 30 '18

Eddiewen gravatar image

Does anyone know PSS/E can calculate Line closure distribution factor(LCDF) or Line outage distribution factor(LODF)? or how can use OTDF to transfer? Thanks!

2 answers

Sort by » oldest newest most voted
0

answered Oct 30 '18

knucklehead gravatar image

I have found that looping through the contingencies in the .acc file, then looping through the branches for each contingency, then comparing to the "BASE CASE" contingency is the best approach. if you find that one of the distribution factors satisfies some criteria, then you can do what you like with the branch, outage, flow, df, information. (version 34) Here is a snippet that effectively does this. 3phaseee.com

# -- GET CONTINGENCY LABELS, BRANCHES AND BUSES FROM SUMMARY ------------------------------
accobject = arrbox.accc_pp.CONTINGENCY_PP(n1accfnames[j])
accsummary = accobject.summary()
conlabels = accsummary.colabel
branches = list(accsummary.melement)
buses = list(accsummary.mvbuslabel)

# -- GET N-0 RESULTS ----------------------------------------------------------------------
n0results = accobject.solution('BASE CASE')
n0volts = n0results.volts
n0flows = list(n0results.ampflow)

# -----------------------------------------------------------------------------------------
# -- CHECK N-1 RESULTS FOR IMPACTED BUSES AND BRANCHES ------------------------------------
# -----------------------------------------------------------------------------------------
for prilabel in conlabels[1:]:
    results = accobject.solution(prilabel)
    pridesc = list(results.codesc)
    n1volts = results.volts
    n1flows = list(results.ampflow)

    if not results.cnvflag: continue
    for f in range(len(branches)):
        getcon = False
        if n1flows[f] == 0.0:
            continue
        df = abs((n1flows[f] - n0flows[f]) / n0flows[f])
        if df > screenDF:
            getcon = True
        if not getcon:
            getcon = True in [abs(n1volts[v] - n0volts[v]) > screenVF for v in range(len(buses))]
        if getcon:   ....................
link
0

answered Oct 30 '18

jconto gravatar image

A good discussion about these linear factors can be found at "https://www.powerworld.com/files/TrainingI11LinearAnalysis.pdf"

does someone have a related python code, besides the "sensitivity_factors.py" posted at the example folder?

link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.
Want to format code in your answer? Here is a one minute demo on Youtube

Add Answer

[hide preview]

Question Tools

1 follower

Stats

Asked: Oct 30 '18

Seen: 847 times

Last updated: Oct 30 '18