MpCCI CouplingEnvironment
: Co-Simulation Application Types
Coupling Analysis of Steady State Solutions
For stationary problems, it is assumed that there is exactly one solution of the coupled problem, which shall be found. The coupling algorithm does not have a big influence on the solution in this case.
Coupling Analysis of Transient Solutions
Typical applications focus on the transient effect of the coupled solution, e.g. pressure oscillation, heat dissipation, etc. The fully transient analysis provides an accurate solution. As the solution is dominated by the time component several co-simulation approaches are supported by MpCCI CouplingEnvironment:
Fixed coupling time step size : in this configuration both simulations are constrained to use the same coupling time step size during the complete co-simulation. The time step size is equally defined in each application in this case and there is no need to exchange this time information.
Exchange of time step size : instead of using a fixed coupling time step size it is also possible to use adaptive time stepping. In this case the time step size is determined by one code and sent to the partner code, which changes its own time step to the received value.
Non-matching time step size : codes may run at different local time stepping and also exchange data at non-matching points in time. MpCCI CouplingEnvironment takes care of a proper ‘interpolation in time’ for the coupled physical quantities. MpCCI CouplingEnvironment offers three different methods for the data time-interpolation: constant, linear, and cubic.
Coupling Analysis of Mixed Solutions Steady State and Transient
A fully transient coupling is challenging because of the great disparities of the physical models between the coupled domains (e.g. fluid-structure, fluid-electromagnetics, FEM structural analysis and discrete element models for particles) and the high computational time. The main difficulty is due to the significant discrepancy of characteristic times since the transient phenomena in the fluid usually take place at a much smaller time scale than those in the solid. The fully transient coupling method describing the transient effects in both coupled domains leads to a highly accurate solution but might be too expensive for some applications. As a computationally cheaper mode you can couple transient models with a sequence of steady state models:
Full-vehicle thermal management of driving cycles : In this coupling procedure you should adopt a coupling interval which is at least equal to the solid time step. The flow solution is considered as a sequence of steady state solutions and in the solid the fields evolve in a fully transient manner. This co-simulation provides a flexible solution approach to consider driving cycles. A good compromise between a high computational time and modeling of transient physics is provided by a co-simulation of the transient thermal model with steady-state fluid models in a pseudo-transient approach.
Magnetohydrodynamic analysis for electric arcs : In this application you may assume a steady state computation of the electromagnetic phenomena because the electromagnetic phenomena are faster than the gas dynamic. The Maxwell equations will be solves as a sequence of steady state solutions whereas in the fluid the Navier-Stockes equations evolve in fully transient manner.
High Performant Coupling Server
The MpCCI CouplingEnvironment offers a high performant exchange of data between the coupled codes. In a very simple but FSI-like benchmark two basic codes running on a standard workstation and exchange pseudo-physical data at high speed. For surface meshes of ~4K nodes on each side the internal server engine of the MpCCI CouplingEnvironment can execute
up to ~400 exchanges per second if the mesh definitions in the coupled codes are incompatible and fixed (identical) coupling time steps are used on both sides
if conformal mesh definitions and non-matching-time steps with a ratio of 1/10 are used the code with the coarser time step can send ~200 data sets per second while the ‘fine’ code can receive up to ~2,000 (interpolated-in-time) data sets per second