Flexible, decoupled simulation platform for complex energy system
The main purpose of the blog posts is to persist some instructions I have written for myself. However, I'm happy if someone else finds these beneficial too.
– Petri Kannisto
Re-published at Kannisto.org on . Originally published at http://www.senecc.fi/flexible-decoupled-simulation-platform-for-complex-energy-system
The electricity distribution system is complex, and the future will introduce new management-related challenges. In the future, there will be even more of distributed energy resources (DER) and renewable energy. On the other hand, the system includes a variety of stakeholders that can either co-operate or compete to gain economical advantage, which is a challenge to management.
Management requires sophisticated software tools, which can be developed with the help of simulation systems, such as Simulation Environment of Complex Energy System (SimCES). SimCES is currently being developed by a joint group of researchers. In SimCES, the simulations are composed of distributed components similar to the real-life energy system. SimCES enables the components to be distributed over a communication network – even Internet – and allows these to execute in any software runtime. Besides, the setup enables the components to seek local advantage, so competitive real-life scenarios can be simulated without a restriction.
To ease the development and management of simulations as well as the analysis of results, SimCES is based on a message bus. The bus is based on the publish-subscribe communication pattern, where each data recipient subscribes to the topics it is interested in to receive related messages. Whenever a topic receives a message from a data source, the message bus delivers this message to the subscribers. The messages are routed to message queues that the recipients process as they can without blocking any other node in the network. A publish-subscribe approach like this enables loose coupling in “time, space and synchronization” [1]. Loose coupling adds flexibility to modifying and parametrizing the simulation network by eliminating any direct physical dependencies between the simulation components. This flexibility facilitates the comparison of how the presence of actors and their properties affect the overall operation.
The message bus uses standardized technologies backed with a solid tool support, which enables software development with a range of platforms. The bus itself is RabbitMQ [2], which implements Advanced Message Queueing Protocol (AMQP) 0-9-1. The messages are serialized as JSON (JavaScript Object Notation).
The following figure illustrates the features of the platform. The supported features are many and exceed those of other simulation platforms: simulation of any real-life scenario including the competition of actors, distribution over Internet, storage of results, platform-independence, loose coupling and standards-based interfaces.
The development work of the platform is currently in progress, but there is already a functional prototype with a few components relevant in electric grids and energy communities. The components include, for example, generators, loads, energy storages, a grid simulator and state monitoring. More features are being developed, such as economic dispatch and grid-wide coordination. Furthermore, the platform already implements message delivery, the coordination of simulation workflow and message logging to enable the analysis of results. The platform itself is domain agnostic, which makes it suitable for a variety of simulation tasks. Still, its energy-oriented motivation promises contribution to the development of the complex energy system of the future.
References
[1] P. T. Eugster, P. A. Felber, R. Guerraoui, and A.-M. Kermarrec, “The many faces of publish/subscribe”, ACM Computing Surveys, vol. 35, no. 2, p. 114–131, Jun. 2003.
[2] RabbitMQ. https://www.rabbitmq.com/