20-sim supports the Functional Mock-up Interface (FMI) standard (http://fmi-standard.org/) for tool independent exchange of simulation models. The FMI defines an interface to be implemented by an executable called FMU (Functional Mock-up Unit). The FMI functions are called by a simulation environment to create one or more instances of the FMU and to simulate them, typically together with other models. An FMU may either have its own solvers (FMI for Co-Simulation) or require the simulation environment to perform numerical integration (FMI for Model Exchange). The FMI standard has currently two versions FMI 1.0 and FMI 2.0.
A simulation tool that can import and simulate one or more FMUs is a FMI master. The FMU is a FMI slave.
20-sim implements the FMI 2.0 interface for Co-Simulation. 20-sim supports both importing and exporting FMUs. You can import an FMU in 20-sim as a special submodel and you can export a 20-sim submodel as an FMU. 20-sim implements an FMI master algorithm to run an FMU inserted into your model.
20-sim 4.7 supports:
|•||FMI 2.0 Co-Simulation FMU|
|•||FMI 1.0 Co-Simulation FMU (Standalone)|
|•||FMI 2.0 Co-Simulation FMU (Standalone)|
|•||FMI 2.0 Co-Simulation FMU (Tool-wrapper)|
|•||Standalone: This FMU can be exported from a 20-sim submodel using C-code generation. It does not depend on the original 20-sim model or your 20-sim license and can be used standalone. However, this type of FMU can only be exported if the submodel is exportable as C-code.|
|•||Tool-wrapper: This FMU can be exported from a 20-sim model with a Co-simulation Interface. A tool-wrapper FMU is a communication FMU that opens the original model in the modelling tool and takes care of remotely executing the co-simulation steps inside 20-sim. It uses the 20-sim Scripting Toolbox to communicate with 20-sim to exchange inputs/outputs and parameters.|