Skip to content

DSS C-API 0.13.4

Compare
Choose a tag to compare
@PMeira PMeira released this 27 Jun 23:15
· 173 commits to master since this release

This is primarily a bugfix release for CapControl.

DSS C-API is a library that exposes a plain C API for an unofficial/alternative implementation/port of OpenDSS, the Distribution System Simulator from EPRI (the Electric Power Research Institute), aiming for full COM compatibility and beyond. It allows using most of the OpenDSS features on Windows, Linux and macOS with compatible behavior across multiple processor architectures. It is the lower level API used by the other projects in DSS-Extensions: DSS-Python, OpenDSSDirect.py, OpenDSSDirect.jl (Julia language), DSS# (.NET/C# bindings), DSS MATLAB, and the dss.hpp C++ header-only library, besides third-party projects.

All derived/downstream projects, including the documentation sites and dss.hpp headers, will be updated in the next hours/days to use this new engine.

See the changelog for a complete list of changes.
See also the updated "Known Differences" document, which lists the main differences between the DSS C-API codebase and the main/official OpenDSS.

For a growing general repository about the projects, see https://github.com/dss-extensions/dss-extensions

Besides the changes listed below, the plotting backend in DSS-Python was updated to fix and complement compatibility with the official OpenDSS plots.

Changes since 0.13.3

Bugfix release for CapControl, couple with some incremental improvements.

This version should match OpenDSS v9.6.1.3 (SVN r3623).

  • Ported from the official OpenDSS SVN code:

    • CapControl, port SVN 3622: "Solves a bug introduced in version 9.6.1.2 when using CapControl in time or follow control modes." (by davismont).
  • Added DSSEvents: Implement an initial set of functions analog to the COM interface. This was added for historical compatibility since use of DSSEvents is rarely seen. This document from EPRI (2011) presents the equivalent in the COM interface. Examples will be added in our downstream projects when time allows (feel free to request one to signal interest in this feature).

  • Handle better how the internal SolutionAbort is used. Some invalid states where not being handled on absence of float-point exceptions, leading to potential useless results (NaN) and even crashes.

  • VSource: Abort the solution if Z1 is zero.

  • API/ArrayDimensions: fix CktElement_Get_NodeOrder; add to CktElement_Get_Powers.

Full Git Changelog: 0.13.3...0.13.4

Precompiled binaries

Most of the binaries available here are built through GitHub Actions, as are most of the development builds (you need to be logged in to be able to download dev builds). Linux ARM32 binaries will be added manually as time permits (please feel free to create a new issue if we delay it too much).

Users rarely need to build the Pascal binaries themselves, since there aren't many Free Pascal compiler flags that affect them. We do recommend building KLUSolveX optimized for your machines, especially for HPC clusters (since it's built as a shared library, you don't need to worry about Free Pascal).

Checksums

SHA256

ace14f6dd1a06dfa5db8d87453a0ed5028cff316b478f43d19298cebe0bec47c  dss_capi_0.13.4_darwin_arm64.tar.gz
e96b41e02c02a37e6d436f4f7d9af2663be37aeb2748f0cfbad9cb77925ea79f  dss_capi_0.13.4_darwin_x64.tar.gz
78c89ea3407e545771b10532bef5fc5c70cfcb37617e0fad92653ff7921554f3  dss_capi_0.13.4_linux_arm64.tar.gz
e2bf0fb1c7db3e45640a64583655c278420ca5302270ea669cb067848822e61f  dss_capi_0.13.4_linux_x64.tar.gz
c6fc494ac913f5f13c6f8a3608eb3030b857322ee1539572e644a3deb77ef1c3  dss_capi_0.13.4_linux_x86.tar.gz
a3f7b0f99e0e97eb8a5818975cfe1649999f99d6fe5de790a0e991677357c589  dss_capi-0.13.4.tar.gz
1a25ab913cae1458899fe6f6686b14a48bdb49503aedd8594c7c65c7f099ced5  dss_capi_0.13.4_win_x64.zip
e48a4436c95275ed5e53c2f837e1166ce7f80f61e238c39edc5ffd9860121242  dss_capi_0.13.4_win_x86.zip
ceac21dc05d6a9934b57ee84d685baf6b711331e82a38d4bc0ace3a52611df41  dss_capi-0.13.4.zip
6a3168dcd029558684eccd706f96349e35e80538097d5135c1e39759a81c6373  messages.tar.gz
7992bbb161df4421f0966e42bcbec454d8e1d069cec88408346766cd18eda71a  messages.zip

SHA512

b1c3735a3b4e3fb819df5d90d2f22020ecdb361a1769204673e353a147cf97aa97ff3b299599e46fa2fd14167d012d3299f33a52ab3f5ff42ca2c5e2bd1aa6db  dss_capi_0.13.4_darwin_arm64.tar.gz
faee5394eaf7e66f35d803735b6e62861b37621d64a99b3d98c75fb5de74192482c7dc8904d0ea48aefef4b247c175a2ca222f761247f73548e207ad2f304b81  dss_capi_0.13.4_darwin_x64.tar.gz
ab71b5e313dbf6406a91278f163edd6eb6e88a925251dc21a2cde05da50334a2df8911f363fb14c5f211b539180caaec12dbdc2a5ae6ce1cbb0378bea53006b7  dss_capi_0.13.4_linux_arm64.tar.gz
06d633995234a9e1519d18a1602626f682731d7f76268fc925682b94d93961329d6d719a1139a932ccb1fad529aaa296642427b908275b75c9b457c46d6c7a93  dss_capi_0.13.4_linux_x64.tar.gz
96fc789ee0233d743455b2a7d3f80bfa886688a3b91dde73d67ea634e5d9cd40a40ce5b13c934da2e3ac16ceff85c4ffd937acbbb4ed3b3d5e533279d921ce80  dss_capi_0.13.4_linux_x86.tar.gz
718b0c663d12334f5484cbf1824d17cd8b8d2ace5f41f5e1dad41635157befb3e573841dd9c987321f560feea2dd1fc2015230a634761c6ba3440a4affb4c26a  dss_capi-0.13.4.tar.gz
ef43f81b3409a42ed11edefc20b2172698db4f3ec231f77c1336d3679a386e2b00c035832a0baa77fe9a0fa01c43ad51e32318fd58ef5ccd66fc70a1e903dddf  dss_capi_0.13.4_win_x64.zip
5a55ac77658565786464f102067bd0636172a86b7bfd03bdfb45cf1db217349b9dd3db8bc6c79fab23fa1dc02f3c44c534b61ee97b590837b55387323b3e0eb8  dss_capi_0.13.4_win_x86.zip
743fc38da46a938ea91f6bb5a731cb8f149a1c90932fd4e4d462677df0da11959f178bf53186a947231ec173bbca3984dc378c0f3d08ab75d36f2dd13fd729fe  dss_capi-0.13.4.zip
a4fe88fe7f898da0967afebfa118745b8318a59f2b37b12f242d644cc3c5833b63fdeb31005eea7313bfed3fcb7c3b6cc303f61e627fe83c44305d9b621c79a1  messages.tar.gz
4d22bc080846385db0f2b56da6c3610865a218acd9464a7f6a46a5c2a17c10925b9281a6a289fe61e9a461afdf4d32ef01d9f48f6833432bcfb84e6c9957ddaa  messages.zip