PowerFlow Validation Notes #178
luke-kiernan
started this conversation in
General
Replies: 1 comment
-
PSSeAfter running a power flow on PSS/e, I'll find that buses that were PV no longer match their voltage set point. That leads me to believe it's doing PV -> PQ switching on buses that hit their reactive power limits, even though we're passing -1 as the 7th option to FNSL (meaning: "ignore var limits"). Marck tried relaxing Q_min and Q_max, but it just hits the new reactive power bounds as well. [I do not have access to PSSe myself.] |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
In the process of validating the results of our power flow against that of matpower and now PSS/E, we've discovered some oddities of each. I'm documenting them here: partially for developers, partially for users.
Matpower
One thing that causes differences: PV buses where all generators are marked as unavailable. Matpower handles them correctly as PQ buses during the iterative Newton-Raphson process. However, after it has solved for the voltage, there's a bug in how it calculates (or perhaps fails to calculate) Q at such buses in
pfsoln.m
. Credit goes to Rodrigo for tracking that down. If you're comparing against matpower, pre-process the input file and change PV buses where all generators are unavailable to PQ. EDIT: looks like this was fixed at some point between 7.1 (bug described above present) and 8.0 (no such issue).A second issue is that matpower always splits the total line charging susceptance, assigning half to the "from" bus and half to the "to" bus. In PowerSystems, we do the same thing for plain
Line
s, but not for various kinds ofTransformer
s. (This might change: check this issue.) In the caseformat file, change theb
value on all transformer branches to 0.0 and re-run: if the results then agree, this is your culprit.Another transformer-related difference: matpower adds the line charging then multiplies by the tap ratio, whereas PowerNetworkMatrices does the opposite. In equations, matpower has
Y_11 = (y_s + im*b/2)*c^2
, where we haveY_11 = y_s*c^2 + im*b/2
.At the time of writing,
PowerFlows.jl
does not support nonzero reference angle.ACTIVSg10k
has a nonzero reference angle, so avoid that system, or patch it in locally.Script for comparing outputs against matpower
Beta Was this translation helpful? Give feedback.
All reactions