Parallel Execution of Functional Mock-up Units in Buildings Modeling
- Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States)
A Functional Mock-up Interface (FMI) defines a standardized interface to be used in computer simulations to develop complex cyber-physical systems. FMI implementation by a software modeling tool enables the creation of a simulation model that can be interconnected, or the creation of a software library called a Functional Mock-up Unit (FMU). This report describes an FMU wrapper implementation that imports FMUs into a C++ environment and uses an Euler solver that executes FMUs in parallel using Open Multi-Processing (OpenMP). The purpose of this report is to elucidate the runtime performance of the solver when a multi-component system is imported as a single FMU (for the whole system) or as multiple FMUs (for different groups of components as sub-systems). This performance comparison is conducted using two test cases: (1) a simple, multi-tank problem; and (2) a more realistic use case based on the Modelica Buildings Library. In both test cases, the performance gains are promising when each FMU consists of a large number of states and state events that are wrapped in a single FMU. Load balancing is demonstrated to be a critical factor in speeding up parallel execution of multiple FMUs.
- Research Organization:
- Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States)
- Sponsoring Organization:
- USDOE Office of Energy Efficiency and Renewable Energy (EERE)
- DOE Contract Number:
- AC05-00OR22725
- OSTI ID:
- 1257905
- Report Number(s):
- ORNL/TM-2016/173; BT0305000; CEBT105
- Country of Publication:
- United States
- Language:
- English
Similar Records
A Flexible and Generic Functional Mock-up Unit Based Threat Injection Framework for Grid-interactive Efficient Buildings: A Case Study in Modelica
Development of the IES Plug-and-Play Framework