FMI Integration Clause Samples

FMI Integration. The ▇▇▇ supports version 2 of the FMI Standard, using dynamic load- ing of FMUs. It utilizes the functions listed in Appendix C to orchestrate co-simulations. The ▇▇▇ also supports an INTO-CPS specific function to obtain the maximum step size that a given FMU can accept at a given syn- chronization point during a co-simulation. The need for this function arises from the assumption that a co-simulation should complete as fast as possible, in combination with some looseness in the standard, whereby the roll-back capability has to be provided by an FMU. The standard provides a way to obtain the last successful simulation time once a simulation has failed, but if this is used with FMUs which cannot roll-back, then each discarded doStep will require a complete restart with a new step size which is the last smallest step size known to have executed successfully. While it is possible to per- form a simulation where all FMUs support roll-back it is not be possible to incorporate an FMU with variable step size that cannot roll-back. However, using the custom getMaxStepsize function presented here, together with the variable step size algorithm [BBG+13a], avoids this kind of restart, the need for roll-back, and thus enables faster co-simulations.