Changelog
v.03
Added
BusSignalVoltageOutbus model with voltage signal outlets and current signal inlets.Added
BusSignalVoltageInbus model with voltage signal inlets and current signal outlets.Removed
BusToSignalAdapter. PreferBusSignalVoltageOutorBusSignalVoltageIn.Added
Bus::setFaultto apply or clear a fault to ground directly at a bus.Removed the
BusFaultclass in favor ofBus::setFault.Added
enableanddisablesolver events that put a branch in or out of service.verify()returnsModel::ConfigurationCheckslisting every configuration problem instead of an error count.Added
Model::ParameterReader
v0.2
Added 3, 10, 37, and 39 bus test cases.
Updated documentation.
Added support for Read the Docs
Added JSON parsing.
Automatic differentiation with enzyme (w.r.t. internal and external variables).
Added PR and issue templates.
Added Genrou class unit test and example.
Added Dev container.
Added back removed tests.
Added the ability to print matrices to matrix market files for later analysis.
Added input format specifications.
Improved IDA interface.
SUNDIALS interface updates.
Refactored and reorganized examples.
Updated variable names and function signatures to follow conventions.
Added classical generator model.
Added clang formatting pre-commit.
CMake fixes.
Fixed warnings, memory leaks, and failed asserts.
Added Tgov1 example.
Added 10 generator example.
Improved data structures.
Removed dead code.
Added signal node connectivity tools.
Upgraded to Spack 1.0.0.
Added
GenClassicalas supported device class in JSON parser.Added more context information to JSON parser errors.
Added
Loggerclass.Added public function to encapsulate use of nlohmann/json and magic_enum from users.
Added complete basic consumer example project used for testing installation
Added
CsrMatrixclass.Added
verifystep for signal node links in system model componentsAdded support for DependencyTracking::Variable in PowerElectronics models.
Updated Jacobian value storage from
ScalarTtoRealT.Added a header file defining constants to be used throughout the code.
Added
GridKitDocstarget for Doxygen documentation.Added a header file defining common math functions (e.g., sigmoid) to be used throughout the code.
Added capability to print monitored variables in multiple formats, triggered from
Ida::runSimulation.Added IDA statistics object which can be accumulated over multiple simulations.
Minor performance improvements to residual evaluation in PowerElectronics module.
Added full support for sparse Jacobians obtained with Enzyme in PhasorDynamics.
Added
Nodeclass to the PowerElectronics module to separate nodes from circuit components.Refactored Jacobian assembly in
PowerElectronicsmodule to reuse the CSR pattern.Refactored Jacobian assembly in
PhasorDynamicsmodule to reuse the CSR pattern.Removed
COO_Matrixclass use inPowerElectronicsmodule.Added phasor dynamics application to generalize examples
Added
LoadZIPmodel component type.Added component model developer checklist to a README file.
Added
IEEESTStabilizer ModelAdded
SEXS-PTIExciter ModelAdded
ESDC1AExciter ModelAdded
GENSALMachine ModelAdded 200 Bus Synthetic Illinois Case
Added node objects to
PowerElectronicsmodule & updated all examples to make use of them.Separated internal and external residuals of
PowerElectronicsmodels.Added
CliArgsclass for better management of command-line options.Remove data copying between system and components in
PowerElectronicsmodels.Added multi-contingency analysis application.
Added
BusToSignalAdaptercomponent for communicating bus voltages and injection currents.Added cmake-format hooks, including in pre-commit.
Added off-nominal tap ratio and phase shift support to the PhasorDynamics
Branchmodel.Added portable Vector class to GridKit
Added support for running IDA with fixed time steps
Added
ConstantSignalSourcecomponent as first use case forBusToSignalAdapter.Added IDA option to suppress algebraic variables in local error tests.
Added
GASTPTIgovernor model implementation for PhasorDynamics.Removed
COO_Matrixclass.Added portable
Vectorclass and policy-based memory utilities.Add new
LinearSolverinterface for linear solvers.Added new
Rosenbrockintegrator.Clarified naming conventions for macros.
Added
dt_fixed,rel_tol,abs_tol,max_steps, andmax_orderoptions to phasor dynamics solver JSON files and renamed thedtoption todt_monitor.Added EMT model and operator documentation.
Added
REGCAconverter model implementation for PhasorDynamics.Remove unnecessary data copying while evaluating
PowerElectronicsmodels, speeding up large simulations by up to 3xAdded
HYGOVgovernor model implementation for PhasorDynamics.Added
REPCAcontroller model implementation for PhasorDynamics.Added
REECBelectrical-control model implementation for PhasorDynamics.Added cases and validation for ACTIVSg10k, ACTIVSg200, ACTIVSg500, and WECC240.
Added ACTIVSg2000, Hawaii, and IEEE39 cases and validation.
Added IDA option to choose the consistent initial condition calculation type.
Implemented
tagDifferentiable()forPowerElectronicsmodels.Fixed the
TenGenGenrouexample to output the correct omega values.Added
GridKit_ENABLE_DEVELOPER_MODECMake option; in developer mode the Logger defaults toEVERYTHINGverbosity.Added
Logger::raiseVerbosity(), which raises the verbosity without lowering a higher level.Changed most of the core library code outputs to use the Logger instead of
std::cout/std::cerr.
v0.1
Refactored code to support adding different model families.
Added PowerElectronics family of models.
Prototype for sparse system matrix assembly (for PowerElectronics only).
Added PhasorDynamics family of models.
Unit testing framework.
GridKit now depends on Sundials >= 7.0.
v0.0.7
Added parser for Matpower files.
Added system composer, which assembles power flow models from components based on input from Matpower file.
Updated bus and created generator factory.
GridKit now depends on Sundials >= 6.0.
GridKit now requires C++17 compliant compiler.
Bug fixes.
v0.0.6
Refactored CMake to use and export targets
Bug fixes
0.0.5
Parameter estimation example
Power flow model composer with test example
Improved CMake build
Updated documentation
0.0.4
Add branch component model.
Add generator with governor component model.
Add generator connected to infinite bus example.
0.0.3
Add basic system composer.
Make GridKit forward compatible with Sundials >= 4.0
0.0.2
Add dynamic constraint Ipopt interface and usage example.
Add Generator 4 component model to the library.
Require CMake >= 3.0 to build GridKit
0.0.1
Initial release. Skeleton of the library to be developed.