Implementation and Comparison of Model Co-Simulation Methods in a Turbofan Model 2020-01-0003
The process of developing, parameterizing, validating, and maintaining models occurs within a wide variety of tools, and requires significant time and resources. To maximize model utilization, models are often shared between various toolsets and experts. Model integration is typically divided into two categories: model exchange and model co-simulation. Of these two categories, model co-simulation is typically regarded as the more complex and difficult to implement. Co-Simulation provides the ability to integrate models between different toolsets or incompatible versions of the same software. Additionally, it provides the capabilities for real-time simulations and hardware-in-the-loop test scenarios. This paper reviews some of the common co-simulation data communication methods including pipes and file input/output. The differences between serial and parallel, aka synchronous and asynchronous, communication patterns are also discussed. A simple turbofan model was developed to demonstrate the aforementioned methods. The turbofan model was developed in a legacy version of NPSS, and this legacy model was integrated with a high-fidelity turbine model developed in a newer version of the NPSS software. The integration of the legacy turbojet model with the high-fidelity turbine is used to demonstrate how to integrate two models between incompatible software versions. This application can readily be extended to other co-simulation scenarios, such as real-time simulation. Integration of the two models was implemented using the aforementioned communication methods, synchronization mechanisms, and communication patterns. Relevant implementation details for the turbojet/turbine application are described, and a detailed discussion of the results and comparisons between different methods is provided.