Multi-Physics Simulation through Code Coupling


There is an increasing need for multidisciplinary simulations in various research and engineering fields. Fluid-structure interaction, magneto-hydro dynamics, thermal coupling, plasma computations, or coupled manufacturing processes define only a subset of potential multiphysics applications.

 

In most cases a single (proprietary) simulation system cannot provide all necessary features. Coupling of the most suitable codes for each necessary discipline will enable more flexibility and simulation quality to the end user.

 

Coupling of different simulation codes, each specialized for a specific physical regime, is becoming more and more important for numerical simulations, both in industry and in research. The reason is that in many real-world applications the interaction of different physical phenomena must be taken into consideration in order to achieve high-quality predictions.




Coupled Simulation Meshes


MpCCI (Mesh-based parallel Code Coupling Interface) has been developed at the Fraunhofer-Institute SCAI in order to provide an application-independent interface for the coupling of different simulation codes.

 

MpCCI is a software environment which enables the exchange of data between the meshes of two or more simulation codes in the coupling region. Since the meshes belonging to different simulation codes are not compatible in general, MpCCI performs an interpolation. In case of parallel codes MpCCI keeps track on the distribution of the domains onto

different processes.

 

MpCCI allows the exchange of nearly any kind of data between the coupled codes; e.g. energy and momentum sources, material properties, mesh definitions, or global quantities. The intricate details of the data exchange are hidden behind the concise interface of MpCCI.

 

Most of the commercial CFD and FEM applications allow users to add additional features, physical models, or boundary conditions via a programming interface. Within these user routines access to internal data structures is possible, either through subroutine parameters, and global variables or via internal modules for reading and storing data. MpCCI uses these capabilities for code adaptation.

A user-subroutine called after each iteration or time step works as a hook to MpCCI.



MpCCI is developed and distributed by Fraunhofer-Institute SCAI.