DSS C-API 0.13.4
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 ofDSSEvents
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 toCktElement_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