This is experimental code for prototyping interfaces for dynamic simulations, sensitivity analysis and optimization. Target applications are power grids, but the methodology and the framework could be used in other areas without major modifications.
GridKit™ has been built and tested on Linux and Mac platforms. It should be possible to build it on Windows, as well, with Cygwin or native. Before installing GridKit™ make sure you have all needed dependencies.
You should have all of the following installed before installing GridKit™
- A version of
- SUNDIALS >= 7.0.0
- Suitesparse >= 5.x (optional)
- Ipopt >= 3.x (optional)
- CMake >= 3.12
- C++ 17 compliant compiler
GridKit™ uses CMake for build configuration. Per CMake best practices it is recommended to build GridKit™ outside the source directory. Building GridKit™ can be as simple as executing
cmake source_dir
make
make install
in the build directory. Dependencies should be autodetected if they are installed in standard locations, otherwise you need to specify the location of the dependency manually. For example:
cmake -DSUNDIALS_DIR=/path/to/sundials/install source_dir
You can also use ccmake
or cmake-gui
tools to adjust GridKit™ build configuration.
Several examples are built together with GridKit™ libraries. These are also used
as functionality test and executed by running ctest
in the build directory.
GridKit™ is written by Slaven Peles ([email protected]) and has received contributions from Tamara Becejac (Avangrid), R. Cameron Rutherford (PNNL), Asher J. Mancinelli (NVIDIA), and Reid Gomillion (Virginia Tech).