View on GitHub


Smart Grid Simulation Library

SmartGridToolbox Logo


SmartGridToolbox is a C++11 library for developing smart grid simulations, which can be used on Mac OS X or Linux systems. It was developed by the Energy Systems subgroup of National ICT Australia (NICTA)'s Optimisation Research Group, with the help of the Australian National University and Actew-AGL.

SmartGridToolbox's simulation engine uses agent-based and discrete event simulation concepts. Research into future electricity grids requires the ability to handle a wide range of control strategies and simulation components. SmartGridToolbox aims to provide this ability through an API that emphasises flexibility and extensibility.

Getting started

Download or check out a copy of SmartGridToolbox from GitHub. To download a tarball containing the latest release, go to Unpack the archive, and cd into the top level directory.

Alternatively, to check out a local clone of the github repository, you can

git clone

SmartGridToolbox uses the GNU autotools cross platform build system. After obtaining the repository, start a terminal window and make sure you are in the top level directory. Instructions for compiling and installing the code are found in the INSTALL file.

After you have built and installed SmartGridToolbox, you can begin to familiarise yourself with its use. The following introduction to the architecture will be helpful. At present, tutorials are still being developed. Two more complete sample applications can be found in the examples directory. The source code, or doxygen documentation, are your friend.


An introduction to the architecture can be found here.

The tutorials also serve as documentation.

To go beyond this, the primary documentation for the API is via doxygen.


The tutorials can be found in SmartGridToolbox/Tutorials.

Network Tutorial - Construct and solve networks (no simulation).

Simulation Tutorial - Construct and solve a basic simulation.

Properties Tutorial - See how SmartGridToolbox Properties work.


The examples can be found in SmartGridToolbox/Examples.

Building Controller Demo - A demo of optimised control involving PV generation, battery storage and smart HVAC.

PV Demo - Optimized volt-VAR control using PV inverters.