Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
269 commits
Select commit Hold shift + click to select a range
1303aa1
fix a memory leak, add asan / ubsan support to the cmake configuratio…
superwhiskers May 30, 2025
7086fe7
Create phasor dynamics model data structures (#116)
pelesh May 31, 2025
bb8487e
Create README file documenting classical generator model (#122)
pelesh Jun 3, 2025
6177b39
fix remaining warnings (on-repo) (#125)
superwhiskers Jun 4, 2025
7c5c219
Reorganization in preparation for Enzyme automatic differentiation PR…
nkoukpaizan Jun 5, 2025
82ce05e
Add classical generator model (#127)
pelesh Jun 5, 2025
a089fec
Changes to compile with MSVC (#130)
abirchfield Jun 6, 2025
593fdbd
Update modeling documentation structure (#128)
abirchfield Jun 6, 2025
833261b
Add component data structures (#133)
pelesh Jun 10, 2025
f65eb4f
some initial tweaks of the input format (#132)
superwhiskers Jun 10, 2025
d5e6af2
fix several memory leaks (#134)
superwhiskers Jun 11, 2025
9b92afb
Enzyme Jacobian for PhasorDynamics::Load within GridKit (#131)
nkoukpaizan Jun 12, 2025
1eb6fc0
Implement system model data structure and system composer (#138)
pelesh Jun 13, 2025
3585940
Add 10 generator system to phasor dynamics examples (#135)
pelesh Jun 18, 2025
721ed57
Adding new version of example3 with GenClassical (#148)
abirchfield Jun 20, 2025
79e34cf
Governor (GovernorTgov1) Documentation (#149)
lukelowry Jun 23, 2025
1f74574
Governor (GovernorTgov1) Source and Unit Test (#151)
lukelowry Jun 25, 2025
16d09e8
Update CI to support +ipopt (^ipopt~coinhsl+mumps), +asan and +ubsan.…
nkoukpaizan Jun 25, 2025
5dbe296
Example for Tgov1 (#156)
lukelowry Jun 26, 2025
fd3dfc6
Exciter (IEEET1) Documentation (#157)
lukelowry Jun 27, 2025
f529ebc
Added functions to print jacobian matrix in COO to matrix market (#92)
shakedregev Jun 27, 2025
4916f6f
Fix compiler warnings in Matrix_COO (#163)
superwhiskers Jun 27, 2025
7d89add
Update to SUNDIALS >= 7.4.0 (#160)
Steven-Roberts Jun 27, 2025
788657f
Organizing Phasor Dynamics Examples (#162)
abirchfield Jun 28, 2025
3847594
add a json parser for the grid dynamics case format (nlohmann/json ve…
superwhiskers Jun 30, 2025
67a7312
Fix incorrect allocation of yp in Enzyme example for DistributedGener…
nkoukpaizan Jun 30, 2025
859ea37
Fix sparse Jacobian allocation (#168)
pelesh Jul 2, 2025
5cf954a
Remove adjoint sensitivity methods from phasor dynamics components (#…
pelesh Jul 4, 2025
9fb5e85
Fix the means by which cmake finds the suitesparse include directory …
superwhiskers Jul 8, 2025
3bc90bf
Add a 3-bus example with classical generators. (#170)
pelesh Jul 9, 2025
ee5c7bf
improve the approach we use for parsing and storing component data (#…
superwhiskers Jul 9, 2025
51ca0c3
address #177 (#178)
superwhiskers Jul 10, 2025
03b2c29
address #179 (#180)
superwhiskers Jul 10, 2025
6cc0593
GenClassical derivative (#172)
nkoukpaizan Jul 11, 2025
874bad4
Correctly print all matrices in scalemicrogridarbitrary (#166)
shakedregev Jul 11, 2025
b244178
Improving documentation of power electronics examples and components …
reid-g Jul 15, 2025
f1f6a84
Use interface target to link to component models (#184)
pelesh Jul 15, 2025
5bf5d1d
Default is to build GridKit without dependencies (#186)
pelesh Jul 16, 2025
d55beae
system jacobian testing for phasor dynamics models (#182)
superwhiskers Jul 17, 2025
6def384
Fix for Definitions.hpp inclusion (#191)
nkoukpaizan Jul 18, 2025
ccacdc7
Introduce signal node object to abstract connections with control dev…
pelesh Jul 18, 2025
a0ac4a5
Exciter Implementation and Example (#192)
lukelowry Jul 24, 2025
49ffd8a
Refactor Tgov1 model: new parameter parsing, safe valve logic (#195)
WiktoriaZielinskaORNL Jul 24, 2025
557c47e
README update (#197)
shakedregev Jul 24, 2025
cc9b27b
Unified interface to signal buses (#193)
superwhiskers Jul 29, 2025
b1d2b78
improvements to the component signal object and json parser infrastru…
superwhiskers Jul 30, 2025
c5130f1
add signal node support to the system model (#203)
superwhiskers Aug 1, 2025
bf157fb
TODO comments (#206)
pelesh Aug 8, 2025
95f9b1f
Input Format README Updates (#207)
lukelowry Aug 13, 2025
39bdc81
Separate Impl and template instantiation for Branch and Exciter (#211)
nkoukpaizan Aug 14, 2025
bbde178
Have Doxygen document private members (#208)
alexander-novo Aug 14, 2025
b5a54ff
Upgrade to Spack v1.0.0 (#214)
nkoukpaizan Aug 19, 2025
134457a
Enzyme wrapper update (#213)
nkoukpaizan Aug 19, 2025
f77dfcb
Update Dev Container Dockerfile (#216)
alexander-novo Aug 21, 2025
a9be0f2
Fix to enable Ida build when SUNDIALS is not configured with KLU (#218)
nkoukpaizan Aug 25, 2025
b191e66
Don't document third party libs (#223)
alexander-novo Sep 5, 2025
af49176
Tgov1 and Genrou derivatives (#204)
nkoukpaizan Sep 11, 2025
50f884c
Add test to verify reading and configuring signal ports by JSON parse…
pelesh Sep 11, 2025
feabdac
Smoke tests for all components through SystemModel (#231)
nkoukpaizan Sep 25, 2025
b412ab3
Equip Ieeet1 model with signal node connectivity tools (#233)
pelesh Sep 26, 2025
43f2717
Two-Area Case (10 Bus) in JSON File Format (#236)
lukelowry Sep 26, 2025
33dae0b
Manage component IDs internal to GridKit (#232)
nkoukpaizan Sep 26, 2025
233548f
CONTRIBUTING.md Guidelines for Adding Cases (#239)
lukelowry Sep 30, 2025
9c97297
Tiny ThreeBus JSON Examples (#240)
lukelowry Oct 2, 2025
e5b5fa2
Synthetic Hawaii Test Case (37 Bus) (#237)
lukelowry Oct 2, 2025
7130aec
JSON Load and Gen Values on MVA Base (#244)
lukelowry Oct 2, 2025
bb898eb
Added change log and PR instruction (#247)
shakedregev Oct 2, 2025
a3f1056
Add check-json to pre-commit (#246)
nkoukpaizan Oct 2, 2025
5de1437
Refactored TinyTwoBus examples to use separate JSON files (#250)
PhilipFackler Oct 3, 2025
bc14bf9
System-level Jacobian assembly (#229)
nkoukpaizan Oct 3, 2025
2601fe2
Install executables in examples tree and print more meaningful error …
PhilipFackler Oct 8, 2025
04f9f67
Print variable name in the error message (#258)
PhilipFackler Oct 8, 2025
e634889
Fix gridkit_bus_indices_ and gridkit_signal_indices_ maps. (#260)
nkoukpaizan Oct 8, 2025
7bcded1
Adding Genrou Test for PhasorDynamics (#245)
joshua-x-7 Oct 9, 2025
f8efabe
Print device class in the error message (#262)
PhilipFackler Oct 9, 2025
2319e66
Disable GenrouEnzyme (#264)
nkoukpaizan Oct 9, 2025
bcca730
Change BusFault label to match the input guidelines (#259)
PhilipFackler Oct 10, 2025
ceddc2c
Port Tiny/ThreeBus examples to use JSON (#268)
PhilipFackler Oct 10, 2025
8327938
Add more information and context to JSON parser errors (#269)
PhilipFackler Oct 13, 2025
d563882
Introduce Logger class with tests (#274)
PhilipFackler Oct 20, 2025
34413db
Specify CXX to avoid unnecessary C language checks (#273)
PhilipFackler Oct 20, 2025
7feb684
Enable C language when using SUNDIALS (#283)
PhilipFackler Oct 23, 2025
5aed0f6
Clean up the gridkit_add_library macro (#280)
PhilipFackler Oct 23, 2025
1b8ca01
Make tests optional (#281)
PhilipFackler Oct 23, 2025
c4ce94e
Fix clang errors
PhilipFackler Oct 24, 2025
b77daaf
Add basic command-line parser
PhilipFackler Oct 24, 2025
6da7094
Remove explicit OUTPUT_NAME argument to allow consistent convention (…
PhilipFackler Oct 28, 2025
6faf29c
Install public headers (#290)
PhilipFackler Oct 29, 2025
87eb020
Machine MVA Bases (#286)
lukelowry Oct 29, 2025
8c167ad
Model Jacobians with respect to external variables (#265)
nkoukpaizan Oct 30, 2025
aba33f7
Add simple function to encapsulate use of json and magic_enum TPLs (#…
PhilipFackler Oct 30, 2025
27a534f
Consumer Test (#295)
PhilipFackler Oct 30, 2025
491ea31
Re-activate GenrouEnzyme (#293)
nkoukpaizan Oct 30, 2025
63bfbdb
Update Small & Medium Case JSON (#291)
lukelowry Oct 30, 2025
946cf3e
Updated project and namespace name and updated Config file (#297)
PhilipFackler Oct 31, 2025
6d6f1cf
Misc Documentation Cleanup (#298)
lukelowry Oct 31, 2025
d21447d
Add ReSolve CSR Matrix (#292)
alexander-novo Nov 3, 2025
51fc105
test_install in CI (#299)
nkoukpaizan Nov 4, 2025
646a081
Rename src to GridKit and standardize include statements (#300)
PhilipFackler Nov 5, 2025
a606ca4
Add verify step to SystemModel::allocate and don't throw on some pars…
PhilipFackler Nov 7, 2025
9e40809
Store Jacobian values as real_type rather than ScalarT (#305)
nkoukpaizan Nov 11, 2025
d152c32
Case modify shunt elements and governor limits (#309)
lukelowry Nov 18, 2025
b589149
New England IEEE 39-Bus Case (#310)
lukelowry Nov 24, 2025
8be144a
Add cmake doxygen target and remove unused files (#315)
PhilipFackler Dec 11, 2025
d2fe689
Modify Smooth Approximation of Limits (#313)
lukelowry Dec 18, 2025
2873ebb
B szymanowski/tgov1 tests dev (#317)
BSzymanowski Dec 18, 2025
df24ad0
Add variable monitor for solver iteration output (#308)
PhilipFackler Dec 22, 2025
8f54253
Remove erroneous virtual tags (#328)
alexander-novo Jan 7, 2026
99b1014
Add IDA Stat struct (#329)
alexander-novo Jan 9, 2026
61b657b
Minor performance improvements to PowerElectronics residual evaluatio…
alexander-novo Jan 9, 2026
fed7fa3
Add missing include. (#334)
pelesh Jan 20, 2026
25f59d8
PhasorDynamics simulations with sparse Jacobians (#312)
nkoukpaizan Jan 21, 2026
8e63d95
Add CircuitNode class to PowerElectronics (#335)
kakeueda Jan 21, 2026
485edd8
Hawaii 37-bus case simulation (#340)
nkoukpaizan Feb 19, 2026
6830267
Refactor Jacobian assembly (#339)
kakeueda Feb 19, 2026
e91c899
A step toward generalizing the phasor dynamics examples. (#338)
PhilipFackler Feb 20, 2026
d8128ce
Reuse CSR pattern in PhasorDynamics system Jacobian (#342)
nkoukpaizan Feb 24, 2026
031d41c
Performance improvements in PhasorDynamics component Jacobian evaluat…
nkoukpaizan Mar 3, 2026
b92d580
Initialize output monitors (#343)
BSzymanowski Mar 10, 2026
21d0a2e
Remove `COO_Matrix` from PowerElectronics module (#361)
alexander-novo Apr 7, 2026
e0d57b6
Initial implementation of generic phasor dynamics app (#359)
PhilipFackler Apr 8, 2026
79aeedf
Texas Case Simulation (#346)
lukelowry Apr 8, 2026
f817d00
Adding LoadZIP model component type (#362)
abirchfield Apr 8, 2026
75b2355
Add component model developer checklist (#358)
pelesh Apr 8, 2026
6afec4b
Stabilizer Docs + IEEEST Implementation (#365)
lukelowry Apr 17, 2026
f741f14
Make updateTime calls consistently after data updates (#380)
PhilipFackler Apr 23, 2026
85a1f2b
SEXS-PTI Exciter Model + GENROU Saturation (#373)
lukelowry Apr 24, 2026
1a65f75
Illinois 200 Bus + WECC 240 Bus + IEEE ISONE (#374)
lukelowry Apr 27, 2026
d8747c0
Add node objects to PowerElectronics module (#367)
alexander-novo Apr 30, 2026
13fd6e0
Refactoring phasor dynamics constituent models (#381)
PhilipFackler Apr 30, 2026
ebbc5c2
BusFault at each Bus as temporary request (#384)
lukelowry Apr 30, 2026
e409ebf
Separate internal and external residuals in PowerElectronics models (…
alexander-novo Apr 30, 2026
0db7c3a
Reorder DistributedGenerator variables (#378)
alexander-novo Apr 30, 2026
aaf6f81
Add INSTALL.md file. (#383)
pelesh Apr 30, 2026
e0f8f6d
Jacobian test for Exciter::SexsPti (#396)
nkoukpaizan May 14, 2026
adb7552
Introduce `CliArgs` (new design) and use to further generalize `Three…
PhilipFackler May 15, 2026
d543c29
Remove CliOptions (#402)
PhilipFackler May 15, 2026
2206adc
IEEET1 exciter tests (#399)
nkoukpaizan May 15, 2026
3c13123
Update Phasor Dynamics Load model to match documentation. (#403)
nkoukpaizan May 18, 2026
d2e7491
GENSAL Machine Model + Doc Cleanup for Machines (#385)
lukelowry May 20, 2026
1fc99d2
EMT Lumped Model Documentation (#397)
lukelowry May 21, 2026
1b910c7
REGCA Documentation + More Function Primitives (#404)
lukelowry May 26, 2026
ac0a801
Remove data copying for internal component variables, derivatives, an…
alexander-novo May 27, 2026
9df74e7
Initial implementation of multi-contingency app (#394)
PhilipFackler May 28, 2026
1e1543e
Introduce cosimulation interface component (#401)
PhilipFackler May 28, 2026
cc353ec
Add cmake-format (#409)
nkoukpaizan Jun 1, 2026
ff5adcd
Optimize CSV monitor output for 2x runtime (#412)
lukelowry Jun 1, 2026
8402bd4
Off-nominal branch tap and phase support (#417)
lukelowry Jun 1, 2026
faa112f
Remove GridElement class (#423)
pelesh Jun 2, 2026
5b8f0ee
MVA Parameter Cleanup (#435)
lukelowry Jun 4, 2026
31c9474
Fix (most) template formatting issues in phasor dynamics (#410)
PhilipFackler Jun 5, 2026
56b6e3c
Add a vector class to GridKit (#418)
pelesh Jun 7, 2026
88426c2
Numerically stable sigmoid function (#436)
lukelowry Jun 8, 2026
03642c6
Document ESDC2A exciter model (#425)
lukelowry Jun 8, 2026
458a158
Document ESAC6A exciter model (#426)
lukelowry Jun 8, 2026
30ada8f
Document IEEEG1 governor model (#430)
lukelowry Jun 8, 2026
dd7dad0
Make new targets for SystemModel (#437)
PhilipFackler Jun 8, 2026
35152ed
Document EXAC1 exciter model (#427)
lukelowry Jun 8, 2026
05e88ac
Document ESST4B exciter model (#428)
lukelowry Jun 8, 2026
4cec832
Document SCRX exciter model (#429)
lukelowry Jun 8, 2026
e8d5b35
Document EXAC2 exciter model (#431)
lukelowry Jun 8, 2026
04b845f
Document EXPIC1 exciter model (#432)
lukelowry Jun 8, 2026
0b56d69
Document GGOV1 governor model (#433)
lukelowry Jun 8, 2026
6234f0f
`GRIDKIT_ENABLE_THREADS` to use std::async in `ContingencyAnalyis` (#…
nkoukpaizan Jun 8, 2026
d0b0c75
Fix phasor_dynamics_systemmodel targets. (#444)
nkoukpaizan Jun 10, 2026
6a51746
Add support for fixed time steps with IDA (#347)
Steven-Roberts Jun 20, 2026
2892ddd
Cleanup branch unit test (#446)
nkoukpaizan Jun 20, 2026
40b5b3a
Initial ReadTheDocs Setup (#443)
lukelowry Jun 22, 2026
b5cc7a3
Avoid adding monitor sink when not intended (#453)
PhilipFackler Jun 24, 2026
0b4ab46
Use system base for governor-machine power signals (#438)
lukelowry Jun 24, 2026
befe03a
Use relative errors by default when comparing output files (#449)
PhilipFackler Jun 25, 2026
27455f7
Add option to suppress algebraic errors in IDA (#464)
Steven-Roberts Jun 25, 2026
e109888
Refactor Load organization and LoadZIP format (#465)
lukelowry Jun 25, 2026
78aec28
Nuke COO_Matrix class (#447)
nkoukpaizan Jun 25, 2026
0a12711
`ConstantSignalSource` component and example with `BusToSignalAdapter…
PhilipFackler Jun 26, 2026
4148a6c
Uncomment IDATest. (#472)
nkoukpaizan Jun 30, 2026
e24ba67
Support zero IEEET1 transducer time constant (#439)
lukelowry Jun 30, 2026
ea96fba
Refactor generators to remove DhDwb terms (#473)
nkoukpaizan Jun 30, 2026
6b119ac
Use ports for PhasorDynamics signal connectivity (#440)
lukelowry Jul 2, 2026
d24c6b4
Vector and supporting classes update (#477)
pelesh Jul 8, 2026
ba824dc
Support Bus Parameters (#475)
lukelowry Jul 9, 2026
c099ac0
Add VectorHandler class to GridKit (#480)
pelesh Jul 9, 2026
a647eb3
Use GridKit Vector for Model Evaluator Interfaces (#488)
lukelowry Jul 15, 2026
13bda7f
Remove `DenseMatrix` class and move Enzyme examples to unit tests (#494)
nkoukpaizan Jul 16, 2026
4bd33b9
Shared Memory for SystemModel and its Components (#493)
lukelowry Jul 17, 2026
ccb51f2
Add LinearSolver interface (#489)
alexander-novo Jul 17, 2026
7bfcd12
Add new solver options to phasor dynamics application (#483)
Steven-Roberts Jul 17, 2026
5198cba
Edge case gates for IEEET1 (Validation) (#487)
lukelowry Jul 17, 2026
b22e167
Update Rosenbrock test and related CI test (#496)
nkoukpaizan Jul 20, 2026
c0f4d18
Add appropriate throws in parsers and update example (#499)
PhilipFackler Jul 22, 2026
98debc5
Message about expected errors in tests (#500)
nkoukpaizan Jul 22, 2026
bd5d48e
Add ZeroMQ as optional dependency (#502)
PhilipFackler Jul 23, 2026
e4c66a9
Remove most old example code (#470)
PhilipFackler Jul 24, 2026
a5143ab
Misc sphinx, doxygen, RTD hygiene (#506)
lukelowry Jul 24, 2026
9d993a0
EMT Enhanced Documentation (#451)
lukelowry Jul 29, 2026
9f77956
Add max steps options for phasor dynamics app (#510)
Steven-Roberts Jul 31, 2026
cd2cd4d
REGCA Implementation (#415)
lukelowry Jul 31, 2026
64fe0b9
Remove external variable copy for PowerElectronics (#508)
alexander-novo Jul 31, 2026
dd206df
remove compatability parameter Vnom (#515)
lukelowry Aug 3, 2026
f0e1a94
ESDC1A Documentation + Implementation (#424)
lukelowry Aug 4, 2026
3f6cd2e
Update math constants and functions (#521)
nkoukpaizan Aug 5, 2026
09ed472
fix circuit component documentation (#524)
lukelowry Aug 5, 2026
9a845a1
Input Format corrections for v0.2 release (#523)
lukelowry Aug 5, 2026
3546944
Distinction of Magnetization vs. Line Shunt (Validation) (#486)
lukelowry Aug 6, 2026
41f9949
HYGOV Documentation + Implementation (#419)
lukelowry Aug 6, 2026
2699ec4
REPCA Documentation + Implementation (#422)
lukelowry Aug 6, 2026
2cb4c76
GAST-PTI Documentation + Implementation (#420)
lukelowry Aug 7, 2026
1dd8077
REECB Documentation + Implementation (#421)
lukelowry Aug 8, 2026
6f7bc80
CommonMath Polished Docs (#519)
lukelowry Aug 11, 2026
a778f2b
Output post-event monitor values (#539)
lukelowry Aug 14, 2026
77963e7
Fix Doxygen Ref issues (#536)
alexander-novo Aug 14, 2026
9f84a03
Fix Rosenbrock MINUS_ONE bug (#535)
alexander-novo Aug 14, 2026
ad86689
Clarify (draft) PRs in contributing guidelines. (#541)
nkoukpaizan Aug 17, 2026
9d6a621
Minimal corrections to Phasor Dynamics models for validation (#538)
lukelowry Aug 20, 2026
55a709e
Add option for IDA consistent initial conditions mode (#542)
Steven-Roberts Aug 21, 2026
6445930
10k Bus Case + Three Fully Validated Cases (#461)
lukelowry Aug 24, 2026
79237bc
Lower verbosity for Phasor Dynamics testing (#548)
lukelowry Aug 25, 2026
5b14af7
Implement tagDifferentiable in PowerElectronics models (#540)
alexander-novo Aug 26, 2026
6c1a9aa
Use std::once_flag and std::call_once for time constant warnings. (#550)
nkoukpaizan Aug 26, 2026
5de5247
Fix linear decompositions being reported as residual evaluations in I…
alexander-novo Aug 28, 2026
3e01646
Output the correct variable for TenGenGenrou example (#559)
alexander-novo Aug 28, 2026
c1c8612
Eliminate useless state in Genrou and Gensal (#556)
lukelowry Aug 29, 2026
f1da4df
Future proof exciters (#557)
lukelowry Aug 31, 2026
af5a66c
Refactor Microgrid Examples to Facilitate Code Reuse (#551)
abdourahmanbarry Sep 1, 2026
db4ffcc
Bus Fault Jacobian Bug (#561)
lukelowry Sep 1, 2026
de7bea1
migrate wb, ws, h to Vector (#565)
lukelowry Sep 3, 2026
057492a
Add simple one-sided co-sim example taking constant current over zmq …
PhilipFackler Sep 3, 2026
e0b9d7e
BUG: Renewable Controller edge case (#568)
lukelowry Sep 5, 2026
710e58e
Classical Generator Updates and Completion (#572)
lukelowry Sep 7, 2026
8a3f499
Extract base conversion functions (#571)
lukelowry Sep 8, 2026
196331d
Cloning Components in PowerElectronics Module (#552)
abdourahmanbarry Sep 8, 2026
8ec517c
ACTIVSg2000, ACTIVSg10k, Hawaii, IEEE39 Validation Data (#564)
lukelowry Sep 9, 2026
a7394ca
fix a minor bug in the ida solver interface (#575)
superwhiskers Sep 10, 2026
b66b7f4
Move PowerElectronics models to a namespace uniformly (#576)
nkoukpaizan Sep 11, 2026
4846a70
work on signal port (#570)
superwhiskers Sep 11, 2026
2835da0
Fix IDA initial condition tol for fixed steps (#579)
Steven-Roberts Sep 12, 2026
9330ee8
Model Math and Documentation Cleanup (#555)
lukelowry Sep 14, 2026
042dd9f
SUNDIALS Upgrades (#583)
Steven-Roberts Sep 17, 2026
14d202d
Add automatic CSR Jacobian construction with DependencyTracking in Ph…
nkoukpaizan Sep 17, 2026
6bd8bf5
Bug: RTD Doxygen Build Fix (#581)
lukelowry Sep 17, 2026
7a1877b
Cleanup Examples (#577)
lukelowry Sep 21, 2026
5c8b789
Fix documentation for power flow models and examples. (#585)
pelesh Sep 21, 2026
6c5139c
Performance improvements (#586)
superwhiskers Sep 23, 2026
22110b7
IDA Scaling Correction (#589)
lukelowry Sep 23, 2026
99e9e63
Replace call_once with an atomic exchange. (#595)
nkoukpaizan Sep 29, 2026
776ffed
Minor Documentation Consistency Corrections (#592)
lukelowry Sep 29, 2026
7af8b19
Fixed documentation issues in PowerElectronics (#590)
abdourahmanbarry Sep 29, 2026
c64d0e1
Cleanup output streams in GridKit core code (#599)
nkoukpaizan Oct 1, 2026
e8def28
Document release branch workflow in CONTRIBUTING.md (#600)
pelesh Oct 1, 2026
5351c4e
Update GridKit version to 0.2 (#596)
pelesh Oct 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
34 changes: 21 additions & 13 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,25 @@ SpaceAfterCStyleCast: true
PointerAlignment: Left

# Includes
IncludeBlocks: Regroup # Regroup includes based on config
IncludeBlocks: Regroup # Regroup includes based on config
IncludeCategories:
- Regex: '(^"|\.hpp)' # 'local' includes
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: '\/' # Library includes
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '.*' # Everything else
Priority: 1
SortPriority: 0
CaseSensitive: false
- Regex: '^"[^/]+\.h"' # 'local' includes
Priority: 5
- Regex: '^<GridKit\/' # Public project includes
Priority: 4
CaseSensitive: true
- Regex: '^<(nlohmann|magic_enum)' # Library includes
Priority: 3
CaseSensitive: true
- Regex: '^<(idas|sun|kinsol|nvector)' # Library includes
Priority: 3
CaseSensitive: true
- Regex: '^<(Ip[A-Za-z_]+\.hpp)' # Ipopt includes
Priority: 3
CaseSensitive: true
- Regex: '^<[a-z_]+>' # STL includes
Priority: 2
CaseSensitive: true
- Regex: '^<[a-z_]+\.h>' # C standard headers
Priority: 1
CaseSensitive: true
76 changes: 76 additions & 0 deletions .cmake-format.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# -*- Python -*-

with section("format"):

# How wide to allow formatted cmake files
line_width = 100

# How many spaces to tab for indent
tab_size = 2

# If true, separate flow control names from their parentheses with a space
separate_ctrl_name_with_space = False

# If true, separate function names from parentheses with a space
separate_fn_name_with_space = False

# If a statement is wrapped to more than one line, then dangle the closing
# parenthesis on its own line.
dangle_parens = False

# If a positional argument group contains more than this many arguments, then
# force it to a vertical layout.
max_pargs_hwrap = 3

# Force vertical alignment if command takes more than this number of lines
max_rows_cmdline = 1

# List of command names which should always be wrapped
always_wrap = ['configure_package_config_file',
'list',
'set_target_properties',
'target_include_directories',
'target_link_libraries',
'FILES',
'HEADERS',
'INCLUDE_DIRECTORIES',
'LINK_LIBRARIES',
'NAMES',
'PATHS',
'PATH_SUFFIXES',
'SOURCES'
]

with section("parse"):

# Formatting for custom macros
additional_commands = {
"gridkit_add_library": {
"pargs": 1, # Number of initial positional arguments
"flags": [],
"kwargs": {
"SOURCES": "*",
"HEADERS": "*",
"LINK_LIBRARIES": "*",
"INCLUDE_DIRECTORIES": "*",
"COMPILE_OPTIONS": "*",
}
},
"enzyme_build_object": {
"flags": [],
"kwargs": {
"NAME": 1,
"SOURCES": "*",
"LINK_LIBRARIES": "*",
"INCLUDE_DIRECTORIES": "*",
}
}
}

with section("markup"):

# Globally disable comment markup processing
enable_markup = False

# Do not reflow the first comment block in each file
first_comment_is_literal = True
32 changes: 32 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
FROM ubuntu:24.04

RUN apt update -y && apt install -y --no-install-recommends\
gcc \
g++ \
gdb \
make \
cmake \
ninja-build \
git \
ssh \
ca-certificates \
libopenblas-dev \
&& apt clean && rm -rf /var/lib/apt/lists/*

# Install SuiteSparse for klu
RUN git clone --single-branch --depth 1 --branch v7.10.2 https://github.com/DrTimothyAldenDavis/SuiteSparse.git /tmp/suitesparse && \
cd /tmp/suitesparse && \
mkdir -p build && cd build && \
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DSUITESPARSE_ENABLE_PROJECTS="klu" .. && \
ninja install && \
rm -rf /tmp/suitesparse

# Install sundials using klu from previous step
RUN git clone --single-branch --depth 1 --branch v7.4.0 https://github.com/LLNL/sundials.git /tmp/sundials && \
cd /tmp/sundials && \
mkdir -p build && cd build && \
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DENABLE_KLU=ON .. && \
ninja install && \
rm -rf /tmp/sundials
12 changes: 12 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"build": {
"dockerfile": "Dockerfile"
},
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cpptools"
]
}
}
}
15 changes: 15 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[{CMakeLists.txt,*.{cpp,hpp,tpp,sh,h,cu,hip,cmake}}]
indent_style = space
indent_size = 2

[*.{json,m}]
indent_style = space
indent_size = 4
58 changes: 58 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: "\U0001FAB2 Bug report"
description: "Bug in GridKit™ code"
title: "Bug: "
labels: [bug]
body:
- type: textarea
id: reproduce
attributes:
label: "Description how to reproduce the bug"
description: "Please provide launch command and the output when you encounter bug."
value: |
<!-- Include short error output as needed, see example below. -->
```
$ ./gridkit_app
( your output ...)
```
<!-- If the error output is long, attach a file or include it in
a block that can be closed, see below. -->
<details>

```
$ ./gridkit_app
( your output ...)
```

</details>
validations:
required: true

- type: input
id: gridkit-version
attributes:
label: "GridKit™ version"
description: |
Please include the version of GridKit™ which demonstrates the problem.
If building from source on a non-tagged version, please include the commit hash.
validations:
required: true

- type: textarea
id: sys-info
attributes:
label: "System and environment details"
description: |
Please include details about your system, such as:
- Dependencies and their versions
- Operating system
- Compiler(s)
- Hardware backends (CUDA, HIP)
validations:
required: true


- type: textarea
id: additional_information
attributes:
label: "Additional information"
description: "Upload additional debugging information, such as backtrace."
47 changes: 47 additions & 0 deletions .github/ISSUE_TEMPLATE/build_error.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: "\U0001F4A5 Build error"
description: "Unable to build GridKit™"
title: "Build issue: "
labels: [cmake]
body:
- type: textarea
id: reproduce
attributes:
label: "Build error message(s)"
description: "Instructions how to reproduce build failure and the error output."
value: |
<!-- Include build output (from cmake, make or ninja commands). -->
```console
$ make
( some output ...)
```
validations:
required: true

- type: input
id: gridkit-version
attributes:
label: "GridKit™ version"
description: |
Please include the version of GridKit™ which demonstrates the problem.
If building from source on a non-tagged version, please include the commit hash.
validations:
required: true

- type: textarea
id: information
attributes:
label: "System and environment details"
description: |
Please include details about your system, such as:
- Dependencies and their versions
- Operating system
- Compiler(s)
- Hardware backends (CUDA, HIP)
validations:
required: true

- type: textarea
id: additional_information
attributes:
label: "Additional information"
description: "Upload build logs or provide any additional context about the issue."
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: "\U0001F38A Feature request"
description: Suggest adding a feature that is not yet in GridKit™
labels: [feature]
body:
- type: textarea
id: summary
attributes:
label: Summary
description: Please add a concise summary of your suggestion here.
validations:
required: true
- type: textarea
id: rationale
attributes:
label: Rationale
description: Is your feature request related to a problem? Please describe it!
- type: textarea
id: description
attributes:
label: Description
description: Describe the solution you'd like and the alternatives you have considered.
- type: textarea
id: additional_information
attributes:
label: Additional information
description: Add any other context about the feature request here.
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/test_error.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: "\U0001F4A5 Tests error"
description: "Some GridKit™ tests are failing"
title: "Testing issue: "
labels: [testing]
body:
- type: textarea
id: reproduce
attributes:
label: "Failed test outputs or steps to reproduce the failure(s)"
description: |
Fill in the failing test output, errors,
or steps to reproduce the failure(s).
value: |
<!-- Include output of `ctest -VV --rerun-failed`. -->
```console
$ ctest -VV --rerun-failed
( failed tests output ...)
```
validations:
required: true

- type: input
id: gridkit-version
attributes:
label: "GridKit™ version"
description: |
Please include the version of GridKit™ which demonstrates the problem.
If building from source on a non-tagged version, please include the commit hash.
validations:
required: true

- type: textarea
id: information
attributes:
label: "System and environment details"
description: |
Please include details about your system, such as:
- Dependencies and their versions
- Operating system
- Compiler(s)
- Hardware backends (CUDA, HIP)
validations:
required: true


- type: textarea
id: additional_information
attributes:
label: "Additional information"
description: "Upload test logs or provide any additional context about the issue."
Loading
Loading