A co-simulation process flow is similar to a parallel simulation process flow except that in a parallel flow there is no guarantee that components in the different branches will ever be executing at the same time. It is possible that they execute at the same time, but the SIMULIA Execution Engine may choose to execute them sequentially, with partial overlap, or in subsets at different times. Once started, the components in the co-simulation group must establish communications with each other and coordinate their own simulations. The SIMULIA Execution Engine provides some means for the co-simulation components to establish inter-communications through a bulletin board; see Co-Simulation in the Isight Development Guide. The model below shows an example of a co-simulation process flow, in which each component in the co-simulation group is highlighted with a dashed box. In this example, component A will execute first. When it completes, components B, C, and D will be started at the same time. When component C completes, component E will be executed. Component E does not wait for the entire co-simulation group to complete; it depends only on the completion of component C. All of the components in the co-simulation group do not in fact begin to execute at the exact same moment in time. Each component will be executed on a selected SIMULIA Execution Engine station independently. Your co-simulation components must coordinate their startup or initialization activities with each other. The SIMULIA Execution Engine only guarantees that all of the components in the group will begin execution within a finite amount of time and that there will be sufficient resources available for them all to run. Co-simulation process flows have the following limitations:
|