Skip to content

KLUSolveX (DSS-Extensions KLUSolve) v1.1.0

Latest
Compare
Choose a tag to compare
@PMeira PMeira released this 07 Dec 06:44
· 3 commits to master since this release

KLUSolveX Version 1.1 adds new functions and restores nearly full compatibility with the original KLUSolve, including Windows x86/32-bit calling convention. Besides AltDSS/DSS C-API, KLUSolveX can now be used with the official binaries, or be used in build process for OpenDSS-C to allow easier customization.

  • Several changes to CMakeLists.txt, including new options.
  • Remove support for ancient MSVC versions (2008 and earlier).
  • Implement SetMatrixElement, add it to klusolvex.map.
  • Remove unused targets from CMake, including METIS EXEs.
  • Remove ifdefs for MSVC 2008.
  • Suppress useless .exp files from MSVC.
  • Some work related to METIS for future Diakoptics use (WIP, probably incomplete).
  • Remove legacy stack stuff, use std::vector instead.
  • Implement real (float64) handling, using float64 sparse matrices and solver.
  • New SaveAsMarketFiles; update Eigen to v3.4.0 for a fix in related functions.
  • Remove klu.h from the main header.
  • Adjustments for easier integration with the official OpenDSS:
    • Use "unsigned int" instead of signed integers to appease OpenDSS-C.
    • Use "complex" instead of plain "double" in the header.
    • Use "stdcall" convention for Windows x86 (32-bit) build.

For this release, we finally fully migrated to GitHub Actions.

Currently, ARM builds for Linux will be added manually later. GitHub Actions has plans to support ARM CI workers in 2025.