# Cosimulation Introduction¶

## Simulation Models (1/3)¶

• Markets
• Transmission
• Distribution
• Devices
• Communication
• Controls

• Transient
• Dynamic
• 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”

## 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 [ ]: