Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Change Log
-------------------------------
- [FIXED] restored ``OpenDSSDirect.py`` to the ``all``/``dev`` extras so the OpenDSS converter is exercised (and its coverage reported) in CI again; it was dropped in #3062 because installing it alongside ``pytest~=9.1`` crashed the pytest process on Windows. Root cause (see `dss-extensions/OpenDSSDirect.py#148 <https://github.com/dss-extensions/OpenDSSDirect.py/issues/148>`_): pytest enables Python's ``faulthandler`` by default, which intercepts a first-chance Windows structured exception that OpenDSSDirect.py's native backend raises -- and normally handles itself -- during import, and misreports it as fatal. Bracketing the import with ``faulthandler.disable()``/``.enable()`` avoids the false crash while leaving ``faulthandler`` protecting the rest of the test run; the converter now runs on Windows instead of merely skipping there.
- [ADDED] OpenDSS converter: series (bus-to-bus) ``Reactor`` elements are now imported as a fixed-impedance ``line``, the pattern some feeder libraries (e.g. EPRI's Ckt5/Ckt7) use to model the substation's Thevenin-equivalent source impedance instead of a ``Transformer``.
- [ADDED] OpenDSS converter: ``from_opendss`` imports a transformer's tap changer (``tap_pos``/``tap_min``/``tap_max``/``tap_step_percent``/``tap_neutral``) instead of baking the solved ratio into ``vn_hv_kv``/``vn_lv_kv``, and can import each ``RegControl`` as a ``DiscreteTapControl`` via the new ``import_controllers`` option (default False).

[3.5.4] - 2026-07-08
-------------------------------
Expand Down
10 changes: 8 additions & 2 deletions doc/converter/opendss.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,15 @@ feeder into a **balanced (positive-sequence)** pandapower net. It reads the circ
through ``OpenDSSDirect.py`` (an optional dependency, ``pip install pandapower[opendss]``),
mapping buses, lines (with their LineCode carried through as ``std_type``),
series (bus-to-bus) reactors (the pattern some feeder libraries use to model the
substation's source impedance), two-winding transformers (at their solved tap),
substation's source impedance), two-winding transformers (with their tap changer
imported as an explicit ``tap_pos`` rather than baked into ``vn_hv_kv``/``vn_lv_kv``),
center-tapped split-phase service transformers (collapsed to a two-winding
equivalent), loads, shunt capacitors, switches and the source.
equivalent), loads, shunt capacitors, switches and the source. With
``import_controllers=True``, each ``RegControl`` is additionally imported as a
``DiscreteTapControl``, so the tap responds to bus voltage during
``pandapower.control.run_control`` instead of staying pinned at the OpenDSS
operating point; line-drop compensation, reverse-mode regulation and time delays
are not modeled and are reported as warnings when encountered.

Positive-sequence is exact for symmetric (e.g. European 3-phase 4-wire) feeders and
a documented approximation for unsymmetrical North-American topology (single-phase
Expand Down
Loading
Loading