The fundamental topics listed below cover the material necessary to build a fully functional co-simulation with HELICS, written for users who have little to no experience with co-simulation. Each section makes reference to the Fundamental Examples to allow the user to scaffold their learning with concrete and detailed examples. After working through the topics below, the user should be able to write their own simple co-simulation in Python with PyHELICS and understand how access resources improve the development of their co-simulations.
The topics considered “fundamental” to building a co-simualtion with HELICS are:
- HELICS Terminology - Key terms and concepts to understand before running co-simulations with HELICS
- Federates - Discussion of the different types of federates in HELICS and how to configure them.
- Federate Interface Configuration - How to connect an existing simulator with HELICS
- With JSON config file
- With HELICS APIs
- Timing Configuration - How HELICS coordinates the simulation time of all the federates in the federation
- Stages of the Co-simulation
- Logging - Discussion of logging within HELICS and how to control it.
- Execution with helics_cli - The HELICS team has developed
helics_clias a standardized means of running HELICS co-simulations.
- Simulation Management - Using the webserver, HELICS also has a built-in web interface for running, monitoring, and diagnosing co-simulations.