Toggle navigation
JUPYTER
FAQ
View as Slides
View as Code
Python 3 Kernel
View on GitHub
Execute on Binder
Download Notebook
openmod-2019-helics-tutorial
notebooks
Notebook
Cosimulation Introduction
¶
Simulation Models (1/3)
¶
Markets
Transmission
Distribution
Devices
Communication
Controls
Loads
Simulation Models (2/3)
¶
Transient
Dynamic
Steady-State
Planning
Simulation Models (3/3)
¶
Technical
Economic
Techno-economic
Solutions
¶
Simplify models
Bigger Computer
Co-simulation
What is co-simulation?
¶
Execution of multiple distinct simulation objects together in coherent fashion
Co-simulation is used whenever a single simulator is insufficient to answer the relevant questions
Why co-simulation?
¶
Lots of effort has gone into (sub) domain-specific tools. (So use them)
Trusted by stakeholders
Continue to improve
Allows focus on the “glue-ware”
Faster prototyping for research
Many frameworks
Encourages Modularity
Swap models as needed
HELICS
¶
Capabilities:
Scalable
: 2-100,000+ Federates
Cross-platform
: HPC (Linux), Cloud, Workstations, Laptops (Windows/OSX)
Modular
: mix and match tools
Minimally invasive
: easy to use lab/commercial/open tools
Open Source
: BSD-style.
Many Simulation Types
:
Discrete Event
QSTS
Dynamics
Co-iteration enabled
: “tight coupling”
HELICS Interfaces to key domain simulators
¶
Cosimulation of Electrical Grid, Thermodynamics of Houses, and Control Systems
¶
Architecture of Cosimulation (1/2)
¶
Architecture of Cosimulation (2/2)
¶
Terminology
¶
Federate - An individual simulator that is computing something interesting and communicating with other simulators
Core - An object managing the interactions of one or more federates
Broker - An object coordinating multiple cores or brokers:
There can be several layers of brokers
Root broker - The root broker in the hierarchy
Last chance router
Responsible for determining when to enter initialization mode for the federation
Federation - The set of all federates executing together in a single co-simulation
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]: