Table of Contents
Fetching ...

Error estimation and step size control with minimal subsystem interfaces

Lars T. Kyllingstad, Severin Sadjina, Stian Skjong

TL;DR

This paper tackles error estimation and macro-step size control for co-simulation with minimal subsystem interfaces. It surveys error-estimation approaches that do not require rollback or internal state access, highlighting three practical methods—NEPCE, explicit predictor/corrector, and ECCO—and shows how to construct a usable scalar error indicator. It then presents a PI-based step-size controller, with pseudocode and an illustrative quarter-car example, offering concrete guidance for implementing robust co-simulation orchestration. The work emphasizes practical recommendations, reliability considerations, and the need for further theoretical analysis of co-simulation as a dynamical system, aiming to enable high-performance, accurate, and scalable simulations with black-box subsystems.

Abstract

We review error estimation methods for co-simulation, in particular methods that are applicable when the subsystems provide minimal interfaces. By this, we mean that subsystems do not support rollback of time steps, do not output derivatives, and do not provide any other information about their internals besides the output variables that are required for coupling with other subsystems. Such "black-box" subsystems are common in industrial applications, and the ability to couple them and run large-system simulations is one of the major attractions of the co-simulation paradigm. We also describe how the resulting error indicators may be used to automatically control macro time step sizes to strike a good balance between simulation speed and accuracy. The various elements of the step size control algorithm are presented in pseudocode so that readers may implement them and test them in their own applications. We provide practicable advice on how to use error indicators to judge the quality of a co-simulation, how to avoid common pitfalls, and how to configure the step size control algorithm.

Error estimation and step size control with minimal subsystem interfaces

TL;DR

This paper tackles error estimation and macro-step size control for co-simulation with minimal subsystem interfaces. It surveys error-estimation approaches that do not require rollback or internal state access, highlighting three practical methods—NEPCE, explicit predictor/corrector, and ECCO—and shows how to construct a usable scalar error indicator. It then presents a PI-based step-size controller, with pseudocode and an illustrative quarter-car example, offering concrete guidance for implementing robust co-simulation orchestration. The work emphasizes practical recommendations, reliability considerations, and the need for further theoretical analysis of co-simulation as a dynamical system, aiming to enable high-performance, accurate, and scalable simulations with black-box subsystems.

Abstract

We review error estimation methods for co-simulation, in particular methods that are applicable when the subsystems provide minimal interfaces. By this, we mean that subsystems do not support rollback of time steps, do not output derivatives, and do not provide any other information about their internals besides the output variables that are required for coupling with other subsystems. Such "black-box" subsystems are common in industrial applications, and the ability to couple them and run large-system simulations is one of the major attractions of the co-simulation paradigm. We also describe how the resulting error indicators may be used to automatically control macro time step sizes to strike a good balance between simulation speed and accuracy. The various elements of the step size control algorithm are presented in pseudocode so that readers may implement them and test them in their own applications. We provide practicable advice on how to use error indicators to judge the quality of a co-simulation, how to avoid common pitfalls, and how to configure the step size control algorithm.
Paper Structure (24 sections, 26 equations, 11 figures, 2 tables, 3 algorithms)

This paper contains 24 sections, 26 equations, 11 figures, 2 tables, 3 algorithms.

Figures (11)

  • Figure 1: (\ref{['fig:toy_system_errors_outputs']}) Subsystem outputs and (\ref{['fig:toy_system_errors_powers']}) transmitted power and total system energy for a 1-D mass--spring harmonic oscillator. There is a lag in the co-simulated results (solid) compared to the monolithic simulation (dashed), and this has important consequences: The output values are consistently too large in magnitude, and so is the flow of energy between the subsystems. This erroneously inflates the system's energy, distorting its dynamics and destabilising it as a manifestation of co-simulation errors.
  • Figure 2: Phase space diagram of subsystem outputs for a 1-D mass--spring harmonic oscillator. Without damping (\ref{['fig:toy_system_phase_diagrams_undamped']}), the system is unstable for any finite macro step sizes (marginally stable), and the co-simulation (solid) diverges from the stable monolithic simulation (dashed). But even with damping present (\ref{['fig:toy_system_phase_diagrams_damped']}), the co-simulation can still become unstable.
  • Figure 3: Local input error estimation according to the nearly energy-preserving coupling element (NEPCE) benedikt2013nepce for the harmonic oscillator co-simulation example from \ref{['subsec:errorestimation_example']} without (\ref{['fig:error_estimate_nepce_undamped']}) and with (\ref{['fig:error_estimate_nepce_damped']}) damping.
  • Figure 4: Local output error estimation based on an explicit predictor/corrector approach busch2012effizienten for the harmonic oscillator co-simulation example from \ref{['subsec:errorestimation_example']} without (\ref{['fig:error_estimate_nepce_undamped']}) and with (\ref{['fig:error_estimate_nepce_damped']}) damping.
  • Figure 5: Local energy error estimation according to the energy-conservation-based co-simulation methodsadjina2016energy (ECCO) for the harmonic oscillator co-simulation example from \ref{['subsec:errorestimation_example']} without (\ref{['fig:error_estimate_nepce_undamped']}) and with (\ref{['fig:error_estimate_nepce_damped']}) damping.
  • ...and 6 more figures