Roccom: an object-oriented, data-centric software integration framework for multiphysics simulations

We describe an object-oriented software integration framework, Roccom, abstracted from our five years of experience in developing a complex, integrated code for rocket simulation. Roccom provides a flexible mechanism for inter-module data exchange and function invocation in parallel multiphysics simulations. It is designed to minimize user effort and code changes for integration, facilitate interoperability between different programming languages (in particular, C++ and Fortran 90), and enable plug-and-play of different implementations of physics and computer science modules in an integrated system. Its unique abstraction of distributed objects allows cleaner inter-module interfaces and maximizes concurrency in development of different modules. Our framework also provides a set of reusable service utilities that allow rapid prototyping of various coupling algorithms without sacrificing performance.