Skip to content

Release 0.2 - #601

Closed
pelesh wants to merge 269 commits into
mainfrom
release-0.2
Closed

pelesh wants to merge 269 commits into
mainfrom
release-0.2

Conversation

@pelesh

@pelesh pelesh commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Merge release 0.2 branch into main.

Checklist

  • All tests pass.
  • Code compiles cleanly with flags -Wall -Wpedantic -Wconversion -Wextra.
  • The new code follows GridKit™ style guidelines.
  • There are unit tests for the new code.
  • The new code is documented.
  • The feature branch is rebased with respect to the target branch.
  • The CHANGELOG.md has been updated to reflect the changes. If this is a minor PR that is part of a larger fix already included in the file, state so.

Further comments

superwhiskers and others added 30 commits May 30, 2025 17:09
#117)

* add `.editorconfig`, add undefined behavior and address sanitizer support to the cmake build, and fix a memory leak in `DistributedGeneratorTest`

* swap the heap allocated `DistributedGenerator` for one on the stack

* add warnings by default and fix warnings resulting from our code so that it builds cleanly
* Create phasor dynamics bus and branch data structures.

* Add load data structure.

* Use BusData with BusInfinite.

* Renamed PowerSystemData -> PowerFlowData


---------

Co-authored-by: pelesh <pelesh@users.noreply.github.com>
* Creat README file for classical generator model.
---------

Co-authored-by: superwhiskers <superwhiskers@users.noreply.github.com>
* Initial update to GENROU docs

* Initial update to GENSAL docs

* Initial update to load docs

* Initial BusFault docs

* Initial branch docs update

* Correct load math markers

---------

Co-authored-by: abirchfield <abirchfield@users.noreply.github.com>
Co-authored-by: pelesh <peless@ornl.gov>
* update src/Model/PhasorDynamics/INPUT_FORMAT.md

Co-authored-by: pelesh <peless@ornl.gov>

* Aligning with new field labeling paradigm and bus vs node notation

* explicitly specify a date format for consistency, minor adjustments to wording

* indicate default values for bus classes, allow datetimes in the `case_datetime` field

* refine language regarding the datetime field

---------

Co-authored-by: pelesh <peless@ornl.gov>
Co-authored-by: Adam Birchfield <adam.b.birchfield@gmail.com>
---------

Co-authored-by: superwhiskers <superwhiskers@users.noreply.github.com>
Co-authored-by: pelesh <peless@ornl.gov>
* Separated out Enzyme macros from FindEnzyme and added a EnzymeAddLibrary macro.

* Enzyme wrapper within GridKit.

* Fixes to rebase.

* More interesting vector residual for Enzyme examples.

* Fix some warnings.

* Address one more warning.

* Apply pre-commmit fixes

* Empty commit to trigger CI after pre-commit fixes.

* Successful use of target_compiile_options to pass enzyme-auto-sparsity flags in examples.

* More flags needed to get the correct answer to machine precision in EnzymePowerElectronicsCheck.

* EnzymeAddLibrary not currently needed.

* Apply pre-commmit fixes

* Empty commit to trigger CI after pre-commit fixes.

* Updated documentation in EnzymeAddLibrary.

* Fix warnings previously hidden by manual builds through enzyme_add_executable CMake macro.

* Use GridKit::Testing::isEqual in Enzyme examples.

* Fixes to rebase.

* Apply pre-commmit fixes

* Empty commit to trigger CI after pre-commit fixes.

* residual_wrapper can now be placed within GridKit::Enzyme namespace.

---------

Co-authored-by: nkoukpaizan <nkoukpaizan@users.noreply.github.com>
* Add bus factory to phasor dynamics family.

* Add system model data for phasor dynamics family.

* Use SystemModelData to instantiate system in phasor dynamic Example 1.

* Add unit test for system constructor.

---------

Co-authored-by: pelesh <pelesh@users.noreply.github.com>
---------

Co-authored-by: abirchfield <adam.b.birchfield@gmail.com>
* adding new version of example3 with GenClassical, plus fixes to GenClassical itself and other bug fixes

* updated GenClassical unit tests
* governor model additions and cmake

* add: accessor functions for genrou speed and torque

* add: unit test files and cmake

* edit: Governor Namespace and floating point arithmetic fix


---------

Co-authored-by: pelesh <pelesh@users.noreply.github.com>
Co-authored-by: lukelowry <lukelowry@users.noreply.github.com>
---------

Co-authored-by: lukelowry <lukelowry@users.noreply.github.com>
Co-authored-by: Adam Birchfield <adam.b.birchfield@gmail.com>
Co-authored-by: pelesh <peless@ornl.gov>
* added the ability to print a COO matrix and a jacobian in the matrix market format

* documentation

* printing residual vector too

* fixed recommendations

* the new file actually allows you to supply N. It also removes tests, it's just for creating linear systems.

* Apply pre-commmit fixes

* rebase the branch and address compiler warnings

* fix memory leak in the example

* add iomanip include for setprecision

* Apply pre-commmit fixes

---------

Co-authored-by: shakedregev <shakedregev@users.noreply.github.com>
Co-authored-by: superwhiskers <whiskerdev@protonmail.com>
Co-authored-by: superwhiskers <superwhiskers@users.noreply.github.com>
* Update build requirements to SUNDIALS version 7.4.0

* Updated Spack fork with sundials@7.4.0 and set CI to use that version. (#164)

---------

Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>
…rsion) (#159)

* implementation of a json parser for the case format with regard to the system model in the phasor dynamics directory using nlohmann/json
* Sparse Jacobian now allocates nnz instead of n^2 elements.
* Add 3-bus example with classical generators.

* Adding reference solution for ThreeBusClassical

* Update unit test to match updates in GenClassical.

---------

Co-authored-by: pelesh <pelesh@users.noreply.github.com>
Co-authored-by: Adam Birchfield <adam.b.birchfield@gmail.com>
Co-authored-by: abirchfield <abirchfield@users.noreply.github.com>
lukelowry and others added 29 commits August 28, 2026 20:29
* reduce unecessary state

* tiny tol adjust

* fix example usage of ida
* Future proof exciters

* adjust clean tests minor

* Update README

* read_signal as cleaerer lambda name temp
* Refactor common microgrid code and update examples

* Fixed include path  for microgrid examples

* Minor update to MicrogridNetwork.hpp implementation and microgrid examples

* Update comments and grid network builder

* Update cmake files and examples

* Separate Network construction and system assembler

* Update microgrid examples

* [skip ci] Update examples/PowerElectronics/ExamplesHelper/SystemAssembler.hpp

---------

Co-authored-by: abdourahmanbarry <abdourahmanbarry@users.noreply.github.com>
Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>
* reproduced issue in a test

* Value contributions from DfDwb and DhDy only when status_

* cleaner test

* Update tests/UnitTests/PhasorDynamics/CMakeLists.txt

Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>

* Update tests/UnitTests/PhasorDynamics/runBusFaultTests.cpp

Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>

---------

Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>
…537)

* Add simple one-sided co-sim example taking constant current over zmq

* Undo changes to SystemModelData

* Add documentation

* Add more intentional logging

* Update examples/Network/ThreeBusCoSim/run_cosim.sh

Co-authored-by: superwhiskers <whiskerdev@protonmail.com>

* Add comments about status keywords

* Update run_cosim script

---------

Co-authored-by: superwhiskers <whiskerdev@protonmail.com>
* Change representaiton of converter equation for better conditioning

* Update tests/UnitTests/PhasorDynamics/ConverterRegcaTests.hpp

Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>

* Other test cleanup

---------

Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>
Co-authored-by: lukelowry <lukelowry@users.noreply.github.com>
* General updates and cleanup

* touch up other references

* Update GridKit/Model/PhasorDynamics/SynchronousMachine/GenClassical/CMakeLists.txt

Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>

---------

Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>
* Extract mva helpers and consistant mva/trate require

* adjust value_type and instance pointer

* conenction test minor fix
* Add clone implementations for microgrid components

* Add tests for component cloning

* Add more comments

* Update ComponentCloneTest

* Document copy constructor in CircuitComponnet.hpp

* Update comments

* Remove isCloneable method from PowerElectronics components

---------

Co-authored-by: abdourahmanbarry <abdourahmanbarry@users.noreply.github.com>
* Add PhasorDynamics validation plotting utility

* Standardize existing PhasorDynamics validations

* Add Hawaii case and validation

* Add ACTIVSg2000 case and validation

* Update ACTIVSg10k case and add validation

* Add IEEE39 case and validation

* document and clean plot script

* Adjust case name
* Move PowerElectronics models to a namespace.

* Drop Circuit... from PowerElectronics names. Namespace is sufficient.

* Simplify PowerElectronics class names.

* Minor formatting.

* [skip ci] Apply suggestion from @abdourahmanbarry

Co-authored-by: abdourahmanbarry <153353767+abdourahmanbarry@users.noreply.github.com>

---------

Co-authored-by: nkoukpaizan <nkoukpaizan@users.noreply.github.com>
Co-authored-by: abdourahmanbarry <153353767+abdourahmanbarry@users.noreply.github.com>
* propgation impl

* rendered diagram

* spelling and reference errors

* small consistancy

* README consistnancy and minor correctiions

* EXDC1 and a few adjustments and cleanup

* ordering for gensal/rou models

* misc adjustments

* consistancy minor

* README changes misc major

* [skip ci] render latex correctly

* [skip ci] render latex correctly

* [skip ci] render latex correctly

---------

Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com>
* Update SUNDIALS version

* Add max order option to IDA and PhasorDynamics apps

* Fix abs tol for fixed time steps

* Add exception handling to ensure SUNDIALS logs are written properly on error

* Update changelog

* Apply pre-commit fixes

* Add latest SUNDIALS version to local Spack repos. (#584)

---------

Co-authored-by: Steven-Roberts <Steven-Roberts@users.noreply.github.com>
Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>
…asorDyanmics (#574)

* SystemModel DependencyTracking Jacobian.

* Set variableNumber in SystemModel's initialize().

* Update SystemTest to get the DependencyTracking Jacobian in CSC form directly.

* Minor variable name change.

* Switch from y_yp_tracking_offset to odd/even split.

* Made constructCsrFromCoo protected and added a public constructCsr that will dispatch based on ScalarT.

* Move constructCsrFromDependencies to base class.

* Move initializeDependencyTrackingVariableNumbers to base class.

* Remove std::vector from DependencyTracking::Variable.

* Update Variable::der(size_t i) implementation... no insertion if not found --> no need for mutable.

* WIP: Component-level DependencyTracking Jacobians.

* Apply batched suggestions from code review

Co-authored-by: pelesh <peless@ornl.gov>

* Fix Hygov test.

* [skip ci] Expand on CSR construction documentation.

---------

Co-authored-by: nkoukpaizan <nkoukpaizan@users.noreply.github.com>
Co-authored-by: pelesh <peless@ornl.gov>
* cleanup examples

* reoganize Valdiation and Simulation toy exampels

* standard link and formatting

* correct return of tengen integration tests

* add reference solution for tengen

* fix csv ref in cmake and consistant RTD format for new cases
* scale default step tol by the large 100 scaling

* Hawaii solver

* remove hawaii edit
* Minor consistancy changes

* RTD doxygen error fix

* adjust nav index depth
* Define GRIDKIT_ENABLE_DEVELOPER_MODE and increase default verbosity associated.

* Remove commented out std::cout/cerr calls.

* Update INSTALL.md with recent CMake options.

* Logger::raiseVerbosity().

* std::cout/std::cerr --> Log::

* out -> Log for logger alias consistency.

* Print application usage through Log::error().

* Restore previous verbosity in Vector and CliArgs tests.

* Print test Jacobians through Log::misc().

* Turn off Microgrid example debug output by default.

* Update CHANGELOG.

* Updated not implemented/experimental messages (e.g., std::endl-->\n)

* Use Log::summary for TenGenClassical and TenGenGenrou.

* Use Log::misc() in LinearAlgebra run*Tests.cpp.
---------

Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>
@pelesh pelesh closed this Oct 1, 2026
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.