Skip to content

Keep PSS/E HVDC impedances in ohms - #65

Open
m-bossart wants to merge 1 commit into
psy6from
mb/pu-fix
Open

m-bossart wants to merge 1 commit into
psy6from
mb/pu-fix

Conversation

@m-bossart

Copy link
Copy Markdown

PSS/E cases with HVDC lines imported into PowerSystems with LCC and VSC impedances per-unitized twice.
psse.jl converted these impedances to per-unit, dc_branch.jl tagged the result as ohms ("ohm") or siemens ("S"), and the PowerSystems importer converted them again.
LCC resistances and reactances came out too small by a factor of Z_base, and VSC g was off by the same kind of factor.
Power flows on any PSS/E case with HVDC lines were wrong.

Changes

  • psse.jl keeps RDC, RCR, XCR, RCI, XCI, XCAPR, XCAPI and the VSC RDC in ohms, which is the unit the OpenAPI writer expects.
    compounding_resistance was already in ohms, so all LCC impedances now use the same unit.
  • An out-of-service LCC line (MDC=0) with a zero scheduled DC voltage (VSCHD) now parses without a warning, since the parser no longer converts to per-unit.
    An in-service line with VSCHD=0 still raises an error.

dc_branch.jl and PowerSystems need no change.

Testing

  • New tests compare the parsed data and the OpenAPI values against the raw PSS/E fields for LCC and VSC lines.
    They failed before this change.
  • The full test suite passes.
  • End to end (parse, OpenAPI document, PSY.from_file), every LCC and VSC impedance matches a hand calculation from the raw file on two-terminal-hvdc_test, vsc-hvdc_test, case16_all_components and
    case25_v35_savnwb.

Known remaining issue

For an out-of-service LCC line with VSCHD=0, the PowerSystems importer still divides by zero and sets r to Inf.
That already happened before this change, and it needs a fix in PowerSystems.

🤖 Generated with Claude Code

@m-bossart
m-bossart requested a review from jd-lara September 25, 2026 19:02
@codecov

codecov Bot commented Sep 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant